您的位置:>我的世界>资讯资讯>

minecraft我的世界1.13命令变动一览

开始吐槽

命令和函数变得更快、效率更高。

大多命令对大小写更敏感。小写是一直可用的。

命令方块输出信号“成功次数”现在是其“结果”。

服务器命令(函数、后台命令、远程控制)将会执行于世界重生点。

更好的错误信息。

为分析器添加了命令(/debug)。

实体选择器和方块状态参数现在允许使用空格。

物品实体的NBT键Thrower和Owner不再是字符串,而以两个长整型组件L和M。

雪球、鸡蛋和末影珍珠的NBT键owner不再是字符串,而以两个长整型组件L和M。

所有自定义名称(涉及方块、物品、实体、方块实体)由纯文本变更为可翻译的JSON组件格式。

如,/summon pig ~ ~ ~ {CustomName:"Reuben"} 变为/summon pig ~ ~ ~ {CustomName:"\"Reuben\""} 或/summon pig ~ ~ ~ {CustomName:"{\"text\":\"Reuben宾\"}"}

/advancement

移除/advancement test,以目标选择器替代。

/blockdata

移除,并被/data取代。

/clear

/clear语法被修改了。

/clear <目标玩家> [物品名称] [数据值] [数量] [数据标签]变为/clear <目标玩家> [目标物品] [数量]

/clone

/clone的语法被修改了。

/clone <起始框选点> <终止框选点> <目标区域> filtered [force|move|normal] [方块] [数据]修改为/clone <起始框选点> <终止框选点> <目标区域> filtered [方块] [force|move|normal]

/clone <起始框选点> <终止框选点> <目标区域> [replace|masked] [force|move|normal] [方块] [数据]修改为/clone <起始框选点> <终止框选点> <目标区域> [replace|masked] [force|move|normal]

/defaultgamemode与/gamemode

现在只接受字符串ID,不再接受缩写或数字

/gamemode 2修改为/gamemode adventure

/defaultgamemode sp修改为/defaultgamemode spectator

/difficulty

/difficulty [<值>]现在只接受字符串ID,不再接受缩写或数字

/difficulty 2修改为/difficulty normal

/difficulty p修改为/difficulty peaceful

现在可以不带任何参数使用/difficulty来查询难度。

/effect

/effect的语法被拆分,以避免歧义

/effect <目标实体> <状态效果>修改为/effect give <目标实体> <状态效果>

/effect <目标实体> clear修改为/effect clear <目标实体> [状态效果]

如果命令没有任何作用就会导致命令失败。

比如一些怪物(像末影龙)对效果免疫。

生物身上更高等级的效果会使新的低等级效果无效。

/entitydata

移除,被/data取代。

/execute

/execute的语法被拆分。

修饰子命令将可以改变指令的执行方式:

as <指定实体> <连锁子命令>以<指定实体>执行命令(只改变执行者,不改变执行位置)。

at <指定实体> <连锁子命令>以<指定实体>的坐标,旋转角度和维度来执行命令(只改变执行位置,不改变执行者)。

positioned <指定坐标> <连锁子命令>从<指定坐标>的坐标来执行命令。

positioned as <指定实体> <连锁子命令>仅用指定实体的坐标(x y z)执行命令

align <坐标轴> <连锁子命令>执行命令时会先把执行位置转换为方块坐标(向下取整,只针对指定坐标轴的坐标),<坐标轴>的写法就是x、y、z的任意组合(例子:x,xz、code>zyx和yz)。

使用示例:

当x=-1.8,y=2.3,z=5.9使用x将变为x=-2,y=2.3,z=5.9

当x=2.4,y=-1.1,z=3.8使用yxz将变为x=2,y=-2,z=3

facing <x y z> <连锁子命令>会使命令执行得如同朝向指定坐标<x y z>。

facing entity <指定朝向实体> (eyes|feet) <连锁子命令> 会使命令执行得如同朝向指定朝向实体的脚或眼睛。

