本帖最后由 song2006 于 2019-8-14 12:30 编辑
相信很多人在经历1.13的命令大改后都不会用execute了吧
那就跟我一起从头学习一下1.13的execute新语法吧

命令格式:/execute [修饰子命令] [修饰子命令参数] ... [条件子命令] [条件子命令判断类型] [条件判断内容] ... [储存子命令] [储存子命令参数] ... [run子命令] [要运行的具体命令]
从上面看到,execute的所有参数都是可选的,说明这条命令有着极大的拓展性(那run和要执行的命令都可以没有??这个留到后面讲)
举个例子:/execute as @e[type=item] run say 我是物品
- 让所有的掉落物都说一句“我是物品”。
举个例子:/execute at @a run summon pig ~ ~2 ~
- 让所有的玩家头上生成一头猪。
举个例子:/execute align xyz run tp @s ~ ~ ~
- 把你的坐标偏正为方块中心的位置。
其实我也没读懂......还是不举例免得误导别人吧
举个例子:/execute facing entity @e[type=armor_stand,limit=1,sort=nearest] feet run tp @s ~ ~ ~ ~ ~
- 使你面向最近的一个盔甲架。
举个例子:/execute in the_nether run tp ~ ~ ~
- 把你传送到下界,但坐标不变。
举个例子:/execute positioned 0 0 0 run kill @a[distance=..10]
- 清除所有靠近坐标0,0,0十格以内的玩家。
举个例子:/execute rotated as @e[type=armor_stand,limit=1,sort=nearest] run tp @s ~ ~ ~ ~ ~
- 使你的朝向与最近的一个盔甲架相同。请注意和facing中的例子区分。
格式:/execute ... <if|unless> block <坐标> <方块>
方块一栏可以填写方块英文名称,也可以填写一个方块标签(表示判断这个方块是否拥有指定标签)。支持方块状态和NBT标签的判断。
举个例子:/execute as @a at @a if block ~ ~-1 ~ #minecraft:wool run kill @s
- 如果玩家脚下是羊毛,则清除该玩家。
格式:/execute ... <if|unless> blocks <区域1的起点坐标> <区域1的终点坐标> <区域2的坐标> <all|masked>
坐标的填写格式与/clone相同。all模式表示选中并比较区域内所有的方块,masked则会忽略空气方块和结构空位。
举个例子:/execute if blocks ~ ~-1 ~ ~ ~-1 ~ 20 5 60 all run give @s diamond
- 如果玩家脚下的方块和处于20,5,60坐标的方块相同,给予玩家一个钻石。
格式:/execute ... <if|unless> data <block|entity> <选择器|方块坐标> <指定NBT标签|NBT索引路径>
只有在block模式下才能使用方块坐标,在entity模式下才能使用选择器。NBT索引路径的格式详见这里。
举个例子:/execute if data entity @s {example:20s}
格式:/execute ... <if|unless> entity <选择器>
这么简单我还是不举例子了吧
格式:/execute ... <if|unless> score <选择器> <目标记分项> <运算符> <要比较的实体选择器> <要比较的目标计分项>
举个例子:/execute if score @s foo matches 2..10 run effect give @s speed 30
格式:/execute ... <if|unless> score <选择器> <目标记分项> <运算符> <要比较的实体选择器> <要比较的目标计分项>
举个例子:/execute if score @s foo matches 2..10 run effect give @s speed 30
后面的内容可能有点难懂,萌新请跳过或左转
success会储存命令的成功次数。一般来说它返回的值只能是0或1,如果和as连用使多个实体执行同一命令,那么有多少个实体成功执行了命令,返回值就为几。
格式:
/execute ... store <result|success> score <选择器> <目标记分项>
将返回的值储存为指定实体的计分项。
/execute ... store <result|success> <block|entity> <方块坐标|实体选择器> <NBT索引路径> <byte|double|float|int|long|short> <倍率>
将返回的值先乘上指定倍率,再储存到指定方块或实体的NBT中。浅黄色背景部分表示储存值的数据类型。如果储存为float或double等小数类型,那么会先乘以倍率后向下取整。这个命令只能替换现有的NBT值,不能创造新的标签。
/execute ... store <result|success> bossbar <boss栏的id> <value|max>
将返回的值储存到boss栏的当前值或上限值。
举几个例子:
/execute as @a store success score #fakeman players run trigger foo
- 将玩家数量的值储存到#fakeman的players分数中。假设foo触发器存在,没有任何用途,并且一直保持开启。
/execute store result score #fakeman entity run kill @e[type=!player]
- 清除世界上所有除玩家外的实体,并将实体的数量储存到#fakeman的entity分数中。


