新内容
- 聊天中的命令界面,输入命令时出现。
- 命令的各种部分以不同颜色呈现。
- 无需运行命令就会以红色呈现错误。
- 目标选择器中的新
nbt参数。 - 新的命令解析库名为Brigadier(旅长)。
更改
生物
- 修改成风格更相似于其他生物的模型。
命令
- 常规
- 更快更高效的命令与函数系统。
- 大部分命令现在对大小写敏感。可能的话小写是最好的。
- 举例来说,这是不再被允许的:
/scoreboard ObJeCtIvEs ...。
- 举例来说,这是不再被允许的:
- 命令方块的信号输出原本是其“成功统计”,现在是“结果”。
- 特定命令
- 已移除
/advancement test的用法,以应对实体选择器的修改。
/clear的语法已修改。
/clone的语法已修改。/clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> filtered [force|move|normal] [<方块>] [<数据>]会改为/clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> filtered [<方块>] [force|move|normal]。/clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> [replace|masked] [force|move|normal] [<方块>] [<数据>]会改为/clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> [replace|masked] [force|move|normal]。
- 现在只接受字符串ID,缩写与数字不再接受。
/gamemode 2会改为/gamemode adventure。/defaultgamemode sp会改为/defaultgamemode spectator。
/difficulty [<value>]现在只接受字符串ID,缩写与数字不再接受。/difficulty 2会改为/difficulty normal。/difficulty p会改为/difficulty peaceful。
- 现在可以用
/difficulty不带其他参数查询难度。
- 已移除,以应对
/modifyitem的修改。
/execute的语法已被拆分。- 修饰性子命令可以更改命令运行方式:
- 条件性子命令可以防止命令执行于全部对象:
/execute (if|unless) block <x y z> <方块> <待执命令>若<x y z>(不)符合<方块>,则执行待执命令。/execute (if|unless) blocks <起点> <终点> <destination> (all|masked) <待执命令>若在<start>与<end>间的区域(不)符合<destination>,则执行待执命令。/execute (if|unless) entity <实体> <待执命令>若<实体>(不)存在,则执行待执命令(返回值为1,或更大的实体数)。/execute (if|unless) score <对象> <对象目标> (<|<=|=|>=|>) <源> <源目标> <待执命令>若<对象>的分数与<源>的分数符合指定的不等号,则执行命令。
- 作为
/stats的替代,加入新子命令store,会将命令的结果保存在某处:/execute store (result|success) <名称> <目标> <待执命令>。result指定命令的结果,替代旧的统计项:AffectedBlocks、AffectedEntities、AffectedItems、QueryResult。success指定命令执行成功的次数。此值通常为0或1,但若命令有数个部分(如as @a)那么此值可能大于1,替代旧的统计项SuccessCount。- 返回值将存储在
<目标>和<名称>下。 目标必须存在,而<名称>的初始值无需预先设定(对比/stats)。- 此值在命令结束执行完全结束后储存。
- 若命令执行失败(
success为0),result总为0。 - 以后将再说明各命令可能出现的结果有哪些。
- 这些子命令可以串连起来。
- 子命令逐个输入。
- 当子命令输完时,在
run后输入实际上需要执行的命令。- 命令前的
/不再接受。
- 命令前的
/execute as somebody at somebody run say hi。
- 与旧命令对比:
/xp现在为/experience的简写。- 拆分为3个不同的子命令。
/experience add <玩家> <数量> [points|levels]- 为目标
<玩家>添加<数量>点或级经验(默认为点)。 - 与以前一样,添加点数也能让玩家升级。
- 负值可接受,会减去经验值。
- 扣除经验值也能使玩家降级。
- 为目标
/experience set <玩家> <数量> [points|levels]- 将目标
<玩家>的经验设为<数量>点或级(默认为点)。 - 无法设定超出本级上限的经验数量。
- 等级变动时,经验点数会维持同样的比例。
- 将目标
/experience query <玩家> (points|levels)- 返回目标
<玩家>的经验点或级数。
- 返回目标
/fill
/give
/kill
<目标>现为必要项。
- Y坐标现在返回
64,而非?。
- 命令的
result,由/execute store采用时会取与结构的绝对距离。
<额外参数>变量已移除,颗粒的blockcrack等参数可以直接在<名称>后的新变量方块处指定。
- 例如,
/particle blockcrack stone [variant=smooth_granite] ~ ~ ~ 0 0 0 0 1。
/replaceitem的语法已修改。
/replaceitem block <x y z> <栏位> <物品> [<数量>] [<数据>] [<nbt>]会改为/replaceitem block <x y z> <栏位> <物品> [<数量>]。
/replaceitem entity <目标> <栏位> <物品> [<数量>] [<数据>] [<nbt>]会改为/replaceitem entity <目标> <栏位> <物品> [<数量>]。
- 详请参阅下方的物品参数段落。
[<数据>]已被移除,为扁平化做铺垫,物品数据将不复存在而物品损害值将被整合入NBT。
栏位变量不再需要slot.前缀。
- 例如,
slot.hotbar.1会改为hotbar.1。
/scoreboard中带有的[<数据标签>]将被移除,以对应实体选择器中的nbt。
/scoreboard players tag与/scoreboard teams已移除。分别被/tag与/team替代。
/scoreboard players test已移除,以对应/execute (if|unless) score、实体选择器以及/scoreboard players get <target> <objective>。
*可以作为source来停止特定名称的所有声音,无论来源。
/tag
- 替代
/scoreboard players tag。
- 语法保持不变。
/team
- 已移除,整合入
/execute。
- 已移除,整合入
/weather。
- 若未指定时间,则默认为5分钟(本为随机值)。
- 变量类型
- 引入更多错误处理机制。
- 诸如
limit=0、level=-10、gamemode=purple等不再允许。
- 支持范围指定,取代“min”或“max”的单独值。
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、distance、x_rotation、y_rotation现在为双精度浮点,支持类似12.34的值。
x与z不再向方块中心修正。
- 这意味着
x=0与x=0.5不再等价。
gamemode(前称m)不再接受缩写或数字。
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为“他们尚未完成那成就”。
- 或者检测特定准则(
true、false类同上述)。
- 在
<方块>,曾都出现[<数据>]以及[<nbt>]作可选项,现改为单个<方块>变量,即:
stone;
minecraft:redstone_wire[power=15,north=up,south=side];
minecraft:jukebox{RecordItem:{...}};
minecraft:furnace[facing=north]{BurnTime:200}。
- 方块名称为必要的,若名字空间未设定则取默认的
minecraft:)。
- 状态写在方括号(
[])内,用逗号分隔属性与值必须对方块有效。可选项。
minecraft:stone[doesntexist=purpleberry]有语法错误,因为stone没有doesntexist。
minecraft:redstone_wire[power=tuesday]有语法错误,因为redstone_wire的power是0-15间的数。
- NBT标签写在花括号(
{})内,与普通用法无区别。可选项。
- 在检测方块或“条件”时,仅检测指定的方块状态。
- 若欲测试
redstone_wire[power=15],仅测试power值而忽视其他状态,比如north。
- 在设定方块值时,仅设定指定的所有状态,其余皆根据方块情况保持默认。
- 若欲设定
redstone_wire[power=15],会将power设为15,而north会为默认值(此处为none)。
- 在1.13中不再有方块数据值。这些若非不同方块即是一种状态。
- 在
<物品>出现的地方,曾都出现[<数据>]以及[<nbt>]作可选项,现改为单个<物品>变量,即:
stone;
minecraft:stick{display:{Name:"Stick of Untruths"}}。
- 物品名称为必要的,若名字空间未设定则取默认的
minecraft:)。
- NBT标签写在花括号(
{})内,与普通用法无区别。可选项。
- 任何其他信息若非另外的物品即是NBT中的一项属性。
修复
参考
- ↑ “Minecraft Snapshot 17w45a” – Minecraft.net,2017年11月8日