rotated as <指定实体> or rotated [垂直旋转度数 水平旋转度数] 会使命令执行得如同执行者转向到指定方向。

rotated as <指定实体> <连锁子命令>会使命令执行得如同执行者转向到实体的方向。

rotated <y x> <连锁子命令>会使命令执行得如同执行者转向到指定方向。

in (overworld|the_end|the_nether) <连锁子命令> 会使命令执行得如同位于指定维度。

anchored (feet|eyes) <连锁子命令> 会在使用朝向坐标或朝向指令时调整此命令的判断坐标为脚或眼睛。

条件子命令可以让你避免在特定情况运行命令:

(if|unless) block <指定坐标> <指定方块> <连锁子命令> 如果(unless则为除非,即条件不成功)<指定坐标>(的方块)与<指定方块>,才执行后续的命令。

(if|unless) blocks <起始框选点> <终止框选点> <对照区域> (all|masked) <连锁子命令>如果(除非)<起始框选点>和<终止框选点>之间的区域与<对照区域>相符,才执行后续的命令。

(if|unless) entity <指定实体> <连锁子命令>如果(除非)<指定实体>存在(1个或以上)时执行命令。可能包括死亡的玩家,这取决于目标选择器的类型。

(if|unless) score <指定实体/玩家名> <指定记分板记分项> (<|<=|=|>=|>) <对照实体/玩家名> <对照记分板记分项> <连锁子命令>如果(除非))<指定实体/玩家名>的<指定记分板记分项>分数与<对照实体/玩家名>的<对照记分板记分项>分数符合指定的比较符时执行命令。

(if|unless) score <指定实体/玩家名> <指定记分板记分项> matches <指定范围> <连锁子命令> 指定目标的记分板记分项是否在指定范围内(如1, 1..5)。

作为/stats的替代,新的store子命令将允许你将命令结果储存于某处:

result将会选择命令的结果来输出,用于取代过去的这些统计:AffectedBlocks、AffectedEntities、AffectedItems、QueryResult。

success将会记录这个命令到底执行的成功次数是多少。虽然此数值通常会是0或1, 但是如果此命令被分开每个实体执行(像是as @a)那么其成功数也就大于1了。这取代了SuccessCount。

命令统计会被储存,并在整个命令被完整执行后返回(返回值)。注意返回值必定为整数,小数会被向下取整。

如果指命令没有成功(像success是0时),result也会被设为0。

之后会明确每个命令的预期结果。

store (result|success) score <目标实体/玩家名> <指定记分板记分项> <连锁子命令>

返回值会被储存在<目标实体/玩家名>的<指定记分板记分项>分数里。

记分项必须存在,但相对于/stats你不需要为<目标实体/玩家名>的分数设定初始值

store (result|success) block <目标坐标> <标签路径> (byte|double|float|int|long|short) [倍率] <连锁子命令>

将返回值储存在目标坐标方块在标签路径的NBT标签上,并储存为byte、double、float、int、long或short。可选的倍率可以用于把输出值乘以一个倍数方便储存(如整数与小数的转换)。

注意不能通过此命令为数组/列表标签加入新元素,只能取代现有元素。

store (result|success) entity <目标实体> <标签路径> (byte|double|float|int|long|short) [倍率] <连锁子命令>

将返回值储存在目标实体标签路径的NBT标签上,并储存为byte、double、float、int、long、或short。

和/data类似,store不能修改玩家的NBT。在玩家Inventory或EnderItems中的物品tag键的NBT是例外,并可以用store修改。

可选的倍率可以用于把输出值乘以一个倍数方便储存(如整数与小数的转换)。

注意不能通过此命令为数组/列表标签加入新元素,只能取代现有元素。

store (result|success) bossbar <id> (value|max) <连锁子命令>

值的ID以id的形式储存在value或max的bossbar设置里。