那就跟我一起从头学习一下1.13的execute新语法吧

1.基本语法
命令格式:/execute [修饰子命令] [修饰子命令参数] ... [条件子命令] [条件子命令判断类型] [条件判断内容] ... [储存子命令] [储存子命令参数] ... [run子命令] [要运行的具体命令]
从上面看到,execute的所有参数都是可选的,说明这条命令有着极大的拓展性(那run和要执行的命令都可以没有??这个留到后面讲)
2.run子命令
它的作用很简单:执行一条命令。这个子命令比较特殊,只能放在execute的最末尾。
举个例子:/execute run setblock ~ ~ ~ stone
- 和一般的命令没有区别,就是在当前位置放一个石头。
3.修饰子命令
举个例子:/execute as @e[type=item] run say 我是物品
- 让所有的掉落物都说一句“我是物品”。
举个例子:/execute at @a run summon pig ~ ~2 ~
- 让所有的玩家头上生成一头猪。
举个例子:/execute align xyz run tp @s ~ ~ ~
- 把你的坐标偏正为方块中心的位置。
其实我也没读懂......还是不举例免得误导别人吧
举个例子:/execute facing entity @e[type=armor_stand,limit=1,sort=nearest] feet run tp @s ~ ~ ~ ~ ~
- 使你面向最近的一个盔甲架。
举个例子:/execute in the_nether run tp ~ ~ ~
- 把你传送到下界,但坐标不变。
举个例子:/execute positioned 0 0 0 run kill @a[distance=..10]
- 清除所有靠近坐标0,0,0十格以内的玩家。
举个例子:/execute rotated as @e[type=armor_stand,limit=1,sort=nearest] run tp @s ~ ~ ~ ~ ~
- 使你的朝向与最近的一个盔甲架相同。请注意和facing中的例子区分。4.条件子命令
格式:/execute ... <if|unless> block <坐标> <方块>
方块一栏可以填写方块英文名称,也可以填写一个方块标签(表示判断这个方块是否拥有指定标签)。支持方块状态和NBT标签的判断。
举个例子:/execute as @a at @a if block ~ ~-1 ~ #minecraft:wool run kill @s
- 如果玩家脚下是羊毛,则清除该玩家。
格式:/execute ... <if|unless> blocks <区域1的起点坐标> <区域1的终点坐标> <区域2的坐标> <all|masked>
坐标的填写格式与/clone相同。all模式表示选中并比较区域内所有的方块,masked则会忽略空气方块和结构空位。
举个例子:/execute if blocks ~ ~-1 ~ ~ ~-1 ~ 20 5 60 all run give @s diamond
- 如果玩家脚下的方块和处于20,5,60坐标的方块相同,给予玩家一个钻石。
格式:/execute ... <if|unless> data <block|entity> <选择器|方块坐标> <指定NBT标签|NBT索引路径>
只有在block模式下才能使用方块坐标,在entity模式下才能使用选择器。NBT索引路径的格式详见这里。
举个例子:/execute if data entity @s {example:20s} - 判断执行者的example标签的值是否为short类型的20。
格式:/execute ... <if|unless> entity <选择器>
这么简单我还是不举例子了吧
格式:/execute ... <if|unless> score <选择器> <目标记分项> <运算符> <要比较的实体选择器> <要比较的目标计分项>或:/execute ... <if|unless> score <选择器> <目标记分项> matches <数值范围>数值范围的表示方法参照1.13的新方式。
举个例子:/execute if score @s foo matches 2..10 run effect give @s speed 30 - 如果执行者的foo分数在2~10之间,那么给予执行者速度效果30秒。
格式:/execute ... <if|unless> score <选择器> <目标记分项> <运算符> <要比较的实体选择器> <要比较的目标计分项>或:/execute ... <if|unless> score <选择器> <目标记分项> matches <数值范围>数值范围的表示方法参照1.13的新方式。
举个例子:/execute if score @s foo matches 2..10 run effect give @s speed 30 - 如果执行者的foo分数在2~10之间,那么给予执行者速度效果30秒。
5.储存子命令
后面的内容可能有点难懂,萌新请跳过或左转
success会储存命令的成功次数。一般来说它返回的值只能是0或1,如果和as连用使多个实体执行同一命令,那么有多少个实体成功执行了命令,返回值就为几。
格式:
/execute ... store <result|success> score <选择器> <目标记分项>
将返回的值储存为指定实体的计分项。
/execute ... store <result|success> <block|entity> <方块坐标|实体选择器> <NBT索引路径> <byte|double|float|int|long|short> <倍率>
将返回的值先乘上指定倍率,再储存到指定方块或实体的NBT中。浅黄色背景部分表示储存值的数据类型。如果储存为float或double等小数类型,那么会先乘以倍率后向下取整。这个命令只能替换现有的NBT值,不能创造新的标签。
/execute ... store <result|success> bossbar <boss栏的id> <value|max>
将返回的值储存到boss栏的当前值或上限值。
举几个例子:
/execute as @a store success score #fakeman players run trigger foo
- 将玩家数量的值储存到#fakeman的players分数中。假设foo触发器存在,没有任何用途,并且一直保持开启。
/execute store result score #fakeman entity run kill @e[type=!player]
- 清除世界上所有除玩家外的实体,并将实体的数量储存到#fakeman的entity分数中。

