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,作者:辰风同志,转载请注明来源。 |
[编辑:叶子猪小秘书] 本资讯及文章仅代表发表厂商及作者观点,不代表叶子猪本身观点!