标签路径的形式类似于:foo.bar[0]."一个[随便写个好听的]".baz

foo.bar是foo的子标签bar。

bar[0]表示bar的元素0(索引值)。

"用引号括起来的字符串"在串内字符需要被转义(escape)时可以使用。即字串不是只由0-9、a-z 、_和-的字符组成时需要使用引号括起来。例如,引号"及反斜杠\是需要被转义的。

例子:

/execute store success score @a foo run say hi

/execute as @e[type=pig] at @s store success entity @s Saddle byte 1 if entity @p[distance=..5]

你可以将所有需要的子命令串连在一起。同一个子命令可以多次出现。

要这么做时,你必须将一个子命令直接连接到下一个子命令。

最后当你完成整条子命令连锁,写上run来让你继续写下你实际想要执行的命令。

不可将/写在命令之前。

例:/execute as somebody at somebody run say 嘿

游戏会在执行/execute命令之后的命令前,先处理子命令的数据,故之后的命令无法影响之前的命令。

旧命令转换式示例:

/execute @e ~ ~ ~ detect ~ ~ ~ stone 0 say 石头!变成/execute as @e at @s if block ~ ~ ~ stone run say 石头!

/execute @e ~ ~ ~ detect ~ ~ ~ grass 0 summon pig变成/execute at @e if block ~ ~ ~ grass run summon pig

/execute @e ~ ~ ~ say 嗨!变成/execute as @e run say 嗨!


/experience

/xp现在属于/experience的别名。

拆分为以下3个子命令:

/experience add <目标玩家> <数量> [points|levels]

为<目标玩家>增加<数量>点数或等级(默认值为点数)。

增加经验点数一样可以使你提升等级,和原来一样。

现在<数量>支持负数,使你减去一定数量的点数。

减去点数可以使你等级下降。

/experience set <目标玩家> <数量> [points|levels]。

为<目标玩家>设定<数量>点数或等级(默认值为点数)。

你不能够设置超过该等级限制的点数上限。

当等级变动时,点数会维持同样的比例。

/experience query <目标玩家> (points|levels)

返回<目标玩家>的点数或等级。

/fill

/fill语法被修改了

/fill <起始框选点> <终止框选点> <方块> <数据> replace [替代方块] [替代方块数据]变成/fill <起始框选点> <终止框选点> <目标方块> replace [方块]

/fill <起始框选点> <终止框选点> <方块> [数据] [destroy|hollow|keep|outline|replace] [数据标签]变成//fill <起始框选点> <终止框选点> <方块> [destroy|hollow|keep|outline|replace]

/function

/function不再包含<if|unless> <指定实体>参数

这项功能已经被迁移至/execute

/function foo:bla if @e将变为/execute if entity @e run function foo:bla

/gamerule

/gamerule不再允许未知的游戏规则(“自定义游戏规则”)

先前存在的自定义规则也无法使用,只能使用原始的游戏规则。

/gamerule现在将会检查对应的数据类型 (将string给予int显然是错的)。

移除了游戏规则gameLoopFunction,用函数标签minecraft:tick代替。

/give

/give语法被修改了

/give <目标玩家> <目标物品名称> [数量] [数据值] [数据标签]将变为/give <目标玩家> <目标物品> [数量]

/kill

目标实体现在是必选的。

/list

现在可以用于单人模式。

/locate

y坐标现在返回64而非?。

配合/execute的子命令store时,命令的result将会改成返回与目标结构的距离。

现在允许原来分类在Temple、Desert_Pyramid、Igloo、Jungle_Pyramid和Swamp_Hut下所有结构的不同结构名称。

/op

现在允许使用目标选择器。

/particle

<额外.参数>现在被移除,取而代之的blockcrack粒子效果可以在其<粒子名称>后使用方块参数。

/particle block polished_granite ~ ~ ~ 0 0 0 0 1

更改了粒子名称。

/playsound

Tab 可以用来补全自定义声音事件了。