6.结束语
可以看到,其实1.13的命令大改是把命令变得更好理解(英文国家)、更好用了。
所以不要惧怕这种大的改变,
要积极地去学习与了解。
一位mcbbs萌新写的第一篇教程帖,若有错误欢迎指出,还请大佬们多多包涵。
部分内容引自中文Minecraft Wiki:
命令/execute
命令/stats
命令
计分板
命令#通过分数选择目标
命令/bossbar
教程/NBT与JSON#NBT路径的表示方法
欢迎评分送人气丫
相信很多人在经历1.13的命令大改后都不会用execute了吧

那就跟我一起从头学习一下1.13的execute新语法吧

1.基本语法
命令格式:/execute [修饰子命令] [修饰子命令参数] ... [条件子命令] [条件子命令判断类型] [条件判断内容] ... [储存子命令] [储存子命令参数] ... [run子命令] [要运行的具体命令]
从上面看到,execute的所有参数都是可选的,说明这条命令有着极大的拓展性(那run和要执行的命令都可以没有??这个留到后面讲)
2.run子命令
它的作用很简单:执行一条命令。这个子命令比较特殊,只能放在execute的最末尾。
举个例子:/execute run setblock ~ ~ ~ stone
- 和一般的命令没有区别,就是在当前位置放一个石头。
3.修饰子命令
- 什么是修饰子命令?
修饰子命令可以更改命令运行的环境。例如模拟指定实体对象、模拟指定位置等。一个execute可以套多个修饰子命令,系统会由左到右依次解析。
- 修饰子命令-as
举个例子:/execute as @e[type=item] run say 我是物品
- 让所有的掉落物都说一句“我是物品”。
- 修饰子命令-at
举个例子:/execute at @a run summon pig ~ ~2 ~
- 让所有的玩家头上生成一头猪。
- 修饰子命令-align
举个例子:/execute align xyz run tp @s ~ ~ ~
- 把你的坐标偏正为方块中心的位置。
- 修饰子命令-anchored
其实我也没读懂......还是不举例免得误导别人吧
- 修饰子命令-facing
举个例子:/execute facing entity @e[type=armor_stand,limit=1,sort=nearest] feet run tp @s ~ ~ ~ ~ ~
- 使你面向最近的一个盔甲架。
- 修饰子命令-in
举个例子:/execute in the_nether run tp ~ ~ ~
- 把你传送到下界,但坐标不变。
- 修饰子命令-positioned
举个例子:/execute positioned 0 0 0 run kill @a[distance=..10]
- 清除所有靠近坐标0,0,0十格以内的玩家。
- 修饰子命令-rotated
举个例子:/execute rotated as @e[type=armor_stand,limit=1,sort=nearest] run tp @s ~ ~ ~ ~ ~
- 使你的朝向与最近的一个盔甲架相同。请注意和facing中的例子区分。
4.条件子命令
- 什么是条件子命令?
- 条件子命令-if和unless
- 条件判断参数-block
格式:/execute ... <if|unless> block <坐标> <方块>
方块一栏可以填写方块英文名称,也可以填写一个方块标签(表示判断这个方块是否拥有指定标签)。支持方块状态和NBT标签的判断。
举个例子:/execute as @a at @a if block ~ ~-1 ~ #minecraft:wool run kill @s
- 如果玩家脚下是羊毛,则清除该玩家。
- 条件判断参数-blocks
格式:/execute ... <if|unless> blocks <区域1的起点坐标> <区域1的终点坐标> <区域2的坐标> <all|masked>
坐标的填写格式与/clone相同。all模式表示选中并比较区域内所有的方块,masked则会忽略空气方块和结构空位。
举个例子:/execute if blocks ~ ~-1 ~ ~ ~-1 ~ 20 5 60 all run give @s diamond
- 如果玩家脚下的方块和处于20,5,60坐标的方块相同,给予玩家一个钻石。
- 条件判断参数-data
格式:/execute ... <if|unless> data <block|entity> <选择器|方块坐标> <指定NBT标签|NBT索引路径>
只有在block模式下才能使用方块坐标,在entity模式下才能使用选择器。NBT索引路径的格式详见这里。
举个例子:/execute if data entity @s {example:20s}
- 判断执行者的example标签的值是否为short类型的20。
- 条件判断参数-entity
格式:/execute ... <if|unless> entity <选择器>
这么简单我还是不举例子了吧
- 条件判断参数-score
格式:/execute ... <if|unless> score <选择器> <目标记分项> <运算符> <要比较的实体选择器> <要比较的目标计分项>
或:/execute ... <if|unless> score <选择器> <目标记分项> matches <数值范围>
数值范围的表示方法参照1.13的新方式。
举个例子:/execute if score @s foo matches 2..10 run effect give @s speed 30
- 如果执行者的foo分数在2~10之间,那么给予执行者速度效果30秒。
- 条件判断参数-score
格式:/execute ... <if|unless> score <选择器> <目标记分项> <运算符> <要比较的实体选择器> <要比较的目标计分项>
或:/execute ... <if|unless> score <选择器> <目标记分项> matches <数值范围>
数值范围的表示方法参照1.13的新方式。
举个例子:/execute if score @s foo matches 2..10 run effect give @s speed 30
- 如果执行者的foo分数在2~10之间,那么给予执行者速度效果30秒。
5.储存子命令
- 什么是储存子命令?
后面的内容可能有点难懂,萌新请跳过或左转
- 储存子命令-store
- 储存子命令模式-result和success
success会储存命令的成功次数。一般来说它返回的值只能是0或1,如果和as连用使多个实体执行同一命令,那么有多少个实体成功执行了命令,返回值就为几。
格式:
/execute ... store <result|success> score <选择器> <目标记分项>
将返回的值储存为指定实体的计分项。
/execute ... store <result|success> <block|entity> <方块坐标|实体选择器> <NBT索引路径> <byte|double|float|int|long|short> <倍率>
将返回的值先乘上指定倍率,再储存到指定方块或实体的NBT中。浅黄色背景部分表示储存值的数据类型。如果储存为float或double等小数类型,那么会先乘以倍率后向下取整。这个命令只能替换现有的NBT值,不能创造新的标签。
/execute ... store <result|success> bossbar <boss栏的id> <value|max>
将返回的值储存到boss栏的当前值或上限值。
举几个例子:
/execute as @a store success score #fakeman players run trigger foo
- 将玩家数量的值储存到#fakeman的players分数中。假设foo触发器存在,没有任何用途,并且一直保持开启。
/execute store result score #fakeman entity run kill @e[type=!player]
- 清除世界上所有除玩家外的实体,并将实体的数量储存到#fakeman的entity分数中。

