1.20.3是Java版即将到来的一次次要更新,发布时间待定,改进了盾牌,更改了聊天组件序列化,为所有版本加入了Realms支持,加入了饰纹陶罐的新功能,重新加入了与函数有关的命令,改进了命令执行限制有关机制,并修复了一些漏洞。[1]
新内容[]
常规[]
- 加入了
dust_plume粒子。
- 加入了下列伤害类型标签:
#can_break_armor_stand:player_attack和player_explosion。- 拥有该标签的伤害类型能一击破坏盔甲架。
- 加入了下列实体标签:
#can_breathe_under_water:#undead、axolotl、frog、guardian、elder_guardian、turtle、glow_squid、cod、pufferfish、salmon、squid、tropical_fish、tadpole和armor_stand。- 拥有该标签的生物不会溺水。
#undead:#skeletons、#zombies、wither和phantom.#zombies:zombie_horse、zombie、zombie_villager、zombified_piglin、zoglin、drowned和husk。
更改[]
方块[]
- 现在可在其中放置最多一组的同类物品。
- 现在饰纹陶罐可被弹射物击毁,使其碎裂并掉落其所有内容物。
- 现在可以堆叠至64个。
- 现在,当方块状态
cracked为true时,无论用何种方式破坏,饰纹陶罐都会碎裂。
物品[]
- 现在玩家使用盾牌格挡时,持盾的手臂将在第三人称视角下跟随玩家的视角转动。
非生物实体[]
- 常规
- 现在所有无生命的实体,其名称都会在被玩家观察且
CustomNameNBT标签被设置时显示,或在CustomNameVisibleNBT标签被设置时一直显示,与所有有生命的实体类似。
命令格式[]
- 更改了
/function命令,以更好适应新的/return命令。 - 现在,任何函数只在其使用了
/return命令,或在其查询或实例化过程中出错时有返回值。故/function命令现在不再返回(甚至显示)命令执行期间的命令执行数。- 会导致执行错误的情况如下:
- 调用不存在的函数。
- 调用空的函数标签。
- 宏的实例化失败。
- 会导致执行错误的情况如下:
- 本段中的“结果”一词指可被
/execute store命令存储的值。 - 取消了使用
/execute store ... run 函数名命令执行函数时,函数中所有命令都会被执行存储操作的命令行为。- 这表示对
函数名的单次调用最多只会存储一次结果(如果函数内部没有调用/return命令则为0次)。 - 对于具有多个条目的函数标签,函数结果将被累加,但部分结果将在每个函数的末尾处被存储。
- 这表示对
- 改进了函数现有的限制条件,以更好适应新的执行规则,并且避免更广泛的漏洞利用:
- 现在即便是从命令行执行的命令也会受到限制,与放置在函数中的命令表现一致。
- 例如,所有由
/execute as @e run 函数名调用的函数都会计入相同的限制中。 - 命令方块所产生的命令执行仍独立计算。
- 例如,所有由
- 现在,游戏规则
maxCommandChainLength在限制函数执行时会将下列情形计入“操作数”:- 单命令执行上下文的命令执行。
/execute命令中一个阶段的命令执行(无论其中有多少令执行上下文被修改过)。- 函数调用。
- 加入了新的游戏规则
maxCommandForkCount,用于限制如/execute的单状态函数所能创建的命令执行上下文的总量。- 例如:如有5个实体,执行
/execute as @e命令会创建5个命令执行上下文,而/execute as @e at @e则会创建25个(5×5)。
- 例如:如有5个实体,执行
- 现在即便是从命令行执行的命令也会受到限制,与放置在函数中的命令表现一致。
- 重新加入了
(if|unless) function条件子命令。- 用于执行一个函数或函数标签,并检查其返回值是否满足条件。若指定的是函数标签,无论结果如何,标签内靠前的函数都会被执行。
- 语法:
... (if|unless) function <function> -> execute - 参数:
function:要执行的函数或标签。
- 满足以下条件时,函数才会执行:
- 必须至少成功执行一个函数才能匹配成功。
- 函数成功执行必须满足下列条件:
- 使用
/return命令返回值。 - 返回值不为0。
- 使用
- 如果没有任何函数以
/return命令退出,if或unless都不会执行。
- 重新加入了
run子命令,语法:/return run ...。- 此函数用于从所指定的命令中取得返回值,并将其作为其自身返回值返回给函数。
- 如果指定的命令不返回任何值(如调用一个没使用
/return命令的函数),/return命令不会执行,函数会继续执行。 - 如果指定的命令执行失败,返回值为
0。 - 除此之外的其他情况下,此命令的表现与在
/return命令中手动指定return值的表现一致。 - 如遇会产生执行分支的情况(如执行
/return run execute as @e run 一些命令命令),最先被执行的命令的返回值会被返回。- 如果没有任何命令被实际执行(如执行
/return run execute if @e[不可能的条件] run 一些命令命令),函数将不会返回,并继续执行后续命令。
- 如果没有任何命令被实际执行(如执行
- 如果指定的命令不返回任何值(如调用一个没使用
- 此函数用于从所指定的命令中取得返回值,并将其作为其自身返回值返回给函数。
常规[]
- 将数据包版本号更改为
20。
- 纯文本聊天组件(只有文本内容,无并列的组件,无格式)现在总会被序列化成字符串,而非
{"text": "字符串"}。 - 聊天组件现在会在通过网络发送时序列化。
- 聊天组件现在允许有可选的
type值(包括text、translatable、score、nbt和keybind),以提升解析与错误检查的速度。 id字段若采用show_entityhoverEvent格式,可接受4个整型值所构成的数组形式的UUID。translate组件内的数值与布尔型参数不再被转换成字符串。- 不再支持下列JSON文本表达式:
null[]
- 若下列类型字段中出现错误,现在将不再被静默忽略:
colorclickEventhoverEventhoverEvent[action=show_entity].contents.namehoverEvent[action=show_item].contents.tag
- 现在在所有版本(包括所有非正式版)中可用。
- 只要有处于活动状态的Realms订阅,任何玩家都可以创建一个免费的快照版Realm。
- 快照版Realm与普通Realm分开,以避免出现任何问题,从而影响普通Realm。
- 最近一次进入的世界的版本会在Realm列表中显示。
- 可在新创建的Realm世界中使用实验性功能。
- 向
#skeletons实体标签中加入了骷髅马。
修复[]
- 修复了42个漏洞
- 1.20前正式版的漏洞
- MC-16937 — 禁用PvP时,将箭射入下界传送门可以对任何人造成伤害。
- MC-47607 — 粒子效果设置为最小时,屏障粒子不显示。
- MC-50319 — 有主箭矢离开传送门时会丢失其所有者信息。
- MC-50647 — 只有在史莱姆区块里,史莱姆刷怪笼才会生成史莱姆。
- MC-78314 — (标记)盔甲架在水里会产生气泡。
- MC-81656 — 决定凋灵之首是否为蓝色的字段不会保存到NBT中,也不会从NBT中读取此字段。
- MC-109101 — 盾牌无法在玩家面朝正上方时为其抵挡伤害。
- MC-114761 — 区域效果云会给死亡的生物应用效果。
- MC-118403 — 在队伍中的唤魔者召唤出的恼鬼不会加入对应队伍中。
- MC-143266 — 嵌套的函数调用会在其加入执行队列前重新评估
maxCommandChainLength游戏规则的值。 - MC-143269 — 已生成命令执行队列时,受到
maxCommandChainLength游戏规则的影响,函数中的嵌套的中间函数会被跳过。 - MC-172398 — 玩家物品栏中的火焰纹理会按玩家朝向渲染。
- MC-189227 — 教学提示上使用的是旧纹理。
- MC-198113 — 不完整的命令不会使函数停止加载。
- MC-221558 — 粒子效果设置为最小时,光源方块粒子不显示。
- MC-227255 — 蜂箱和蜂巢无法通过结构方块正确旋转或镜像。
- MC-233276 — 玩家可以喂食满好感度的驴、马、羊驼或骡,此时手部动画不显示。
- MC-234323 — 文本解析有性能问题。
- MC-236341 — 玩家可以给成年驴、马或骡喂食干草捆,但不播放对应的手部动画和动物的进食动画与进食声音。
- MC-236501 — 被重命名过的矿车和船物品,放置后,此名称不显示在其实体的上方。
- MC-236946 — 盾牌抵御攻击时,向量的归一化计算错误。
- MC-249408 — 运输船放置后其名字会丢失。
- MC-253819 — 钟通过结构方块或拼图方块加载时无法正确旋转。
- MC-254850 — 管理员可以踢出将该世界对局域网开放的玩家。
- MC-255173 — 坐标值较大时,下界传送门的传送会出现偏差。
- MC-257786 — 游戏会花很长时间来处理玩家离开Realms组、接受或拒绝Realms邀请的操作。
- MC-260576 — 不完整的
/execute summon命令仍会执行。 - MC-262105 — 如果玩家非常靠近一个实体的判定箱时,玩家的刷扫动作会被终止。
- MC-263123 — 经验修补在将工具完全修复后错误计算溢出的经验值。
- 1.20的漏洞
- 1.20.1的漏洞
- MC-263575 — 刷扫可疑的沙子或可疑的沙砾,若刷扫过程被半途终止,方块在物品完全缩回前不受重力影响。
- MC-263660 — 告示牌和悬挂式告示牌的“告示牌:晃动”字幕是一样的,会导致翻译问题。
- MC-264748 —
GLX._initGlfw将指针视为字符串。 - MC-265353 — 物品展示实体中的时钟或指南针不显示正确的时间或方向。
- 1.20.2的漏洞
- MC-264595 —
/return命令位于其他函数中时不能执行函数。 - MC-264699 — 只有命令不以
/return run开始时,函数才能返回命令输出。 - MC-264710 — 从函数中执行的
/execute if function命令总是失败,而/execute unless function总是成功。 - MC-264880 — Programmer Art资源包的GUI滑块使用的是新纹理。
- MC-265462 — 在游戏启动阶段发送资源包将导致长时间显示加载地形中屏幕。
- MC-265516 — 某些Realms菜单中的“取消”按钮是菜单中的唯一元素,但仍可以通过键盘导航键取消选择。
- MC-265519 — 在Mac设备上以全屏模式游玩时,点击屏幕特定区域会导致游戏窗口最小化。
参考[]
- ↑ "Minecraft Snapshot 23w40a" – Minecraft.net,2023年10月4日
语言