/replaceitem

/replaceitem语法被修改了

/replaceitem block <目标坐标> <目标槽位> <目标物品名称> [数量] [数据值] [数据标签]将变为/replaceitem block <目标坐标> <目标槽位> <目标物品> [数量]

/replaceitem entity <目标实体> <目标槽位> <目标物品名称> [数量] [数据值] [数据标签]将变为/replaceitem entity <目标实体> <目标槽位> <目标物品> [数量]

参阅下方的物品参数类型以获取更多细节。

slot参数不在需要slot.。

比如,slot.hotbar.1变为hotbar.1。

/scoreboard

/scoreboard移除了[<数据标签>],因为NBT参数在实体选择器中的取代。

移除了/scoreboard players tag与/scoreboard teams,并且由/tag与/team分别取代。

/scoreboard players test被移除,被/execute (if|unless) score、实体选择器和/scoreboard players get <target> <objective>替代。

/setblock

/setblock语法被修改了

/setblock <目标坐标> <目标方块名称> [数据值] [模式] [数据标签]将变为/setblock <目标坐标> <目标方块> [模式]

参阅下方的方块参数类型以获取更多细节。

/stats

被移除,现在是/execute的一部分

并非用/execute直接替换,运行方式也有改变:

现在只储存指定命令的统计,而不是实体或方块所有命令执行统计。

只有两种统计信息:result和success,包含了所有旧的统计类型。

/stopsound

现在可以使用*取代source来停止特定名字的所有音效。

/tag

取代了 /scoreboard players tag

维持原有的语法

/tag <目标实体> add <实体标签> 用以为<目标实体>添加<实体标签>。

/tag <目标实体> remove <实体标签> 用以从<目标实体>移除<实体标签>。

/tag <目标实体> list 用以列出<目标实体>的所有实体标签。

/team

取代了 /scoreboard teams

维持原有的语法

/team add <目标队伍> [<显示名称>]

/team empty <目标队伍>

/team join <目标队伍> [<成员>]

/team leave [<成员>]

/team list [<目标队伍>]

/team option <目标队伍> <设定选项> <值>

/testfor、/testforblock与/testforblocks

移除,被整合至/execute。

/toggledownfall

移除,该命令曾经总是用于终止下雨,然后让你失望的是一会儿后又下起了雨。

应使用/weather。

/tp与/teleport

/tp现在是/teleport的别名(与/w、/msg与/tell一样)。

对/teleport进行了简化,以避免表意模糊。

/teleport <指定实体> 不支持旋转或朝向,能将你传送到指定实体的坐标。

/teleport <x y z> 不支持旋转或朝向,能使执行者传送到指定坐标。

/teleport <指定实体> <指定实体> 不支持旋转或朝向,能使目标对象传送到指定实体坐标。

/teleport <目标对象> <x y z> [垂直旋转度数 水平旋转度数] 能使目标对象传送到指定坐标并选择性改变转向。

/teleport <目标对象> <x y z> facing [指定朝向坐标] 能使目标对象传送到指定坐标并朝向指定的座标。

/teleport <目标对象> <x y z> facing entity <指定朝向实体> [feet|eyes]能使目标对象传送到指定坐标并指定朝向实体的脚或眼睛坐标(预设为feet)。

现在允许跨维度的传送。

/trigger

新语法/trigger <目标>现在视为/trigger <目标> add 1的快捷写法。

/weather

如果没有设定持续时间,那么将固定持续5分钟(原本是随机设定时间的)。

参数类型目标选择器

引入了更多对错误的处理。

参数可以被引号括住(如果参数包含一些特殊字符,如@e[name="bla bla"]中的空格)

不允许limit=0、level=-10和gamemode=purple之类的错误输入。

不再存在最小值与最大值的分别设定,取而代之地是可以设定范围。

level=10要求等级为10

level=10..12要求等级为10、11或12

level=5..要求等级大于等于5