6.结束语
可以看到,其实1.13的命令大改是把命令变得更好理解(英文国家)、更好用了。
所以不要惧怕这种大的改变,
要积极地去学习与了解。
一位mcbbs萌新写的第一篇教程帖,若有错误欢迎指出,还请大佬们多多包涵。
部分内容引自中文Minecraft Wiki:
欢迎评分送人气丫
2021.12 数据,可能有更多内容
相信很多人在经历1.13的命令大改后都不会用execute了吧
那就跟我一起从头学习一下1.13的execute新语法吧

1.基本语法
命令格式:/execute [修饰子命令] [修饰子命令参数] ... [条件子命令] [条件子命令判断类型] [条件判断内容] ... [储存子命令] [储存子命令参数] ... [run子命令] [要运行的具体命令]
从上面看到,execute的所有参数都是可选的,说明这条命令有着极大的拓展性(那run和要执行的命令都可以没有??这个留到后面讲)
2.run子命令
它的作用很简单:执行一条命令。这个子命令比较特殊,只能放在execute的最末尾。
举个例子:/execute run setblock ~ ~ ~ stone
- 和一般的命令没有区别,就是在当前位置放一个石头。
3.修饰子命令
- 什么是修饰子命令?
- 修饰子命令-as
举个例子:/execute as @e[type=item] run say 我是物品
- 让所有的掉落物都说一句“我是物品”。
- 修饰子命令-at
举个例子:/execute at @a run summon pig ~ ~2 ~
- 让所有的玩家头上生成一头猪。
- 修饰子命令-align
举个例子:/execute align xyz run tp @s ~ ~ ~
- 把你的坐标偏正为方块中心的位置。
- 修饰子命令-anchored
其实我也没读懂......还是不举例免得误导别人吧
- 修饰子命令-facing
举个例子:/execute facing entity @e[type=armor_stand,limit=1,sort=nearest] feet run tp @s ~ ~ ~ ~ ~
- 使你面向最近的一个盔甲架。
- 修饰子命令-in
举个例子:/execute in the_nether run tp ~ ~ ~
- 把你传送到下界,但坐标不变。
- 修饰子命令-positioned
举个例子:/execute positioned 0 0 0 run kill @a[distance=..10]
- 清除所有靠近坐标0,0,0十格以内的玩家。
- 修饰子命令-rotated
举个例子:/execute rotated as @e[type=armor_stand,limit=1,sort=nearest] run tp @s ~ ~ ~ ~ ~
- 使你的朝向与最近的一个盔甲架相同。请注意和facing中的例子区分。4.条件子命令
- 什么是条件子命令?
- 条件子命令-if和unless
- 条件判断参数-block
格式:/execute ... <if|unless> block <坐标> <方块>
方块一栏可以填写方块英文名称,也可以填写一个方块标签(表示判断这个方块是否拥有指定标签)。支持方块状态和NBT标签的判断。
举个例子:/execute as @a at @a if block ~ ~-1 ~ #minecraft:wool run kill @s
- 如果玩家脚下是羊毛,则清除该玩家。
- 条件判断参数-blocks
格式:/execute ... <if|unless> blocks <区域1的起点坐标> <区域1的终点坐标> <区域2的坐标> <all|masked>
坐标的填写格式与/clone相同。all模式表示选中并比较区域内所有的方块,masked则会忽略空气方块和结构空位。
举个例子:/execute if blocks ~ ~-1 ~ ~ ~-1 ~ 20 5 60 all run give @s diamond
- 如果玩家脚下的方块和处于20,5,60坐标的方块相同,给予玩家一个钻石。
- 条件判断参数-data
格式:/execute ... <if|unless> data <block|entity> <选择器|方块坐标> <指定NBT标签|NBT索引路径>
只有在block模式下才能使用方块坐标,在entity模式下才能使用选择器。NBT索引路径的格式详见这里。
举个例子:/execute if data entity @s {example:20s} - 判断执行者的example标签的值是否为short类型的20。
- 条件判断参数-entity
格式:/execute ... <if|unless> entity <选择器>
这么简单我还是不举例子了吧
- 条件判断参数-score
格式:/execute ... <if|unless> score <选择器> <目标记分项> <运算符> <要比较的实体选择器> <要比较的目标计分项>或:/execute ... <if|unless> score <选择器> <目标记分项> matches <数值范围>数值范围的表示方法参照1.13的新方式。
举个例子:/execute if score @s foo matches 2..10 run effect give @s speed 30 - 如果执行者的foo分数在2~10之间,那么给予执行者速度效果30秒。
- 条件判断参数-score
格式:/execute ... <if|unless> score <选择器> <目标记分项> <运算符> <要比较的实体选择器> <要比较的目标计分项>或:/execute ... <if|unless> score <选择器> <目标记分项> matches <数值范围>数值范围的表示方法参照1.13的新方式。
举个例子:/execute if score @s foo matches 2..10 run effect give @s speed 30 - 如果执行者的foo分数在2~10之间,那么给予执行者速度效果30秒。
5.储存子命令
- 什么是储存子命令?
后面的内容可能有点难懂,萌新请跳过或左转
- 储存子命令-store
- 储存子命令模式-result和success
success会储存命令的成功次数。一般来说它返回的值只能是0或1,如果和as连用使多个实体执行同一命令,那么有多少个实体成功执行了命令,返回值就为几。
格式:
/execute ... store <result|success> score <选择器> <目标记分项>
将返回的值储存为指定实体的计分项。
/execute ... store <result|success> <block|entity> <方块坐标|实体选择器> <NBT索引路径> <byte|double|float|int|long|short> <倍率>
将返回的值先乘上指定倍率,再储存到指定方块或实体的NBT中。浅黄色背景部分表示储存值的数据类型。如果储存为float或double等小数类型,那么会先乘以倍率后向下取整。这个命令只能替换现有的NBT值,不能创造新的标签。
/execute ... store <result|success> bossbar <boss栏的id> <value|max>
将返回的值储存到boss栏的当前值或上限值。
举几个例子:
/execute as @a store success score #fakeman players run trigger foo
- 将玩家数量的值储存到#fakeman的players分数中。假设foo触发器存在,没有任何用途,并且一直保持开启。
/execute store result score #fakeman entity run kill @e[type=!player]
- 清除世界上所有除玩家外的实体,并将实体的数量储存到#fakeman的entity分数中。

