1.21.6是追逐天空的正式版,也是Java版的一次次要更新,发布于2025年6月17日[1]。此次更新加入了失水恶魂、快乐恶魂、挽具等运输相关特性以及定位栏,并修复了一些漏洞。此版本不兼容1.21到1.21.5的服务端。
在下界中作为下界化石的一部分自然生成。
可使用1个灵魂沙和8个恶魂之泪合成。
可通过与猪灵以物易物获得。
被放置时默认处于“干枯”状态,含水时经过3个状态,持续约20分钟后会生成一只小恶魂。
不再含水时,失水恶魂会逐渐恢复到“干枯”状态。
改变湿润状态会发出频率为11的振动。
物品 挽具一种能够装备在快乐恶魂上的物品,允许玩家骑乘快乐恶魂。
可使用3个皮革、2个玻璃和1个羊毛合成。
可通过与染料合成以重新染色。
对快乐恶魂使用剪刀可卸下其装备的挽具。
音乐唱片加入了新的音乐唱片“Tears”,作者是Amos Roddy。
当恶魂被玩家反弹的火球杀死后掉落。
稀有度为“少见”。
通过红石比较器输出的红石信号强度为10。
刷怪蛋加入了快乐恶魂刷怪蛋。
鞍加入了合成配方:
此配方在物品栏中获得首个皮革时解锁。
为拴绳断裂加入了新音效entity/leashknot/break。
剪刀为剪下鞍、马铠和羊驼身上的地毯分别加入了新音效mob/horse/armor_unequip、mob/horse/saddle_unequip和mob/llama/unequip。
生物 快乐恶魂一种生命值为20(
幼年形态快乐恶魂被称为小恶魂,有着不同的行为:
生成后会尝试跟随以下生物:
半径16格内的玩家
半径16格内的非水生成年友好生物
若附近没有合适的可跟随生物,小恶魂会在其原点位置(生成位置或最后与之交互的位置)32格内游荡。
会在20分钟后成长。
可被喂食雪球以加速成长,也会被雪球吸引。
可装备挽具,最多允许4名玩家骑乘。
被骑乘时护目镜会下降并遮住眼睛,表示能够被控制。
未被骑乘时护目镜会升起,并且快乐恶魂会开始在原点位置附近游荡。
第一个骑乘快乐恶魂的玩家会坐在最前方,能够控制它。
后来骑乘的玩家会坐在两侧的槽位上,以第一个骑乘的玩家开始顺时针排序。
玩家按下潜行会脱离快乐恶魂。
玩家位于其上方时会停止移动。
会被雪球和挽具吸引。
已装备挽具时不会被挽具吸引。
无法繁殖和乘船。
会缓慢地自然恢复生命值,降雨、降雪或飞行高度与云的高度相同时会加快恢复速度。
游荡时会保持位于原点位置(生成位置或最后与之交互的位置)64格内。
已装备挽具时会更靠近原点位置,保持位于32格内。
单独游荡时会尝试靠近方块。
恼鬼加入了
加入了
加入了“补水保湿!”农牧业进度。
将失水恶魂放入水中时获得。
加入了“移心接木”冒险进度。
将嘎枝之心放入两块朝向正确的苍白橡木原木之间时获得。
属性加入了camera_distance属性,用于修改第三人称视角下相机与玩家或被旁观实体的距离,默认值4.0。
如果被骑乘的实体的属性camera_distance更大,则会使用更大值。
此距离会与scale属性相乘以得出最终相机距离。
选项加入了“云层距离”视频设置选项以调整云层渲染范围,默认为128个区块。
在“音乐和声音选项”界面中加入了“音乐播放频率”选项,控制音乐在世界中播放的间歇时间,默认为20分钟。
在“音乐和声音选项”界面中加入了“显示音乐弹窗”选项,控制音乐开始播放时及游戏暂停菜单中是否显示当前播放的音乐弹窗。
在“音乐和声音选项”界面中加入了“用户界面”音量滑动条。
定位栏一种在多人游戏中允许玩家定位其他玩家的界面元素。
定位栏的定位依赖于路径点。
玩家相机视野夹角120°内的路径点会在定位栏上显示不同颜色的指示器。
路径点在相机视域(即屏幕)上/下方时,则会显示指向它的箭头。
队伍中的玩家或生物的路径点的颜色由其所处的队伍颜色决定。
默认情况下,所有玩家都会传输出一个路径点,所有玩家也会接收所有路径点。
潜行、在头盔槽戴有雕刻南瓜或生物头颅、隐身状态效果会使玩家不在定位栏中显示。
旁观模式玩家只会在其他旁观模式玩家的定位栏中显示。
会在普通情况下占用经验条的位置。
游戏规则加入了locatorBar,默认启用。
将其关闭时,游戏会断开所有玩家与路径点源的连接,移除路径点,但不会移除路径点源。
迷雾加入了2种迷雾类型:维度或Boss迷雾和大气迷雾。
统计信息加入了happy_ghast_one_cm统计信息。
音乐在樱花树林、森林、沙漠、雪林、繁茂洞穴生物群系和主菜单中加入了5首新的音乐曲目,作者是Amos Roddy:
Below and Above
Broken Clocks
Fireflies
Lilypad
O’s Piano
命令格式 /datapack加入了子命令create,用于在当前世界文件夹下创建空数据包。
新数据包所支持的数据包版本号总是等于当前游戏支持的版本号。
仅限服主使用。
语法:
datapack create <id> <name>
id:数据包名称,必须为有效的文件夹名称。
name:pack.mcmeta中
用于向客户端显示对话框的新命令。
语法:
dialog show <targets> <dialog>
向玩家显示对话框。
返回targets参数中玩家的数量。
dialog clear <targets>
清除玩家可见的对话框。
返回targets参数中玩家的数量。
参数:
<targets>:玩家名称、UUID或玩家选择器。
<dialog>:dialog注册表中的命名空间ID或内联对话框定义。
/version用于输出服务端的版本信息。
无附加参数。
需要一定的权限等级。
/waypoint用于查询或修改路径点。
语法:
waypoint list
waypoint modify <entity-selector> color <color>
waypoint modify <entity-selector> color hex <hex-color>
waypoint modify <entity-selector> color reset
waypoint modify <entity-selector> style set <waypoint_style/resource>
waypoint modify <entity-selector> style reset
参数:
entity-selector:目标选择器,选择传输路径点的实体。
color:覆写此路径点在定位栏上的图标颜色。
hex-color:以Web格式(RRGGBB)覆写此路径点在定位栏上的图标颜色。
/playsound现在[<类别>]可接受ui作为可选项,归入声音分类用户界面控制。
此类别的声音即使在游戏暂停时也会播放,类似于音乐。
参数类型加入了hex_color和dialog。
世界生成 随机斑块枯叶斑块patch_leaf_litter现在要求生成位置下方一格是草方块。
常规 进度定义格式加入了player_sheared_equipment触发器。
当玩家对实体使用剪刀剪下装备时触发。
条件如下:
item:被剪下的物品。
entity:被修剪的实体。
控制加入了新按键绑定“快捷操作”,允许玩家打开一系列对话框。
按键默认为G。
其行为由对话框标签#quick_actions控制。
如果此标签为空,则不执行任何操作。
如果标签内有一个元素,则打开这一个对话框。
如果标签内有多个元素,则打开一个对话框列表。
此选项用于自定义内容和服务器,默认为空。
数据包加入了子文件夹dialog。
调试屏幕现在按下F3 + V会输出客户端的版本信息。
对话框为玩家展示简单对话框的新方法。
对话框通常存储在dialog注册表中,但也可以内联定义。
目前是实验性功能。
为避免混淆对话框和游戏UI,自定义对话框标题部分会有一个警示标志。点击此警示标志后:
提示玩家此对话框为第三方提供。
提供强制退出世界的选项,避免玩家因进入无退出选项的对话框而陷入死循环。
如果玩家正在警告屏幕时接收到对话框,则游戏不会显示对话框,仅当玩家退出警告屏幕后才显示。
服务端也可以在play和configuration阶段展示对话框,但是configuration阶段只接受内联定义。
默认情况下按下ESC也会尝试退出对话框。如果对话框设定了特殊的退出行为则也会执行此行为,是否可通过按下ESC退出对话框也可以配置。
通常情况下,对话框关闭后会返回打开此对话框的上一个屏幕。
每个对话框都可以输入并提交信息。
对话框可以配置为在暂停菜单中进入,这拓展了之前添加的服务器链接按钮。
大多数对话框都遵循下列通用布局:
页首,包括标题和警示标志
正文内容,取决于对话框类型
页脚,包括主按钮和提交按钮
对话框可以在数据包的dialog目录下定义。
由于对话框的各种形式会复用一部分标签,因此先行列出。
通用标签:
type:对话框类型。
title:文本组件,对话框标题。
external_title:可选,文本组件,用于覆写展示此对话框的标题。
body:对话框主体,默认为空列表。
inputs:对话框输入控件,默认为空列表。
can_close_with_escape:是否可以通过按下ESC来退出对话框。
按钮通用标签:
label:文本组件,按钮的文本。
tooltip:可选,文本组件,按钮高亮的提示文本。
width:按钮的宽度,默认为150。
对话框类型
notice
一个页脚包含一个按钮的屏幕。
退出动作由action指定。
字段如下:
通用标签
action:点击行为,默认为gui.ok。
confirmation
页脚有两个按钮的屏幕。
退出行为由no指定。
字段如下:
通用标签
yes:点击行为。
no:点击行为。
multi_action
一个可以滚动的列表。
页脚依旧提供退出的按钮。
未指定时,按钮文本为gui.cancel,点击行为为gui.back。
退出动作由exit_action指定。
字段如下:
通用标签
actions:操作的非空列表。
exit_action:退出操作。
columns:正整数,按钮的列数。默认为2。
server_links
一个可以滚动的列表,来源minecraft:server_links网络数据包。
页脚依旧提供退出的按钮。
行为与multi_action一致。
退出行为由exit_action指定。
字段如下:
通用标签
exit_action:退出操作。
columns:正整数,按钮的列数。默认为2。
button_width:正整数,按钮的宽度,默认为150。
dialog_list
一个可以指向其他对话框的可滚动列表。
这些对话框使用external_title作为预览标题。
页脚依旧提供退出的按钮。
行为与multi_action一致。
退出行为由exit_action指定。
字段如下:
通用标签
dialogs:一个对话框,或对话框的列表(不可混用命名空间ID和内联定义形式),或一个对话框标签。
exit_action:退出操作。
columns:正整数,按钮的列数。默认为2。
button_width:正整数,按钮的宽度,默认为150。
对话框主体类型
所有的对话框都可以定义对话框主体,对话框主体在页首之下。
共通字段如下:
type:对话框主体类型。
plain_message
一个多行的信息。
字段如下:
contents:文本组件。
width:信息的最大宽度,默认为200。
item
一个带描述的物品。
指定了description后就如同物品栏中的物品提示信息一样。
物品会向在物品栏中一样渲染。
物品本身不受width和height影响。
字段如下:
item:带数量的物品堆叠。
description:可以为文本组件,也可以为:
contents:文本组件。
width:内容的最大宽度,正整数,默认为200。
show_decorations:如果为true,则额外渲染物品数量、耐久度信息。默认为true。
show_tooltip:如果为true,则会渲染物品提示框。默认为true。
width:内容元素的宽度,默认为16。
height:内容元素的高度,默认为16。
输入控制类型
输入控制允许玩家输入不同的数据。
当提交数据时,这些值会转换为字符串或对应的NBT数据以提交到服务端。
通用字段如下:
type:输入控制类型。
key:一个标识符,只能为字母、数字或下划线。
text
文本输入。
数据会先将特殊字符转义后再发送。
字段如下:
width:输入宽度,默认为200。
label:文本组件,显示输入标题。
label_visible:输入是否可见,默认为 true。
initial:初始值,默认为空。
boolean
一个复选框,用以输入是或否。
字段如下:
label:文本组件,渲染在复选框右侧。
initial:初始值。
on_true:勾选时的值。默认为true。作为NBT发送时为1b。
on_false:不勾选时的值。默认为false。作为NBT发送时为0b。
single_option
可以通过点击切换选项的输入框。
发送当前选定的值。
字段如下:
label:文本组件,按钮上的文本。
label_visible:文本是否在按钮内。默认为true。
width:按钮的宽度,默认为200。
options:可选值,格式如下:
id:要发送的值。
display:覆写选项展示的值(不影响发送的值)。
initial:是否是初始值。此列表只能有一个初始值。
也可以直接指定字符串,此时与只指定id等同。
max_length字段,表示输入文本的最大长度。
multiline字段,存在时允许输入多行文本。
max_lines:如果存在,则限制最大行数。
height:最大高度,取值在1至512之间。
number_range
一个可选滑块的输入。
发送当前值,但整数不会带小数点。作为NBT发送时为带f后缀的浮点数。
字段如下:
label:文本组件,按钮的基础描述文本。
label_format:按钮的文本格式。第一个参数为label,第二个为当前值。
width:按钮的宽度,默认为200。
start:左侧的值。
end:右侧的值。
step:正整数,决定是否采用分立取值,若指定则只允许输入区间内符合initial + <any integer> * step的值。
initial:初始值,必须在区间里,默认为中间的值。
操作类型
除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。
维度类型加入了可选字段
生物共通标签中加入了
为所有AI生物加入了
设置此值的大部分生物只会在“家”周围的限定范围内寻路。
蝙蝠、史莱姆、岩浆怪、幻翼和末影龙可能忽略此影响。
骑乘或使用拴绳会改变部分生物的“家”位置。
兴趣点加入了test_instance兴趣点。
资源包加入了子文件夹waypoint_style。
语言加入了坎塔布里亚语和印尼语(改革前)。
纹理加入了icon/music_notes和toast/now_playingUI精灵图。
物品模型映射物品模型定义现在包含可选项
如该项设置为true,物品在物品栏中渲染时可以超出槽位边框;否则,物品将在边框处被截断。
加入了动态模型minecraft:player_head,用于渲染玩家的头。
该模型使用minecraft:profile组件所指定的玩家的纹理。在该纹理下载完成前,会先以默认玩家的纹理渲染。
无其他字段。
Realms新增了“地区偏好”设置,允许更精细地控制启动的Realms服务器所在的区域。
可以指定一个可选地区,也可以选择根据Realms所有者或者首个加入会话的玩家的延迟自动决定地区。
在Realms加载屏幕中加入了Realms徽标。
在连接到Realms时加入了地区信息。
声音事件加入了新的声音分类用户界面,控制诸如按钮点击等UI元素的声音。
闪烁标语加入了以下闪烁标语:
Music by Aaron Cherof!
Music by Kumi Tanioka!
Music by Amos Roddy!
Flint and Steel!
Chicken Jockey!
文本组件加入了点击事件custom。
当玩家点击带有此样式的文本时,客户端会向服务端发送minecraft:custom_click_action专用数据包。
预期用途是作为修改过的服务端的run_command的替代品,这样就无需担心添加自定义的命令。
此数据包在原版服务端上没有任何作用。
加入了点击事件show_dialog。
当玩家点击带有此样式的文本时,客户端会打开指定的对话框。
加入了下列方块标签:
#triggers_ambient_desert_sand_block_sounds:sand和red_sand。
在沙子和红沙的环境音效判定中有效的方块。
#happy_ghast_avoids:sweet_berry_bush、cactus、wither_rose、magma_block、fire和pointed_dripstone。
快乐恶魂不会主动靠近的方块。
#triggers_ambient_dried_ghast_block_sounds:soul_sand和soul_soil。
控制上方的失水恶魂产生环境音效的方块。
加入了下列实体标签:
#can_equip_harness:happy_ghast。
能装备挽具的实体。
#followable_friendly_mobs:armadillo、bee、camel、cat、chicken、cow、donkey、fox、goat、horse、skeleton_horse、llama、mule、ocelot、panda、parrot、pig、polar_bear、rabbit、sheep、sniffer、strider、villager、wolf和happy_ghast。
会被幼年快乐恶魂[原文如此]跟随的非幼年实体。
加入了下列物品标签:
#happy_ghast_food:snowball。
可用于喂食快乐恶魂的物品。
#happy_ghast_tempt_items:#happy_ghast_food和#harnesses。
可用于引诱快乐恶魂的物品。
#harnesses:white_harness、orange_harness、magenta_harness、light_blue_harness、yellow_harness、lime_harness、pink_harness、gray_harness、light_gray_harness、cyan_harness、purple_harness、blue_harness、brown_harness、green_harness、red_harness和black_harness。
所有挽具物品。
加入了空对话框标签:#pause_screen_additions和#quick_actions。
更改 方块 所有陶瓦不再发出环境音效。
矮枯草丛和高枯草丛现在当下方两格均为沙子、红沙或任何陶瓦时会发出特殊的环境音效。
沙子和红沙现在会发出的环境音效不再包括“风声”。
略微降低了播放环境音效的概率。
修改了判断是否播放环境音效的逻辑,现在不需要方块本身露天,只需要上方一格为空气。
枯萎的灌木略微提升了播放环境音效的概率。
下界传送门回退了1.21.5中对MC-101556的修复。
物品 烟花火箭玩家滑翔时,对方块放置烟花火箭只会为玩家助推,而不是在方块上点燃烟花。
拴绳可牵引长度由10格增长到12格,以判定箱中心距离计算。
渲染厚度变为原来的两倍,与基岩版效果统一。
现在可以连接任意两个生物,而非只能将生物连接到玩家。
玩家牵引生物时对另一生物潜行使用拴绳会试图将拴绳连接转移到被点击的生物,但如果新连接距离太远,会立刻断裂则不会成功。
拴绳不能连接一个生物与其自身。
现在可以对被拴绳拴住的生物使用剪刀,以剪断拴绳连接。
装有剪刀的发射器也会试图剪断面前生物的拴绳连接。
被拴绳牵引时,生物会转向被牵引的方向。
玩家在牵引其他生物时使用烟花火箭推进会破坏拴绳连接。
尝试拴上已经被拴住的生物时,除非该生物由其他玩家拴住,否则将会破坏原有连接,并由玩家拴住该生物。
玩家与拴绳结的交互变化如下:
使用时,会先尝试将玩家牵引的生物拴到拴绳结上,如果均不成功,则由玩家牵引其可牵引的所有生物;如拴绳结此后没有拴住任何生物,其将消失。
潜行使用时,只会试图将玩家牵引的生物拴到拴绳结上。
使用剪刀或攻击时,所有生物会由玩家牵引。
由快乐恶魂牵引的拴绳自由长度为10格,最大牵引长度为16格。
船、运输船、骆驼、马、骡、驴和嗅探兽在连接到快乐恶魂上时,会用四根绳子连接二者的四角。
如果快乐恶魂佩戴有挽具,在如此连接时会额外显示拴绳图层。
现在合成配方中的黏液球被替换为线。
苍白橡木船和苍白橡木运输船更改了纹理。
生物 恶魂纹理现在有更高的分辨率,以匹配快乐恶魂。
现在默认具有0.06飞行速度属性。
玩家增加了旁观或骑乘恶魂、末影龙和巨人时的第三人称相机距离。
狼、绵羊和猪更新了纹理模型,现在腿部也是镜像的。
马、驴和骡现在可以通过喂食胡萝卜以治疗它们、加速其幼年变种成长和使其更容易驯服。
现在可以对其使用剪刀以剪下其所佩戴的鞍、马铠或地毯。
当这些实体正被骑乘,或玩家潜行使用剪刀时,上述行为不会发生。
带有剪刀的发射器不能从上述生物上移除相应的佩戴物。
会发出振动频率为6的振动。
骆驼、骷髅马、僵尸马、猪、炽足兽、羊驼现在可以对其使用剪刀以剪下其所佩戴的鞍、马铠或地毯。
非生物实体 区域效果云实体数据Particle字段现已重命名为custom_particle,需要为默认有色粒子entity_effect的精确覆盖。
指定entity_effect或tinted_leaves时,颜色不再从药水效果中继承。
喷溅药水药水效果持续时间现在取决于生物碰撞箱与喷溅药水判定箱之间的距离。
即现在直接被喷溅药水击中的生物能获得完整的药水效果。
弹射物弹射物的目标差幅不再为固定的0.3格,而是会在弹射物生成2游戏刻(0.1秒)后从0起每刻增加0.05格,直到达到原来的0.3格差幅。
这提高了近距离使用弹射物的精准度。
被激活的TNT部分回退了对MC-3697的修复;现在,TNT在水中爆炸时再次会破坏物品实体和盔甲架,但仍不会破坏画和物品展示框等装饰性实体。
游戏内容 粒子firefly_particle的生命周期由36 – 180游戏刻更改为200 – 300游戏刻。
隐身现在会100%降低生物的waypoint_transmit_range属性。
云现在会一直延伸到地平线。
云的颜色不再能由纹理clouds.png修改。
更新了clouds.png。
包含一个向右旋转90°的苦力怕图案。
迷雾改善了迷雾的氛围。
现在降雨和雷暴天气会有更多的迷雾。
属性现在飞行速度属性(flying_speed)影响恶魂的飞行速度。
音乐和声音现在游戏暂停时,音乐也会播放。
音效更改了以下音效的名称:
entity/leashknot/break1→entity/leashknot/unleash1
entity/leashknot/break2→entity/leashknot/unleash2
entity/leashknot/break3→entity/leashknot/unleash3
entity/leashknot/place1→entity/leashknot/leash1
entity/leashknot/place2→entity/leashknot/leash2
entity/leashknot/place3→entity/leashknot/leash3
世界生成 林地府邸结构1x1_b5.nbt现在会正常生成。
地物数据格式树木装饰器place_on_ground现在不能在除树叶外的阻止运动方块或流体下方放置地物。
战利品表移除了以下结构战利品箱中的鞍,并以1 – 5个皮革代替:
地牢战利品箱
远古城市战利品箱
沙漠神殿战利品箱
丛林神庙战利品箱
要塞祭坛战利品箱
常规 全景图更新了主菜单全景图以匹配追逐天空。
数据包将数据包版本号更改为80。
暂停屏幕游戏现在会根据数据包和服务端的网络数据包判断是否展示自定义的对话框。
此对话框依旧使用external_title展示标题。
此功能由对话框标签#pause_screen_additions参与处理:
如果未指定此标签或此标签为空,但服务端发送了server_links网络数据包,则显示server_links。
如果标签有一个元素,则会替换“报告漏洞”按钮,显示此对话框按钮。
如果有多个元素,则按钮指向custom_options对话框,此对话框会调用标签依次显示对话框。
数据组件painting/variant组件不再接受内联变种。
在attribute_modifiers组件中的属性修饰符项加入了可选字段
格式如下:
更改了以下声音分类的英文名称:
Friendly Creatures → Friendly Mobs
Hostile Creatures → Hostile Mobs
将block.sand.wind重命名为block.dry_grass.ambient。
移除了空事件entity.puffer_fish.ambient。
配方将床和地毯的染色配方的配方种类由building更改为misc。
将挽具的合成与染色配方的配方种类由misc更改为equipment。
文本组件现在聊天屏幕和成书屏幕中点击事件run_command指定的命令若无法解析或所需的权限等级大于0,则玩家点击文本后会出现一个确认屏幕。
Realms更改了Realms配置屏幕的外观,现在分为4个标签页——世界、玩家、订阅和设置。
资源包将资源包版本号更改为63。
方块模型旋转角度不再必须为22.5的倍数。
字体Unifont已更新至16.0.03。
加入了新的内置字体include/unifont_pua,包含了Unifont中位于私用区的未编码字,这些字符由Under-CSUR(Under-ConScript Unicode Registry)管理码位。
游戏文本默认不会使用该字体,但可以在文本组件等中指定该字体。
自定义字体字形提供器unihex的
将方块标签#plays_ambient_desert_block_sounds重命名为#triggers_ambient_desert_dry_vegetation_block_sounds。
在实体标签#dismounts_underwater和#fall_damage_immune中加入happy_ghast。
向#horse_food物品标签中加入了carrot。
纹理全景图纹理现在必须为大小相同的正方形。
移除了状态效果图集,而textures/mob_effect/文件夹中的精灵图现在移动到了GUI图集中,这意味着状态效果图标纹理现在是GUI纹理。
物品模型映射动态模型minecraft:head现在不再支持从minecraft:profile组件读取玩家信息。
当kind值设置为player且未设置纹理覆盖时,将渲染玩家的默认纹理。
JSON世界、包、配置等使用的JSON解析器现在均以严格模式解析文件。
游戏测试系统服务器重新启动后,测试框架将不再尝试重新启动此前运行的测试。
客户端核心文件--quickPlaySingleplayer命令行参数现在可以不指定标识符,以启动上次游玩的世界。
闪烁标语移除了“Minors welcome!”。
将“Pumpa kungen!”闪烁标语改为“Pumpakungen!”。
将“10 years of Mining and Crafting!”闪烁标语改为“15 years of Mining and Crafting!”。
着色器与后处理管线所有核心着色器的Uniform现在都是Uniform块。
内置的Uniform现在都是Uniform块,而不是不透明松散的Uniform。
后处理管线的Uniform现在使用Uniform块。
JSON中的Uniform现在按块定义。
对后处理管线定义作如下更改:
拓展
persistent,默认为false。
如果为true,则渲染目标将在每帧之间持久化存在。
调整屏幕大小时渲染目标的内容会被清除。
clear_color,默认为[0, 0, 0, 0],格式为[R, G, B, A]。
渲染目标被创建或清除时,将使用此值填充颜色。
Uniform现在是每个块的列表,而不是全局列表,且其顺序必须与着色器的顺序匹配。
弃用了name字段。
移除了values字段,现在使用value字段指定Uniform。
仍然为必选项,格式视type而定:
int – 单个整数
float – 单个浮点数
vec2 – 两个浮点数的列表
vec3 – 三个浮点数的列表
ivec3 – 三个整数的列表
vec4 – 四个浮点数的列表
matrix4x4 – 四行四列浮点数的列表
Uniform类型不会被验证是否适用于指定的着色器,指定不合适的数据可能导致未定义的行为。
对后处理管线程序作如下更改:
现在每个Uniform不再是分立的不透明的类型,而是打包进Uniform块内。
它们将根据JSON定义的通道进行设置,并且在顶点着色器和片段着色器之间共享。
大小的列表(所有vec2*Size的Uniform)现在被单个Uniform块SamlerInfo取代。
包含按顺序的输入纹理大小和输出纹理大小。
定义文件的纹理顺序决定采样器的顺序。
对于大多数后链而言这只是以前的OutSize(vec2)和InSize(vec2)。
post/bits.fsh:
需要BitsConfig,包含Resolution(float)和MosaicSize(float)。
post/blit.fsh:
需要BlitConfig,包含ColorModulate(vec4)。
post/blur.vsh和post/box_blur.fsh:
需要BlurConfig,包含BlurDir(vec2)和Radius(float)。
post/color_convolve.fsh:
需要ColorConfig,包含RedMatrix(vec3)、GreenMatrix(vec3)和BlueMatrix(vec3)。
post/invert.fsh:
需要InvertConfig,包含InverseAmount(float)。
post/rotscale.vsh:
需要RotScaleConfig,包含InScale(vec2)、InOffset(vec2)和InRotation(float)。
post/spiderclip.fsh:
需要SpiderConfig,包含Scissor(vec4)和Vignette(vec4)。
GlobalsUniform块
可以通过#moj_import <minecraft:globals.glsl>引用。
大多数着色器都能接收此Uniform块,尽管通常不使用它。
包含ScreenSize、GlintAlpha、GameTime和MenuBlurRadius。
MenuBlurRadius是打开菜单时背景的模糊半径。
FogUniform块
可以通过#moj_import <minecraft:fog.glsl>引用。
大多数着色器都能接收此Uniform块,尽管通常不使用它。
包含FogColor、FogRenderDistanceStart、FogRenderDistanceEnd、FogSkyEnd、FogCloudsEnd、FogEnvironmentalStart和FogEnvironmentalEnd。
FogSkyEnd是绘制天空时雾的截止位置。
FogCloudsEnd是绘制云时雾的截止位置。
FogRenderDistanceStart是渲染距离迷雾的起始位置。
FogRenderDistanceEnd是渲染距离迷雾的截止位置。
FogEnvironmentalStart是环境迷雾的起始位置。
FogEnvironmentalEnd是环境迷雾的截止位置。
ProjectionUniform块
可以通过#moj_import <minecraft:projection.glsl>引用。
大多数着色器都能接收此Uniform块,尽管通常不使用它。
包含ProjMat。
DynamicTransformsUniform块
不可用于通常不使用它的着色器。
包含ModelViewMat、ColorModulator、ModelOffset、TextureMat和LineWidth。
一些值是硬编码的,对于给定的着色器可能没有意义。
LightingUniform块
可以通过#moj_import <minecraft:light.glsl>引用。
大多数着色器都能接收此Uniform块,尽管通常不使用它。
如果着色器不使用该值,可能没有意义。
包含Light0_Direction和Light1_Direction。
CloudInfoUniform块
仅用于渲染云的着色器rendertype_clouds.vsh/fsh。
包含CloudColor、CloudOffset和CellSize。
CellSize是云的单元格的大小。
LightmapInfoUniform块
仅用于光照渲染的着色器lightmap.fsh。
包含AmbientLightFactor、SkyFactor、BlockFactor、UseBrightLightmap、NightVisionFactor、DarknessScale、DarkenWorldFactor、BrightnessFactor和SkyLightColor。
对迷雾着色器进行了如下更改:
迷雾现在分为环境迷雾和基于渲染距离的迷雾。
此前,这两种概念在同一个Uniform中混用。
环境迷雾用于形成玩家所处环境(比如水、熔岩、细雪,现在还有大气)的“朦胧感”,由球面距离影响其强度。
渲染距离迷雾用于模糊可见地形的边界,由圆柱距离影响其强度。
对于任何给定的顶点,得到的迷雾值是两种迷雾强度的最大值。
修复 修复了76个漏洞 1.21前正式版的漏洞MC-36696 — 点击菜单屏幕中的统计信息按钮会将游戏推进1游戏刻。
MC-69821 — 世界重载后,TNT“忘记了”点燃它的玩家。
MC-94800 — 打开URL对话框后显示的URL没有被缩短。
MC-104231 — 加载自定义结构不会正常加载铁轨。
MC-112730 — 信标光柱和结构方块每帧渲染两次。
MC-118430 — 恼鬼的生成者尽管用于AI任务,却未存储于NBT中。
MC-118432 — 恼鬼的生成者不会在其死亡后重置。
MC-140819 — 讲台模型超出物品栏槽位。
MC-147260 — 地图图标不在制图台中显示。
MC-191306 — /playsound会在所有维度中播放音效。
MC-200092 — /setworldspawn命令忽略了angle参数。
MC-200925 — 恶魂不受投掷到头上的药水影响。
MC-217887 — 1.9-pre1及之前版本的未署名的书不能正确升级。
MC-230902 — 低渲染距离下天空尽头有时会出现黑块。
MC-236464 — 重新加载区块后,从玩家下方发出的信标光柱不可见。
MC-238931 — 云在被雾挡住前就停止渲染了。
MC-240121 — 1x1_b5.nbt部件不会在林地府邸中生成。
MC-256411 — 云会根据视角不完全渲染。
MC-257532 — 1.18的世界高度更改后,云不再填满天空了。
MC-258336 — 使用线程化或半阻塞区块构建器时,冰霜行者在区块边界频繁产生视觉崩坏。
MC-262268 — 键盘导航在书与笔GUI中无效。
MC-264431 — #minecraft:sand标签中包含两个minecraft:suspicious_sand。
MC-266318 — 活板门和门的被打开/被关闭字幕不一致。
MC-272825 — 23w31a及更早版本中的自定义地图在更高版本中无法正确升级。
1.21.1的漏洞MC-276264 — 进度界面阴影渲染于物品图标下。
MC-277369 — 将举报保存为草稿时,举报草稿图标不会立刻显示。
MC-277370 — 放弃举报时,举报草稿图标不会立刻消失。
MC-277486 — 状态效果图标忽略mcmeta文件中的scaling参数。
1.21.2的漏洞MC-275374 — CanBreakDoors:1b的溺尸不能破门。
MC-279417 — 将生物引诱到Y=-64的方块上会使其向最大高度寻路。
1.21.3的漏洞MC-277903 — 创造模式物品栏标签栏图标会显示物品冷却贴图。
MC-277992 — 苍白橡木运输船物品中的1种颜色错误。
MC-278459 — unifont.json包含尾随逗号。
MC-278466 — 收纳袋实验性数据包相关字符串不在deprecated.json中。
1.21.4的漏洞MC-278873 — 在1.13版本前对花盆使用Ctrl+选取方块获取物品后,数据修复器会重新生成包含此物品的区块,或是使物品栏中包含此物品的玩家的游戏崩溃。
MC-279284 — 掷出的附魔之瓶生成的经验球很容易卡进方块中。
1.21.5的漏洞MC-279515 — 运行设定大范围的/test clearall命令时,游戏卡死。
MC-279875 — 不能从悬空脚手架斜向爬上台阶。
MC-280047 — 启用Programmer Art资源包的温带牛使用其1.14纹理。
MC-280266 — 萤火虫灌木丛不会与基岩版一样产生同样多、或数量恒定的粒子。
MC-280268 — 烈焰人和旋风人使用“大型”刷怪蛋而非因生物大小正常使用“中型”刷怪蛋。
MC-280276 — 悬浮在地面上时,一些物品的模型仍然可能切入下方方块。
MC-280281 — 浮漂在勾上移动的实体时快速抖动。
MC-280297 — 草丛和泥土的音量不一致。
MC-280471 — 区域效果云的Particle.color是只读的。
MC-280502 — 翻译键snbt.parser.undescore_not_allowed包含一处拼写错误。
MC-293619 — Programmer Art中的鸡刷怪蛋纹理缺少与物品栏槽位背景颜色匹配的像素。
MC-293754 — Minecraft偶尔导致OpenGL错误。
MC-295395 — 实体与下界传送门的交互不同。
MC-295677 — 关闭“欢迎进入Minecraft”屏幕后,标题屏幕自黑色淡入。
MC-295681 — 枯叶能在林地府邸内部生成。
MC-295690 — 玩家短暂接触火后会持续着火。
MC-295850 — 创建世界“编辑游戏规则”屏幕中的“完成”和“取消”按钮起同一效果。
MC-295866 — 某些情况下,/setblock和/fill命令不再更新红石信号强度。
MC-295867 — 对上个版本的结构运行DataFixerUpper时失败。
MC-295879 — 疾跑中攻击船并上此船致其陷入下方方块。
MC-295895 — 1.21.5中,矿车穿越下界传送门的行为损坏。
MC-295914 — 战利品表文件接受无效JSON。
MC-295944 — 重新加载会导致无职业的僵尸村民获得随机的职业服装。
MC-296035 — mooshroom_spawn_egg中的两个像素与cow_spawn_egg中相同。
MC-296099 — 下界传送门碰撞箱是否工作取决于基本方向。
MC-296121 — ClientboundLevelChunkPacketData缓冲区过大。
MC-296337 — 矿车导致内存使用量增加并引发崩溃。
MC-296348 — NoAI:1b的生物在1.21.5及以上版本中不能被骑乘。
MC-296420 — /datapack create命令可以创建名称非法的目录。
MC-296624 — Programmer Art中缺失旧版棕色哞菇纹理。
MC-296638 — 使用“极佳!”画质时,具有特殊显示上下文的时钟、指南针和磁石指针不会渲染附魔光效。
MC-296701 — 被转化的实体不会保留其custom_data组件。
MC-296709 — 更新到1.21.4后,所有现有物品的非默认的jukebox_playable组件均被移除。
MC-296784 — “欢迎进入Minecraft”屏幕缺少淡化。
MC-296866 — 部分命名空间的谓词不能在/execute中访问。
MC-297264 — 猫的种类不再基于种子随机。
MC-297347 — 已驯服的动物不再在其主人穿越到其他维度时坐下。
MC-297461 — 装备和睡觉坐标数据在1.21.4中不能加载,但在1.21.5中能加载到生成于蜂巢和蜂箱的蜜蜂。
MC-297537 — 多余的“entity.wolf_whine.whine”声音事件存在于sounds.json中。
MC-297591 — 末影珍珠可能会意外停止。