level=..15要求等级小于等于15

将难懂的简写进行了重命名。

m -> gamemode

l与lm -> level

r与rm -> distance

rx与rxm -> x_rotation

ry与rym -> y_rotation

c -> limit

x、y、z、r、rm、dx、dy、dz现在是双精度浮点数了,支持12.34这样的数值。

x和z不再有中心修正了,取而代之是可以使用小数形式的实体坐标。

这意味着x=0不再等同于x=0.5。

gamemode(原本的m)不再支持数字ID或缩写了。

limit (以前是c)不再支持负数。

请使用sort=furthest作为替代。

name参数现在支持空格了(需要使用引号括起来)。

现在在目标选择器中可以重复使用参数了。

tag=foo,tag=bar,tag=!baz将选择有foo、bar标签而没有baz的目标。

type=!cow,type=!chicken将选择不是牛也不是鸡的目标。

type=cow,type=chicken是不允许的,因为没有目标会同时是鸡与牛。

你可以指定排序方式。

sort=nearest是原来的默认值,按距离排序(@p的默认值)

sort=furthest则与预设相反(之前你会使用c=-5来达到这点)

sort=random为随机排序(当前@r的默认值)

sort=arbitrary为不进行排序(当前@e和@a的默认值,可以提高选择器效率)

指定分数现在是scores={foo=1,bar=1..5}。不同的记分项都写在{}里,以逗号分隔。

你可以用advancements={foo=true,bar=false,custom:something={criterion=true}}来测试进度

true代表“已完成进度/判据”,false代表“未完成进度/判据”

不同的进度都写在{}里,以逗号分隔。

也可以使用一组进度的判据(criteria)来测试,只需要把其进度的数值写作{criteria1=true/false,criteria2=true/false...}即可。

1.13将不会有数据值,而变为不同的方块或状态

之前的<方块>参数(可能带有可选参数[<数据值>]、[<数据标签>]),现在被整合为一个单独的<方块>参数,例子:

stone

minecraft:redstone_wire[power=15,north=up,south=side]

minecraft:jukebox{RecordItem:{...}}

minecraft:furnace[facing=north]{BurnTime:200}

方块ID是必需的(就如同过去一样,如果没有设定命名空间则将设为预设值:minecraft:)。

方块状态位于[]内,名称与数值用等号分隔,名称数值组用逗号分隔,且必须是该方块支持的状态。这是可选的。

minecraft:stone[doesntexist=purpleberry]有语法错误,因为stone(石头)没有doesntexist状态。

minecraft:redstone_wire[power=tuesday]有语法错误,因为redstone_wire(红石线)的power是一个在0和15之间的数字。

数据标签位于{}内,就与以前一样,这是可选的

如果方块参数被用于检查方块,则只会检查参数内指定的方块状态与数据标签,其余全部当作符合。

如果检查redstone_wire[power=15],那它将会检查power而忽略其他状态,如north

如果方块参数用于设置方块,你所提供的任何状态与标签都会被设置,而其他未设置的状态与标签会被设为预设值

如果你设置redstone_wire[power=15],那它将设置power到15却使north设为预设值(在这个状态下被设置为none)

如果方块参数被用于检查方块,则可以使用标签|方块标签来检测,格式为 #标签名称。

之前的<物品>参数(可能带有可选参数[<数据值>]、[<数据标签>]),现在被整合为一个单独的<物品>参数,例子:

stone

minecraft:stick{display:{Name:"\"谎言之杖\""}}

物品ID是必需的(就如同过去一般,如果没有设定命名空间则将设为预设值minecraft:)。

数据标签位于{},就与以前一样,这是可选的。

1.13不再有物品数据值、物品损伤值。

在可行的情况中,损伤值会移入到NBT中。

其他信息的处理方法是分出独立的物品或移入到NBT中。


本文来源:bilibili,作者:辰风同志,转载请注明来源。

随便看看