23w41a是Java版1.20.3的第2个快照,发布于2023年10月11日,为所有版本加入了Realms支持,加入了饰纹陶罐的新功能,重新加入了与函数有关的命令,改进了命令执行限制有关机制,并修复了一些漏洞。 新内容常规粒子更改方块饰纹陶罐- 现在可在其中放置最多一叠的同类物品。
- 现在漏斗、漏斗矿车和投掷器可以向饰纹陶罐中放置物品,和/或从其中去除物品。
- 红石比较器现在可检测其中放置的物品数量。
- 玩家现在可以与之交互,并可以在其中放置物品。
- 玩家的交互动作会使它们wobble,并且发出频率为11的振动。
- 没有对应界面,其中的物品需要玩家将其破坏后才能取出。
- 现在饰纹陶罐可被弹射物击毁,使其碎裂并掉落其所有内容物。
- 现在可以堆叠至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)。
/execute- 重新加入了(if|unless) function条件子命令。
- 用于执行一个函数或函数标签,并检查其返回值是否满足条件。若指定的是函数标签,无论结果如何,标签内靠前的函数都会被执行。
- 语法:... (if|unless) function -> execute
- 参数:
- 满足以下条件时,函数才会执行:
- 必须至少成功执行一个函数才能匹配成功。
- 函数成功执行必须满足下列条件:
- 如果没有任何函数以/return命令退出,if或unless都不会执行。
/return- 重新加入了run子命令,语法:/return run ...。
- 此函数用于从所指定的命令中取得返回值,并将其作为其自身返回值返回给函数。
- 如果指定的命令不返回任何值(如调用一个没使用/return命令的函数),/return命令不会执行,函数会继续执行。
- 如果指定的命令执行失败,返回值为0。
- 除此之外的其他情况下,此命令的表现与在/return命令中手动指定return值的表现一致。
- 如遇会产生执行分支的情况(如执行/return run execute as @e run 一些命令命令),最先被执行的命令的返回值会被返回。
- 如果没有任何命令被实际执行(如执行/return run execute if @e[不可能的条件] run 一些命令命令),函数将不会返回,并继续执行后续命令。
常规数据包Realms- 现在在所有版本(包括所有非正式版)中可用。
- 只要有处于活动状态的Realms订阅,任何玩家都可以创建一个免费的快照版Realm。
- 快照版Realm与普通Realm分开,以避免出现任何问题,从而影响普通Realm。
- 最近一次进入的世界的版本会在Realm列表中显示。
- 可在新创建的Realm世界中使用实验性功能。
修复修复了26个漏洞1.20前正式版的漏洞- MC-16937 — 禁用PvP时,将箭射入下界传送门可以对任何人造成伤害。
- MC-50319 — 有主箭矢离开传送门时会丢失其所有者信息。
- MC-81656 — 决定凋灵之首是否为蓝色的字段不会保存到NBT中,也不会从NBT中读取此字段。
- MC-118403 — 在队伍中的唤魔者召唤出的恼鬼不会加入对应队伍中。
- MC-143266 — 嵌套的函数调用会在其加入执行队列前重新评估maxCommandChainLength游戏规则的值。
- MC-143269 — 已生成命令执行队列时,受到maxCommandChainLength游戏规则的影响,函数中的嵌套的中间函数会被跳过。
- MC-189227 — 教学提示上使用的是旧纹理。
- MC-198113 — 不完整的命令不会使函数停止加载。
- MC-233276 — 玩家可以喂食满好感度的驴、马、羊驼或骡,此时手部动画不显示。
- MC-234323 — 文本解析有性能问题。
- MC-236341 — 玩家可以给成年驴、马或骡喂食干草捆,但不播放对应的手部动画和动物的进食动画与进食声音。
- MC-236501 — 被重命名过的矿车和船物品,放置后,此名称不显示在其实体的上方。
- MC-249408 — 运输船放置后其名字会丢失。
- MC-257786 — 游戏会花很长时间来处理玩家离开Realms组、接受或拒绝Realms邀请的操作。
- MC-260576 — 不完整的/execute summon命令仍会执行。
- MC-262105 — 如果玩家非常靠近一个实体的判定箱时,玩家的刷扫动作会被终止。
1.20的漏洞- MC-261682 — 被刷扫的方块超出范围后,刷扫动作会继续进行。
1.20.1的漏洞- MC-263575 — 刷扫可疑的沙子或可疑的沙砾,若刷扫过程被半途终止,方块在物品完全缩回前不受重力影响。
- MC-263660 — 告示牌和悬挂式告示牌的“告示牌:晃动”字幕是一样的,会导致翻译问题。
1.20.2的漏洞- MC-264595 — /return命令位于其他函数中时不能执行函数。
- MC-264699 — 只有命令不以/return run开始时,函数才能返回命令输出。
- MC-264710 — 从函数中执行的/execute if function命令总是失败,而/execute unless function总是成功。
- MC-264880 — Programmer Art资源包的GUI滑块使用的是新纹理。
- MC-265516 — 某些Realms菜单中的“取消”按钮是菜单中的唯一元素,但仍可以通过键盘导航键取消选择。
上个开发版本的漏洞- MC-265647 — 乘船时,手臂持盾的位置不正确。
- MC-265656 — 不再能用剪刀雕刻南瓜。
来源:Minecraft Wiki
|