我的世界17w45a发布 更新马的材质和指令系统
1.13技术性更新第三个快照发布了,这次的快照里我们可以体验到全新的指令系统,新的指令系统更加容易使用,更加快速运行,还能实现新的功能!
【我的世界pc版交流群1】欢迎各位小伙伴加入!群号608527093!
▍17w45a发布
在1.13我们完全重新设计了命令系统,这使得其变得更加容易使用、更加快速地运行,并且还让我们可以干更多之前不能干的有趣的事情。这个快照包含了这个系统的一大部分的命令。
【变动】
新的马的模型!Hurrah!
修复了一堆bug,特别是那些导致Mac OS版本崩溃的问题。
增加了新的GUI缩放选项,4k用户将可以更加流畅地使用,你可以看得更加精细了
▍新的指令系统
【注意】
这暂时不能在多人游戏正常使用。你可以正常输入命令,不能tab补全,在类似的UI页面都不行。
tab补全功能我们还在搞,现在只有些最基础的提示。
现在离完全弄好还早,还有很多部分没有完成,而且有些地方可能不能如你期望的那样工作。请及时反馈我们bug以便我们尽早修复。
如果还是不能完成或者出了很多问题的话(很有可能),我们会回炉再造直到有改进为止。这只是个预览,并不是最终效果。
有些修改可能到之后的快照才有意义,比如数据值现在还存在,不过我们会移除它的。
新的命令还没有translated。它们被设计为更容易 translated,现在还没有。
新的命令UI现在只是个粗略的样板,不过在某些方面,它会变得很棒的。
【总体调整】
命令的大小写比以前更敏感了。你应该尽可能使用小写的字符。
比如,/scoreboard ObJeCtIvEs ...将不再被允许。
命令的优化比以前更好了,特别是对于函数。
函数将被在加载的时候被解析。这意味着,如果函数中的某条命令不正确,你将会在加载的时候获得提示。
这意味着为了检查一个地图是否工作于1.17.banana,你可以直接在1.17.banana中打开这个世界。如果有任何错误,他将显示在你的日志中。,如果没有错误,那再好不过了。
因为每一行都是一条独立的命令,所以看起来十分冗长。大部分的可选项之类都被单独列出。
...代表这里匹配另一条命令。
-> foo代表这是foo的一个别名。
新的命令库叫做"Brigadier". 其实这名字没啥意义,只是我很喜欢。
【具体的命令】
没列出的命令可能只是因为没啥变动而已。所以我们只列出了值得注意的那些。
/advancement
移除了命令 /advancement test 可以被实体选择器替代
/clear
/clear的格式被更改
/clear <target> [item] [count] [nbt] -> /clear <target> [item] [count]
查看物品参数格式来了解更多细节
/clone
/clone的格式被更改
/clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> filtered [force|move|normal] [<block>] [<data>] -> /clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> filtered [<block>] [force|move|normal]
/clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> [replace|masked] [force|move|normal] [<block>] [<data>] -> /clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> [replace|masked] [force|move|normal]
查看方块参数格式来了解更多细节
/defaultgamemode, /gamemode
现在只支持字串ID,而不再支持其缩写或者数字ID
/gamemode 2 -> /gamemode adventure
/defaultgamemode sp -> /defaultgamemode spectator
/difficulty
/difficulty现在只支持字串ID,而不再支持其缩写或者数字ID
/difficulty 2 -> /difficulty normal
/difficulty p -> /difficulty peaceful
你可以通过 /difficulty 命令来查询当前难度
/effect
/effect的格式被更改以避免歧义
/effect <entity> <effect> -> /effect give <entity> <effect>
/effect <entity> clear -> /effect clear <entity> [<effect>]
赋予一个效果时,如果什么都没发生,命令执行会失败。
某些生物会免疫,例如末影龙。
如果实体本省有着等级更高的状态效果,等级低的将不能覆盖它。
/enchant
被移除,因为我们有 /modifyitem
/execute
/execute 部分已经完全重写
修改子命令可以改变命令的工作方式:
/execute as <entity> <chained mand> 使用实体 <entity> 执行命令(但不改变位置)
/execute at <entity> <chained mand> 使用实体 <entity> 的位置执行命令(但不改变实体)
/execute offset <x y z> <chained mand> 使用 <x y z> 所在的位置执行命令
/execute align <axes> <chained mand> 将目前的位置对其到方块后执行,axe=x y z的任意组合
条件子命令能够让你防止命令总是执行:
/execute (if|unless) block <x y z> <block> <chained mand> 当 <x y z> 匹配 <block> 方块时是否执行命令
/execute (if|unless) blocks <begin> <end> <destination> (all|masked) <chained mand> 如果或除非 <start> 和 <end>区域间的方块为 <destination> 时执行命令
/execute (if|unless) entity <entity> <chained mand> 如果或除非实体 <entity> 存在执行命令exists (返回1个或更多实体)
作为 /stats 的替代品,新的子命令 store 能够让你储存一个命令的结果:
/execute (if|unless) score <target> <targetObjective> (<|<=|=|>=|>) <source> <sourceObjective> <chained mand> 如果实体<target>的分数与执行者的分数满足相应关系则执行命令
/execute store (result|suess) <name> <objective>
result 即为命令的结果,替换旧命令的统计数据:AffectedBlocks, AffectedEntities,AffectedItems, QueryResult
suess 是命令成功的次数,通常它的值为0或1,如果命令分离(例如 as @a) ,它的值就可能比1还大,这替换了 SuessCount
数值会储存在 <name> 的计分板 <objective> 下
你必须指定计分板名,但与/stats不同的是你不需要预先将 <name> 设定为一个指定的值
在全部命令完成执行以后才储存数值
如果命令没有成功执行 (suess 的值为 0),结果也会一直设置为0
我们会尽可能的使每条命令返回的结果清晰
你可以将所有子命令链接在一起
你需要在一个子命令之后写另一个子命令
在你完成指令的链接之后,你需要在 then 之后写真正要被执行的命令
/execute as somebody at somebody then say hi
旧命令的示例
/execute @e ~ ~ ~ detect ~ ~ ~ stone 0 say Stone! -> /execute as @e at @s if block ~ ~ ~ stone then say Stone!
/execute @e ~ ~ ~ detect ~ ~ ~ grass summon pig -> /execute at @e if block ~ ~ ~ grass then summon pig
/execute @e ~ ~ ~ say Hello! ->/execute as @e then say Hello!
/experience
现在 /xp 是 /experience 的别名。
包含3个子命令
/experience add <players> <amount> [points|levels]
给 <players> 增加 <amount> 点数或等级的经验(默认为点数),这可能导致升级。现在也支持负数,这可能导致降级。
/experience set <players> <amount> [points|levels]
设置 <players> 的经验数或等级为 <amount> (默认为点数)
你不能设置超过其目前等级所允许的点数。当改变等级时,多余的点数会按百分比保留。
/experience query <player> (points|levels)
查询 <player> 目前的经验值或等级
/fill
/fill的格式被更改
/fill <x y z> <xt yt zt> <block> <data> replace [<replaceBlock>] [<replaceData>] -> /fill <x y z> <xt yt zt> <block> replace [<filter>]
/fill <x y z> <xt yt zt> <block> [data] [destroy|hollow|keep|outline|replace] [nbt] -> /fill <x y z> <xt yt zt> <block> [destroy|hollow|keep|outline|replace]
查看方块参数格式来了解更多细节
/function
不再具有可选的[if|unless]参数
这个功能被移动到了/execute里
/function foo if @e[tag=bar] -> /execute if entity @e[tag=bar] function foo
/gamerule
/gamerule不再接受未定义的游戏规则("自定义gamerule")
这比它本身存在的价值而言,会造成更大的混乱,比如玩家会书写一个错误规则并以为自己写的并无差错。
这非常容易出错并难以使用。
你可以使用函数或是记分板来替代这个用法,而并不会有什么功能上的缺失(实际上功能更多!)
现有的自定义规则将不再能被访问,只有内建的规则才继续生效。
/gamerule修改的值类型现在会被检查(如果当一个gamerule接受的是int类型的值而你丢了上去一个string的话,会直接报错)
/give
/give的格式被更改
/give <players> <item> [count] [data] [nbt] -> /give <players> <item> [count]
查看物品参数格式来了解更多细节
/modifyitem
这个功能用来替代 /enchant 不过还没弄好。
/replaceitem
/replaceitem查看物品参数格式来了解更多细节
/replaceitem block <pos> <slot> <item> [count] [data] [nbt] -> /replaceitem block <pos> <slot> <item> [count]
/replaceitem entity <target> <slot> <item> [count] [data] [nbt] -> /replaceitem entity <target> <slot> <item> [count]
查看物品参数格式来了解更多细节
/scoreboard
[dataTag]参数被从所有的/scoreboard系列命令中移除,反正也已经不再需要了
查看实体选择器参数格式来了解更多细节。
/scoreboard team 现在变成 /team
/scoreboard players tag 现在变成 /tag
/scoreboard players test 被移除,因为有新的实体选择器。
新增了命令 /scoreboard players get <target> <objective> 以查询特定的分数
/setblock
/setblock的格式被更改
/setblock <pos> <block> [data] [mode] [nbt] -> /setblock <pos> <block> [mode]
查看方块参数格式来了解更多细节
/stats
现已移除,作为 /execute 的一部分
新的 /execute 部分并不是直接替换,表现也改了:
它现在是逐指令,而不是逐实体或逐方块统计
只有 result 和 suess 两个值, 包括了所有旧的统计类型
/ssound
可用来停止所有指定名称的声音
/testfor, /testforblock, /testforblocks
被移除。现在它们是/execute的一部分了
/toggledownfall
被移除。人们总是用它来停止降雨,但这常常过一会就又下了起来。
使用/weather来替代这个用法。
/tp, /teleport
/tp现在作为/teleport的一个别名存在(就像/w,/msg和/tell的关系)
现在使用命令执行者的坐标做为执行坐标,就像其它的命令一样
/tp的命令格式依旧存在,和/teleport具有相同的表现
/trigger
/trigger <objective> 是 /trigger <objective> add 1 的省略写法。
/weather
如果不指定时间,将固定是5分钟(原来是随机)。
命令方块
命令方块的输出原本是其“成功统计”,现在是“结果”。
【参数类型】
【目标选择器】
更多错误处理。不允许limit=0、level=-10和gamemode=purple之类的输入。
不再存在最小值与最大值的分别设定,取而代之的我们将可以设定范围。
level=10要求等级为10
level=10..12要求等级在10~12之间的数字
level=5..要求等级大于等于5
level=..15要求等级小于等于15
x和z不再中心校正了。
这意味着x=0不再等同于x=0.5。现在支持双精度数。
gamemode 不再支持数字ID或缩写了。
晦涩的简写名称改名。
m -> gamemode
l与lm -> level
r与rm -> distance
rx与rxm -> x_rotation
ry与rym -> y_rotation
c -> limit
limit(以前c)不再支持负值,代之以sort=furthest
x、y、z、distance (以前的r)、x_rotation (以前的 rx), y_rotation (以前的 ry) 现在支持双精度数,比如12.34
name参数现在支持空值了
支持NBT!@e[nbt={Cool:1b},nbt=!{Uncool:1b}]
支持重复参数,这似乎让选择器看起来更聪明了
tag=foo,tag=bar,tag=!baz将选择有foo、bar标签而没有 baz的目标。
type=!cow,type=!chicken将选择不是牛也不是鸡的目标。
type=cow,type=chicken是不合法的,因为没有目标会是鸡与牛。
你可以指定排序
sort=nearest是大多数实体选择器的默认行为(除了@r)
sort=furthest代表从最远处开始选择实体(也就是你以前用c=-5所达到的效果)
sort=random将会对实体随机排序(也是@r的默认行为)
sort=arbitrary是一个新的选项它不会排序结果。这在你优化命令而不需要排序的时候也许有用
特定的分数 scores={foo=1,bar=1..5}
特定的进度 advancements={foo=true,bar=false,custom:something={criterion=true}}
true 指的是完成了相应进度, false 则表示未完成。
或者你也可以对指定的一个方块进行判据检查,看是否成功。
【方块参数】
对于之前 <方块名称>来说,[数据值] 与 [数据标签]曾经是必须的, 现在被整合为一个单独的方块参数,例如
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)。
1.13将不会有数据值,而变为不同的方块或状态
【物品参数】
对于之前<物品名称>来说,[数据值] 与 [数据标签]曾经是必须的,现在被整合为一个单独的物品参数:
minecraft:stick{display:{Name:"Stick of Untruths"}}
物品ID是必需的(就如同过去一般,如果没有设定命名空间则将设为预设值minecraft:)。
数据标签位于{},就与以前一样。这是可选的。
1.13将不会有数据值与损害值。[16]
可以使用损害值的物品,现在将损害值移入数据标签。
其他数据值变为不同的方块或数据标签。
更多关于的新鲜爆料请戳>>>
〓 近期更新内容导航
【】
【】
【】
【】
【】
【】
【】