6.结束语
可以看到,其实1.13的命令大改是把命令变得更好理解(英文国家)、更好用了。
所以不要惧怕这种大的改变,
要积极地去学习与了解。
一位mcbbs萌新写的第一篇教程帖,若有错误欢迎指出,还请大佬们多多包涵。
部分内容引自中文Minecraft Wiki:
命令/execute
命令/stats
命令
计分板
命令#通过分数选择目标
命令/bossbar
教程/NBT与JSON#NBT路径的表示方法
欢迎评分送人气丫
所以你看了wiki还是没搞懂at和positioned as的区别吗?anchored你基本也没说清
看半天没看懂
我感觉这样的教程还不如直接去看维基
给不会的人写的基础教程就应该尽可能的简单易懂,而不是搬弄晦涩的词汇
起码得有几个例子吧?
给不会的人写的基础教程就应该尽可能的简单易懂,而不是搬弄晦涩的词汇
起码得有几个例子吧?
天狼星black 发表于 2019-8-14 13:04
我感觉这样的教程还不如直接去看维基
给不会的人写的基础教程就应该尽可能的简单易懂,而不是搬弄晦涩的词 ...
没有例子?每个子命令下面不都举了例子吗?
本帖最后由 CHElover_C60 于 2019-8-14 22:14 编辑
anchored用于修改命令基准点,影响局部坐标以及facing子命令。默认指令基准点为feet
/tp ^ ^ ^ #将自己传送至脚部(相当于没变化)
/execute anchored eyes run tp ^ ^ ^ #将自己传送至眼部(没有潜行时,相当于向上传送1.62个方块)
anchored用于修改命令基准点,影响局部坐标以及facing子命令。默认指令基准点为feet
/tp ^ ^ ^ #将自己传送至脚部(相当于没变化)
/execute anchored eyes run tp ^ ^ ^ #将自己传送至眼部(没有潜行时,相当于向上传送1.62个方块)