当前位置: 我的世界 > 游戏攻略 > 正文

我的世界1.13新的/execute指令详解

小编:铅笔时间:2018-01-26 14:00回到游戏园首页

  今天小编为大家解析一下我的世界1.13新的/execute指令,让玩家知道这个指令怎么使用,想知道的玩家一定要看下面的内容!

  1.13大指令改革把PM蹦出来了!

  今天来带大家玩弄玩弄1.13版的/execute指令。

  刚开始玩当然是玩弄最基础的两个模式:as和at:

  /execute as @e[type=pig] run say I'm a pig!

  让满地图的猪都叫“I'm a pig!”。当然如果猪太多的话会起到刷屏效果,用这条指令来改善:

  /execute as @e[type=pig,limit=1,sort=nearest] run say I'm a pig!

  这样子地图里最近的猪会大叫“I'm a pig!”。以上都用这个as来实现,意思是直接以猪的名义来运行指令。后面这个run的意思就是“执行”。

  当然把as换成at也会有几乎相同的效果,只不过是一个坐标的问题而已。使用以下指令:

  /execute at @e[type=pig,limit=1,sort=nearest] run say I'm a pig!

  这样子就不是猪大叫“I'm a pig!”,而是执行指令的东西大叫“I'm a pig!”,可以是CB或者玩家。at就不像as那样子返回一个实体,at是返回一个坐标。

  有时候我们要返回一个和实体为中心但有偏差的坐标,这样子可以使用offset来实现:

  /execute at @e[type=pig,limit=1,sort=nearest] offset ~ ~30 ~ run summon tnt

  让猪上方30格地方刷出一个TNT,首先会执行at返回猪的坐标,然后会执行offset将坐标的y加30。十分的简单。

  这些东西叠加也没什么关系:

  /execute at @e[type=pig,limit=1,sort=nearest] offset ~ ~10 ~ offset ~ ~10 ~ offset ~ ~10 ~ run summon tnt

  意思同上,让猪上方30格地方刷出一个TNT。用了3个offset y+10后就相当于y+30。十分的简单。

  还有一个好玩的东西叫align,这个也是和坐标有关系的东西。意思是让返回的坐标变成一个整数:

  /execute at @e[type=pig] align xyz run summon minecraft:armor_stand ~ ~ ~

  这个让地图内所有的猪的地方刷一个armor stand,但是:这个armor stand必定会在方块的中间。如果猪在<1.3, 2.5, 3.8>,那么armor stand就会在<1, 2, 3>。好比编程时候把一个float/double转换成一个int。后面的xyz可以是任何组合,去掉一个也没关系,比如 xy,yzx,xz等等,去掉一个的话就代表那个axis不会被换整数。

  更好玩的东西来自于if和unless,玩过编程的童鞋都知道什么意思:

  /execute if entity @e[type=pig] run say hello

  如果地图内有猪,那么执行指令的东西就会说“hello”。当然要让什么实体运行say的话可以加一个as进去,这个就不用举例了。

  unless直接反转if:

  /execute unless entity @e[type=pig] run say hello

  地图上没有猪的话,执行指令的东西才会说“hello”。当然if不一定要是探测实体,还可以探测方块或者一个区域的方块,或者探测两个积分。比如:

  /execute if score a funnnn > b funnnn run say pass

  在funnnn变量内,测试分数a是否大于分数b,是的话就说“pass”。可以用的一些比较符是<, <=, >, >=, = 。

  最好玩的东西来自于store,好比当年最好玩的/stats指令。store内有两个选项:result和success。当年一起玩弄CB的童鞋们一定知道/stats有AffectedBlocks,SuccessCount,AffectedEntities等等。store内的success就是SuccessCount,result就是四个其他的变量。一起玩CB的童鞋们还知道用/stats的话最好使用记分板假名来保存积分,然而这个store极为NB,可以直接将输出写入到某个实体/方块的NBT内(除了玩家)。举个例子:

  /execute as @e[type=zombie] store success entity @s IsBaby byte 1 if entity @e[name=FasterZombie]

  选择地图内每一个僵尸,运行if entity @e[name=FasterZombie]来探测地图里有没有叫“FasterZombie”的这个实体。有的话就把那个僵尸的IsBaby这个NBT调成1,效果就是僵尸瞬间变成了小僵尸。由于使用@e的话会导致/execute给每一个僵尸都执行一遍指令,所以使用@s来让目前的僵尸变NBT。 再来一些好玩的:/execute as @e[type=!player] store result entity @s Motion[1] double 1 run data get entity @s OnGround 5

  /execute as @e[type=creeper] store result entity @s ignited byte 1 run data get entity @s OnGround

  /execute as @e[type=item] store result entity @s Item.Count byte 64 run data get entity @s OnGround

  /execute as @e[type=slime] store result entity @s Size int 1 run effect give @e minecraft:blindness 1 1 true

  以上这些什么意思就不多说了,自己理解。233

  ======End======

分享到:更多

游戏信息

我的世界
我的世界类型:休闲娱乐平台:PC,iOS,安卓电脑版下载
  • 游戏大礼包
  • 手游开测表