我的世界17w45a发布 更新马的材质和指令系统

游戏资讯 2021-03-24 18:49www.1788989.com小游戏新闻

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]

    可以使用损害值的物品,现在将损害值移入数据标签。

    其他数据值变为不同的方块或数据标签。

更多关于的新鲜爆料请戳>>>

近期更新内容导航

【】

【】

【】

【】

【】

【】

【】

Copyright © 2019-2025 www.1788989.com 游戏攻略网 版权所有 Power by