1.21.6-pre1是Java版1.21.6的首个预发布版,发布于2025年5月28日[1],修复了一些漏洞。
新内容
常规
- 物品模型映射
- 物品模型定义现在包含可选项oversized_in_gui,默认为
false
。- 如该项设置为
true
,物品在物品栏中渲染时可以超出槽位边框;否则,物品将在边框处被截断。
- 如该项设置为
- 加入了动态模型
minecraft:player_head
,用于渲染玩家的头。- 该模型使用
minecraft:profile
组件所指定的玩家的纹理。在该纹理下载完成前,会先以默认玩家的纹理渲染。 - 无其他字段。
- 该模型使用
- 控制
- 加入了新按键绑定“Quick Actions”,允许玩家打开一系列对话框。
- 按键默认为G。
- 其行为由对话框标签
#quick_actions
控制。- 如果此标签为空,则不执行任何操作。
- 如果标签内有一个元素,则打开这一个对话框。
- 如果标签内有多个元素,则打开一个对话框列表。
- 此选项用于自定义内容和服务器,默认为空。
- 对话框
- 对话框现在可以配置打开时是否暂停单人游戏。
- 现在,每个对话框都可以输入并提交信息。
- 因此移除了专用于提交的对话框类型。
- 现在的顺序为:主体元素、输入控件、提交操作。
- 新增对话框操作类型:
- 除
open_file
外的所有点击事件都可以作为操作类型。- 格式与文本组件相同,只需将
action
替换为type
。
- 格式与文本组件相同,只需将
dynamic/run_command
- 使用宏模板构建
run_command
点击事件。 - 例如,如果宏模板为
some_command $(some_input)
,则使用key
为some_input
的输入控件提交的字符串进行替换。 - 未使用的值将忽略,未提交的值将被替换为空字符串。
- 格式如下:
template
:一个字符串,包含将要被解析为命令的宏模板。
- 使用宏模板构建
dynamic/custom
- 此操作将使用所有输入值构建
custom
点击事件。 - 所有输入内容都将在一个复合标签内一起发送,每个输入的标签值放在该输入的
key
字段的id
下。 - 可以将其他静态字段添加到负载。
- 格式如下:
additions
:可选的复合标签,将要被添加到负载。id
:命名空间ID。
- 此操作将使用所有输入值构建
- 除
更改
方块
- 失水恶魂
- 现在失水恶魂的湿润阶段发生变化时会发出振动频率为11的振动。
- 现在其音效
block.dried_ghast.ambient
和block.dried_ghast.ambient_water
由“环境”分类移动到“方块”分类。
物品
- 鞍、马铠、地毯
- 现在剪下后会发出振动频率为6的振动。
生物
- 快乐恶魂
- 现在骑乘快乐恶魂的玩家不再能穿过另一个被玩家骑乘的快乐恶魂。
常规
- 数据包
- 将数据包版本号更改为
79
。
- 资源包
- 将资源包版本号更改为
63
。
- 文本组件
custom
点击事件已拓展为完整的NBT标签。
- 物品模型映射
- 动态模型
minecraft:head
现在不再支持从minecraft:profile
组件读取玩家信息。- 当
kind
值设置为player
且未设置纹理覆盖时,将渲染玩家的默认纹理。
- 当
- 对话框
- 对话框共通字段:
pause
:是否暂停单人游戏屏幕,默认为true
。after_action
:点击或提交后应执行的操作。close
:默认值,关闭对话框并返回上一个非对话框界面(如果有)。none
:不操作。- 仅在
pause
为false
时可用,以防止锁定游戏。
- 仅在
wait_for_response
:将当前对话框替换为Waiting for Server屏幕。- 用于防止玩家连接较慢时接收到多个对话框。
- 服务器会发送新的对话框替换此屏幕。
- 为避免锁定,“返回”按钮将在5秒后显示。
- 点击此按钮就如同关闭对话框一样返回上一个屏幕。
- Waiting for Server屏幕不会暂停单人游戏。
- 用于防止玩家连接较慢时接收到多个对话框。
inputs
:输入控件的列表。
- 对话框类型:
multi_action
、server_links
和dialog_list
- 删除
on_cancel
字段,以exit_action
替代,依然是ESC的默认行为。 - 如果
exit_action
不存在,则没有框尾元素,ESC不起作用。
- 删除
- 删除
simple_input_form
对话框类型。- 由于任何对话框都可以有输入,因此可由
notice
替代。
- 由于任何对话框都可以有输入,因此可由
- 删除
multi_action_input_form
对话框类型。- 由于任何对话框都可以有输入,因此可由
notice
替代,依靠不指定exit_action
来去除框尾。
- 由于任何对话框都可以有输入,因此可由
- 输入控件类型:
- 为适应新的
custom
点击事件,所有的输入控件都将提交字符串或NBT标签,具体取决于上下文。 text
:- 作为表单模板:原样提交。
- 作为NBT标签:字符串标签。
boolean
:- 作为表单模板:选中时为
on_true
,未选中时为on_false
。 - 作为NBT标签:选中时为
1b
,未选中时为0b
。
- 作为表单模板:选中时为
number_range
:- 作为表单模板:当前值的字符串文本。
- 为整数时依旧不包含小数点。
- 作为NBT标签:值的浮点数,带
f
后缀。
- 作为表单模板:当前值的字符串文本。
- 为适应新的
- 对话框主体类型:
- 主体元素中的文本组件现在会正常处理悬停事件和点击事件。
- 点击事件由对话框处理,这意味着还会触发
after_action
。
- 点击事件由对话框处理,这意味着还会触发
- 主体元素中的文本组件现在会正常处理悬停事件和点击事件。
- 操作:
- 由于普通对话框和输入对话框的合并,操作的格式已改变。
- 每次操作后,对话框都会执行
after_action
中的内容。 - 格式更改如下:
- 保留按钮共通字段。
- 加入了
actions
字段,用以代替on_click
和on_submit
:type
:对话框操作类型。- 其他字段随类型而定。
修复
- 修复了26个漏洞
- 1.21前正式版的漏洞
- MC-94800 — 打开URL对话框后显示的URL没有被缩短。
- MC-140819 — 讲台模型超出物品栏槽位。
- MC-200092 —
/setworldspawn
命令忽略了angle
参数。 - MC-272825 — 23w31a及更早版本中的自定义地图在更高版本中无法正确升级。
- 1.21.5的漏洞
- MC-280276 — 悬浮在地面上时,一些物品的模型仍然可能切入下方方块。
- MC-297868 — 当游戏规则
keepInventory
开启时,死亡时armor.body
和saddle
槽位中的物品不会保留。 - MC-297893 — 魔咒效果
prevent_equipment_drop
对armor.body
和saddle
槽位中的物品不生效。 - MC-297894 —
/clear
命令无法清除armor.body
和saddle
槽位中的物品。
- 1.21.6开发版本的漏洞
- MC-296420 —
/datapack create
命令可以创建名称非法的目录。 - MC-296431 — 由于物品纹理被裁剪到槽位内部,无法用资源包遮盖物品栏槽位的边框。
- MC-296458 — 物品栏中的玩家的头没有显示正确的皮肤。
- MC-297275 — 在快乐恶魂上跳跃的玩家会与坐骑失去同步。
- MC-297550 — 在有其他玩家控制快乐恶魂时取消骑乘会导致快乐恶魂无法正确地停下。
- MC-297807 — 点击对话框警告页面中的“保存并退出到标题”会进入服务器列表,即使世界是单人游戏或本地托管的局域网。
- MC-297817 — 新放置的画有时会出现在不同的位置。
- MC-297848 — 从对话框离开世界时,菜单背景在短时间内不显示。
- MC-297897 — 玩家可以向下穿过快乐恶魂。
- MC-297899 — 云层导致FPS下降。
- MC-297906 — 在专用服务器上运行长输出命令会踢出玩家且不会在日志中记录输出。
- MC-297915 — 自定义名称为空时,实体的名称标签不能正常显示。
- MC-298071 — 25w16a以来,所有自然生成的僵尸村民都没有职业。
- 上个开发版本的漏洞
- MC-298101 — 嗅探兽现在显示挖掘动画,而不是行走动画。
- MC-298116 — 确认打开链接屏幕中的警告文本不再可见。
- MC-298117 — 当没有选择Realm时,Realms屏幕底部的所有按钮都是可点击的。
- MC-298139 — 物品纹理超出槽位大小的部分会错误地剪接到相邻槽位中。
- MC-298146 — 屏幕分辨率较高时,GUI物品消失。