本帖最后由 PotatoMaster101 于 2017-12-3 16:05 编辑
1.13大指令改革把PM蹦出来了!
今天来带大家玩弄玩弄1.13版的/execute指令。
刚开始玩当然是玩弄最基础的两个模式:as和at:
复制代码让满地图的猪都叫“I'm a pig!”。当然如果猪太多的话会起到刷屏效果,用这条指令来改善:
复制代码这样子地图里最近的猪会大叫“I'm a pig!”。以上都用这个as来实现,意思是直接以猪的名义来运行指令。后面这个run的意思就是“执行”。
当然把as换成at也会有几乎相同的效果,只不过是一个坐标的问题而已。使用以下指令:
复制代码这样子就不是猪大叫“I'm a pig!”,而是执行指令的东西大叫“I'm a pig!”,可以是CB或者玩家。at就不像as那样子返回一个实体,at是返回一个坐标。
有时候我们要返回一个和实体为中心但有偏差的坐标,这样子可以使用offset来实现:
复制代码让猪上方30格地方刷出一个TNT,首先会执行at返回猪的坐标,然后会执行offset将坐标的y加30。十分的简单。
这些东西叠加也没什么关系:
复制代码意思同上,让猪上方30格地方刷出一个TNT。用了3个offset y+10后就相当于y+30。十分的简单。
还有一个好玩的东西叫align,这个也是和坐标有关系的东西。意思是让返回的坐标变成一个整数:
复制代码这个让地图内所有的猪的地方刷一个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,玩过编程的童鞋都知道什么意思:
复制代码如果地图内有猪,那么执行指令的东西就会说“hello”。当然要让什么实体运行say的话可以加一个as进去,这个就不用举例了。
unless直接反转if:
复制代码地图上没有猪的话,执行指令的东西才会说“hello”。当然if不一定要是探测实体,还可以探测方块或者一个区域的方块,或者探测两个积分。比如:
复制代码在funnnn变量内,测试分数a是否大于分数b,是的话就说“pass”。可以用的一些比较符是<, <=, >, >=, = 。
最好玩的东西来自于store,好比当年最好玩的/stats指令。store内有两个选项:result和success。当年一起玩弄CB的童鞋们一定知道/stats有AffectedBlocks,SuccessCount,AffectedEntities等等。store内的success就是SuccessCount,result就是四个其他的变量。一起玩CB的童鞋们还知道用/stats的话最好使用记分板假名来保存积分,然而这个store极为NB,可以直接将输出写入到某个实体/方块的NBT内(除了玩家)。举个例子:
复制代码选择地图内每一个僵尸,运行if entity @e[name=FasterZombie]来探测地图里有没有叫“FasterZombie”的这个实体。有的话就把那个僵尸的IsBaby这个NBT调成1,效果就是僵尸瞬间变成了小僵尸。由于使用@e的话会导致/execute给每一个僵尸都执行一遍指令,所以使用@s来让目前的僵尸变NBT。 再来一些好玩的:复制代码复制代码复制代码复制代码以上这些什么意思就不多说了,自己理解。233
======End======
1.13大指令改革把PM蹦出来了!
今天来带大家玩弄玩弄1.13版的/execute指令。
刚开始玩当然是玩弄最基础的两个模式:as和at:
- /execute as @e[type=pig] run say I'm a pig!
- /execute as @e[type=pig,limit=1,sort=nearest] run say I'm a pig!
当然把as换成at也会有几乎相同的效果,只不过是一个坐标的问题而已。使用以下指令:
- /execute at @e[type=pig,limit=1,sort=nearest] run say I'm a pig!
有时候我们要返回一个和实体为中心但有偏差的坐标,这样子可以使用offset来实现:
- /execute at @e[type=pig,limit=1,sort=nearest] offset ~ ~30 ~ run summon tnt
这些东西叠加也没什么关系:
- /execute at @e[type=pig,limit=1,sort=nearest] offset ~ ~10 ~ offset ~ ~10 ~ offset ~ ~10 ~ run summon tnt
还有一个好玩的东西叫align,这个也是和坐标有关系的东西。意思是让返回的坐标变成一个整数:
- /execute at @e[type=pig] align xyz run summon minecraft:armor_stand ~ ~ ~
更好玩的东西来自于if和unless,玩过编程的童鞋都知道什么意思:
- /execute if entity @e[type=pig] run say hello
unless直接反转if:
- /execute unless entity @e[type=pig] run say hello
- /execute if score a funnnn > b funnnn run say 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]
- /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
======End======
PM还活着哎
pm复活,是人性的扭曲还是道德的沦丧
本来看1.13的更新日志的xecute看的一头雾水
这么一看,还挺简单的,,
本来看1.13的更新日志的xecute看的一头雾水
这么一看,还挺简单的,,
我看到了谁!!
史前大佬诶
史前大佬诶
突然诈尸……
只是现在快照命令感觉还有挺多问题的,像success和result的行为就有点奇怪
只是现在快照命令感觉还有挺多问题的,像success和result的行为就有点奇怪
我想问能不能execute和tp配合?
function+execute使用更佳
gameLoopFunction:
wrapped.mcfunction:
bugjang连续n个快照不修复macos崩溃问题
gameLoopFunction:
wrapped.mcfunction:
sjx 发表于 2017-12-3 19:46
function+execute使用更佳
gameLoopFunction:
然后不明真像的玩家在那瞎转鼠标
"啊啊啊啊怎么回事,别让我走,啊我怎么钻墙里了……"
"萌新 窒息身亡"
坐等大佬发下一个1.13命令教程帖
那怎么检测半径内的实体,testfor @e[r=]都没了
ruhuasiyu 发表于 2017-12-3 12:52
突然诈尸……
只是现在快照命令感觉还有挺多问题的,像success和result的行为就有点奇怪 ...
我已经提交到jira了
WOW滋磁PM
表示1.10以后就不知道MC更新了啥了=.=
表示1.10以后就不知道MC更新了啥了=.=
乍一看貌似execute只能让生物说话?
玩转1.13这么厉害版本了
命令方块的玩法靠你了!