1.20.3是Java版即将到来的一次次要更新,发布时间待定,加入了“1.21更新”内置数据包,改进了盾牌,更改了聊天组件序列化,为所有版本加入了Realms支持,加入了饰纹陶罐的新功能,重新加入了与函数有关的命令,改进了命令执行限制有关机制,并修复了一些漏洞。[1]
新内容[]
常规[]
- 在实验性内容中加入了“1.21更新”内置数据包。
- 加入了
playersNetherPortalDefaultDelay
和playersNetherPortalCreativeDelay
游戏规则,用于控制玩家需要在下界传送门内停留多长时间(单位:游戏刻)才能进入另一个维度,分别适用于生存和冒险模式,以及创造模式,默认值分别为80
和1
。 - 加入了
projectilesCanBreakBlocks
游戏规则,用于控制弹射物是否可以破坏紫颂花和饰纹陶罐,以及三叉戟是否可以破坏滴水石锥。默认为true
。
- 加入了损坏存档文件处理屏幕,为玩家提供了以备份恢复的选项,及在漏洞追踪器上报告漏洞的快捷链接。
- 加入了
hideSplashTexts
,默认为false
。
- 加入了
dust_plume
和white_smoke
粒子。
- 加入了下列伤害类型标签:
#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
时,无论用何种方式破坏,饰纹陶罐都会碎裂。
物品[]
- 现在玩家使用盾牌格挡时,持盾的手臂将在第三人称视角下跟随玩家的视角转动。
非生物实体[]
- 常规
- 现在所有无生命的实体,其名称都会在被玩家观察且
CustomName
NBT标签被设置时显示,或在CustomNameVisible
NBT标签被设置时一直显示,与所有有生命的实体类似。
游戏内容[]
- 将饰纹陶罐加入红石方块类别中。
命令格式[]
- 更改了
/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 一些命令
命令),函数将不会返回,并继续执行后续命令。
- 如果没有任何命令被实际执行(如执行
- 如果指定的命令不返回任何值(如调用一个未使用
- 此函数用于从所指定的命令中取得返回值,并将其作为其自身返回值返回给函数。
常规[]
- 对已配置的结构地物定义文件(
data/minecraft/worldgen/structure
)做了以下更改:- 向
jigsaw
类型的结构地物加入了可选的pool_aliases
列表字段。 - 别名代表通过重定向结构池在单独的结构实例上的引用,而重新建立拼图结构池联系的可能性。
- 别名类型在
type
字段里指定,并可为下列之一:direct
:从一个别名到一个结构池的一对一映射。alias
:要被替换的结构池。target
:要替换为的结构池。
random
:从一个别名到多个结构池的一对n映射,从n个结构池中随机选出一个用于此结构实例。alias
:要被替换的结构池。targets
:要替换为的结构池的候选结构池随机列表。
random_group
groups
:每组均为上述别名类型的随机列表。- 每个结构实例仅选择一组。
- 此字段使诸如“如果结构池X被X1替换,则也将结构池Y替换为Y1”这样的建模选择可被实现。
- 向
- 将数据包版本号更改为
21
。
- 对于实体类型
tnt
的格式:- 加入了
block_state
。- 此字段支持指定一个已渲染的方块模型的替代品。
- 将
Fuse
重命名为fuse
。
- 加入了
- 纯文本聊天组件(只有文本内容,无并列的组件,无格式)现在总会被序列化成字符串,而非
{"text": "字符串"}
。 - 聊天组件现在会在通过网络发送时序列化。
- 聊天组件现在允许有可选的
type
值(包括text
、translatable
、score
、selector
、nbt
和keybind
),以提升解析与错误检查的速度。- 向类型为
nbt
的聊天组件中加入了source
字段,所支持的值为entity
、block
和storage
。
- 向类型为
id
字段若采用show_entity
hoverEvent
格式,可接受4个整型值所构成的数组形式的UUID。translate
组件内的数值与布尔型参数不再被转换成字符串。- 不再支持下列JSON文本表达式:
null
[]
- 若下列类型字段中出现错误,现在将不再被静默忽略:
color
clickEvent
hoverEvent
hoverEvent[action=show_entity].contents.name
hoverEvent[action=show_item].contents.tag
- 现在在所有版本(包括所有非正式版)中可用。
- 只要有处于活动状态的Realms订阅,任何玩家都可以创建一个免费的快照版Realm。
- 快照版Realm与普通Realm分开,以避免出现任何问题,从而影响普通Realm。
- 最近一次进入的世界的版本会在Realm列表中显示。
- 可在新创建的Realm世界中使用实验性功能。
- 将资源包版本号更改为
19
。 - 加入了
crafter
方块模型、物品模型和方块状态定义文件。 - 加入了
crafter
的GUI容器纹理和精灵图。 - 加入了
white_smoke
粒子定义。
- 向
skeletons
实体标签中加入了骷髅马。 - 向
impact_projectiles
实体标签中加入了烟花火箭。
新内容(实验性)[]
方块[]
- 工作台的变种,交互界面与工作台类似,需要用5个铁锭、1个工作台、2个红石粉和1个投掷器合成。
- 可以根据放置的方向决定其朝向。
- 挖掘合成器的合适工具是镐。合成器被破坏后会掉落自身。
- 合成器的交互界面可以由多名玩家同时操作。玩家可以在交互界面中配置需要的配方,产物将会出现在输出格中,但无法直接拿取。
- 合成器交互界面中的合成方格可以被禁用。
- 可以通过与任意合成方格交互来禁用该方格,对已禁用的合成方格再次交互将重新启用该方格。
- 被禁用的合成方格无法通过漏斗、投掷器等可输入物品的方块输入物品。
- 尝试向已禁用的合成方格放置物品时将立即取消禁用该合成方格,同时置入物品。
- 作为容器,合成器可以被漏斗等红石元件输入物品,同时,也可以向其他容器输出物品。
- 输入到合成器的物品的位置按下列规则决定:
- 被禁用的合成方格会被直接跳过。
- 若有空的未禁用的合成方格,则按从左到右,从上到下的顺序选取首个空合成方格。
- 若无空的未禁用的合成方格,则优先选取同类物品堆叠数最小的合成方格。若有多个,则按从左到右,从上到下的顺序选择首个同类物品堆叠数最小的合成方格。
- 若未能找到合适的合成方格,则按容器已满处理。
- 输入到合成器的物品的位置按下列规则决定:
- 红石比较器可以读取合成方格占用数,每个非空或被禁用的合成方格会增加1级信号强度,可能的取值为0到9。
更改(实验性)[]
常规[]
- 向
mineable/pickaxe
和needs_stone_tool
方块标签中加入了合成器。
修复[]
- 修复了56个漏洞
- 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-189261 — 许多与Realm有关的按钮和文本的大小写不正确。
- MC-198113 — 不完整的命令不会使函数停止加载。
- MC-221558 — 粒子效果设置为最小时,光源方块粒子不显示。
- MC-223774 — 烟花火箭不能用于破坏紫颂花。
- MC-225364 — 冒险模式下,紫颂花可被弹射物破坏。
- MC-225365 — 冒险模式下,滴水石锥可被三叉戟破坏。
- MC-227255 — 蜂箱和蜂巢无法通过结构方块正确旋转或镜像。
- MC-232719 — 搜索存档时,单人游戏菜单中的滚动条的位置不会重置到顶部。
- MC-233276 — 玩家可以喂食满好感度的驴、马、羊驼或骡,此时手部动画不显示。
- MC-234323 — 文本解析有性能问题。
- MC-234483 — 在某些Realm的菜单中,展示世界的槽位的左边缘上会有一些奇怪的像素点。
- MC-236341 — 玩家可以给成年驴、马或骡喂食干草捆,但不播放对应的手部动画和动物的进食动画与进食声音。
- MC-236501 — 被重命名过的矿车和船物品,放置后,此名称不显示在其实体的上方。
- MC-236946 — 盾牌抵御攻击时,向量的归一化计算错误。
- MC-249408 — 运输船放置后其名字会丢失。
- MC-253819 — 钟通过结构方块或拼图方块加载时无法正确旋转。
- MC-254850 — 管理员可以踢出将该世界对局域网开放的玩家。
- MC-255173 — 坐标值较大时,下界传送门的传送会出现偏差。
- MC-257786 — 游戏会花很长时间来处理玩家离开Realms组、接受或拒绝Realms邀请的操作。
- MC-260576 — 不完整的
/execute summon
命令仍会执行。 - MC-262027 — 由
/execute store
命令创建的结果接收者会被函数中的所有命令调用。 - MC-262105 — 如果玩家非常靠近一个实体的判定箱时,玩家的刷扫动作会被终止。
- MC-263123 — 经验修补在将工具完全修复后错误计算溢出的经验值。
- 1.20的漏洞
- MC-261303 — 饰纹陶罐拥有未使用的
cracked
方块状态。 - MC-261682 — 被刷扫的方块超出范围后,刷扫动作会继续进行。
- MC-262888 — 点击世界加载屏幕上的“我知道我在做什么!”的声音过大。
- 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-264966 — 玩家的头会导致
Signature is missing from Property textures
出现在有些存档的日志中。 - MC-265462 — 在游戏启动阶段发送资源包将导致长时间显示加载地形中屏幕。
- MC-265515 — Realm菜单上的“你似乎还没有Realm”界面元素不能通过鼠标光标选中。
- MC-265516 — 某些Realms菜单中的“取消”按钮是菜单中的唯一元素,但仍可以通过键盘导航键取消选择。
- MC-265517 — 打开“添加Realm”界面时,其上的“购买Realm服务器!”按钮会自动选中。
- MC-265519 — 在Mac设备上以全屏模式游玩时,点击屏幕特定区域会导致游戏窗口最小化。
- MC-265551 — “"没有未决邀请!”提示框现在不能被翻译。
- MC-265589 — 如果命令中有无效语法,Brigadier抛出的异常会被反复记录。
- MC-265814 — TNT矿车产生爆炸或是直接消失取决于其受到的爆炸伤害类型。
参考[]
- ↑ "Minecraft Snapshot 23w40a" – Minecraft.net,2023年10月4日
语言