1.21.11.md 76 KB


version-image-link: https://test.fukit.cn/autoupload/f/eVhYusBtjOJG2qfZ4rUTz9iO_OyvX7mIgxFBfDMDErs/20251212/aFfS/1170X500/image.png/webp server-jar: https://piston-data.mojang.com/v1/objects/64bb6d763bed0a9f1d632ec347938594144943ed/server.jar translator: 最亮的信标 cats: ['1.21','1.21.11']

link-to-detail-on-main-page: true

今天,“Mounts of Mayhem(群骑纷争)”强势登陆 Minecraft,带来全新的可操使武器、可驯服坐骑、强敌对手与作战策略!在炽烈的阳光下、夜空之中、甚至深海之底,都有挑战者等待与你交锋——每一次对抗都需要全新的策略。拿起“矛”这把全新的分阶武器,用你的准度与坐骑的速度来造成伤害;上界的骑手们——整装待发,率领坐骑冲锋,迎接群骑纷争更新!

新特性

  • 新增鹦鹉螺与僵尸鹦鹉螺
  • 新增鹦鹉螺甲
  • 新增矛武器
  • 更新了一些进度以包含鹦鹉螺、僵尸鹦鹉螺、僵尸马、骆驼尸壳与焦骸
  • 新增图形选项“纹理过滤”与“各向异性过滤”
  • 新增下界合金马铠,可在锻造台将钻石马铠升级获得

鹦鹉螺

  • 鹦鹉螺是一种新的中立水生生物
  • 在所有海洋群系中生成
  • 受激时会使用冲刺攻击
  • 偶尔会对范围内的河豚发起冲刺攻击
  • 具有类似骆驼的冲刺技能,按跳跃键触发
  • 上岸会因窒息受到伤害
  • 会为骑乘的玩家添加“鹦鹉螺之息”效果
  • 可使用河豚或一桶河豚进行繁殖与驯服
  • 会自然消失,但与玩家互动后会变为持久
  • 被驯服的鹦鹉螺:
    • 可用鞍进行骑乘
    • 装有鞍时游荡半径为 16 格
    • 未装鞍时游荡半径为 32 格

僵尸鹦鹉螺

  • 僵尸鹦鹉螺是一种新的水下生物,会与持三叉戟的溺尸骑手一起生成
  • 只有在被敌对生物骑乘时才会敌对
  • 行为与鹦鹉螺类似,但无法繁殖

珊瑚僵尸鹦鹉螺 —— 僵尸鹦鹉螺拥有一种珊瑚变种,会在暖水海洋群系生成

鹦鹉螺甲

  • 可供鹦鹉螺与僵尸鹦鹉螺装备
  • 提供铜、金、铁、钻石与下界合金版本

焦骸

  • 新的骷髅变种
  • 在沙漠中于光照等级 0 生成,替代部分普通骷髅
  • 不会在阳光下燃烧
  • 射出虚弱之箭
  • 免疫虚弱效果
  • 射速相比普通骷髅更慢,类似沼骸
  • 不在洞穴生成,遵循尸壳的生成规则

骆驼尸壳

  • 新的亡灵骆驼变种
  • 在沙漠中于光照等级 0 处生成
  • 不会在阳光下燃烧
  • 生成时乘有两名骑手:持矛的尸壳与焦骸
  • 不在洞穴中生成,遵循尸壳的生成规则
  • 若骑手为敌对生物则敌对
  • 无骑手时为被动
  • 随其他敌对生物一同自然消失,但与玩家互动后会变为持久
  • 最爱食物是兔子脚
  • 无法繁殖
  • 作为坐骑的行为与普通骆驼相同
  • 被杀死时掉落 2–3 个腐肉,每级抢夺额外掉落 0–1 个

矛

  • 新武器,可制作为木、石、铜、铁、金、钻石与下界合金版本
  • 不同材料拥有不同的计时属性,影响可用速度
  • 具有最小伤害距离,过近将不会造成伤害
  • 相比其他工具与武器具有更长的最大攻击距离
  • 命中时会有回弹的视觉效果
  • 拥有两种攻击:戳刺与冲锋
  • 不会触发物品交互振动
  • 僵尸、流浪者、僵尸化猪灵与猪灵可携带矛生成
  • 金矛被猪灵视为偏好武器

戳刺

  • 快速按下主操作键以使用
  • 低伤害并带击退
  • 攻击之间有冷却
  • 木矛冷却最快;下界合金最慢
  • 可命中多个敌人
  • 不会破坏方块

冲锋攻击

  • 按住次要操作键使用
  • 伤害基于矛材质、玩家视角以及玩家与目标的速度
  • 按住期间,攻击会经历三个阶段后回到空闲:
    • 发动:若速度超过阈值,矛可造成伤害、击退并使被骑乘的实体下马
    • 疲惫:矛竖直并抖动以示,此阶段若速度超过阈值可造成伤害与击退(但不下马)
    • 脱离:矛下垂指向下方以示,此阶段若速度超过阈值只造成伤害,不产生击退或下马
  • 生物使用矛时的攻击距离为玩家的一半,但其造成伤害、下马与击退所需速度阈值更低
  • 僵尸、流浪者、僵尸化猪灵与猪灵会使用矛进行冲锋

突进魔咒

  • 矛专属附魔
  • 仅对戳刺攻击生效
  • 使用突进进行戳刺时,玩家会沿视线方向水平推进
  • 视角需完全水平以获得最大突进距离
  • 使用突进会消耗 1 点耐久,且与附魔等级无关
  • 使用突进会通过增加玩家疲劳来消耗饥饿值,类似奔跑或跳跃
    • 1 级消耗 1 点饥饿;2 级消耗 2 点;3 级消耗 3 点
    • 饥饿槽至少有 6 点时才能使用突进
  • 在水中或用鞘翅飞行时不生效

进度

  • 增加了 “生物串串香”:使用矛的冲锋攻击一次戳中五个生物
  • 更新了 “为什么会变成这样呢?” 进度以包含鹦鹉螺之息效果
  • 更新了 “永恒的伙伴” 进度以包含鹦鹉螺、僵尸鹦鹉螺以及僵尸马
  • 更新了 “鹦鹉与蝙蝠” 进度以包含鹦鹉螺
  • 更新了 “成双成对” 进度以包含鹦鹉螺
  • 更新了 “怪物猎人” 进度以包含僵尸鹦鹉螺、僵尸马、骆驼尸壳与焦骸
  • 更新了 “抖包袱”、“瞄准目标” 与 “它蔓延了” 进度以包含鹦鹉螺、僵尸鹦鹉螺、僵尸马、骆驼尸壳与焦骸
  • 更新了 “金光闪闪” 进度以包含金矛与金鹦鹉螺甲

纹理过滤

  • 视频设置中的新选项
  • 控制以斜角或远距离观看纹理时的采样方式
  • 可选值为 “无”、“RGSS” 与 “各向异性”
  • 默认值取决于图形预设与硬件
  • “RGSS”是一种基于着色器的过滤方式,在中等性能开销下提升纹理清晰度
    • 在所有硬件上可用
  • “各向异性” 是一种基于硬件的过滤方式,提供最佳纹理清晰度
    • 最大各向异性可为 “2x”、“4x”、“8x”,由单独的滑块控制
    • 如硬件不支持,各向异性过滤不会产生效果
    • 这会显著增加显存占用(尤其在 mipmap 层数较高时)

更改

  • 僵尸、尸壳、猪灵与僵尸猪灵现在可以手持矛
  • 猪灵现在会将金矛视为偏好物品之一
  • 鹦鹉现在也会模仿僵尸鹦鹉螺、僵尸马、骆驼尸壳与焦骸的声音
  • 物品在耐久度发生变化时不再“上下浮动”,例如攻击损耗耐久或被经验修补修复时
  • 对调试渲染器进行了一些更改
  • 图形模式“流畅”、“高品质”与“极佳!”已被同名的图形预设所替代
  • 服务器中的所有玩家现在看到的云移动一致
  • 下界合金马铠的护甲值在身体槽位由 11 提升至 19
  • 若在视频设置中启用,世界中的所有方块现在都应用了 mipmap
    • 先前不含 mipmap 的方块(如不同种类的藤蔓、铁轨、除树叶外的植被等)在远距离下的观感应更佳
  • 对大多数玩家而言,客户端帧率预计会更高
  • 水下生物群系雾的颜色与距离现在会基于玩家在不同生物群系之间的位置进行混合,类似常规生物群系雾与天空颜色
  • 下界中的环境雾不再依赖渲染距离设置,将始终在 10 到 96 格范围内应用
  • 当由玩家骑乘时,马、骡、驴与骆驼不再在水中下沉
  • 区块现在会通过渐隐方式载入,而非凭空出现;可在“视频设置”中调整渐隐时间
  • 蝙蝠不再在 10 月 20 日至 11 月 3 日期间更频繁、在更高光照等级下生成
  • 日出与日落时的天空颜色现在会受降雨与雷暴影响
  • 当由生物控制时,马、骡、驴、骆驼、僵尸马与骆驼尸壳不会惊慌失措
  • 创造模式物品栏中的刷怪蛋已按类别重新分组
  • 当游戏规则 minecraft:spawn_mobs 设为 false 时,区块生成过程中不再生成生物
  • 当关闭“透视树叶”时,树叶之间的空隙现在为深绿色而非黑色
  • 关闭“透视树叶”现在带来的性能提升比之前更大
  • 新增提示语 “人不可轻易步入远方地”

[!DEVNOTE] 上述说法已在 2025 年 10 月 4 日被证伪。(译者注:指 Youtuber KurtJMac 耗时 14 年抵达边境之地)

  • 驯服的马不再跑到仙人掌或甜浆果丛

僵尸马

  • 僵尸马现在会自然生成
  • 僵尸马会在黑暗中生成,并会像其他亡灵生物一样在阳光下燃烧
  • 僵尸马计入敌对生物上限,并与其他敌对生物一同生成
  • 僵尸马对玩家本身不表现出任何敌对行为;其敌意仅来自其上的僵尸骑手
  • 当其骑手被移除后,僵尸马可以被拴绳拴住
  • 僵尸马会像其他敌对生物一样自然消失
    • 但与玩家发生交互后会变为持久存在
  • 僵尸马可用与普通马相同的方式进行驯服,随后可由玩家骑乘并控制
  • 僵尸马可用红色蘑菇进行治疗与引诱
  • 被驯服的僵尸马可以装备鞍与马铠
  • 马铠可使僵尸马免受阳光伤害
  • 僵尸马拥有 25 点生命值(12.5 颗心)
  • 僵尸马有可变的移动速度与跳跃力量,在其生成时确定
  • 僵尸马被击杀时掉落 2–3 个腐肉,每级掠夺额外 0–1 个
  • 骑乘僵尸马的僵尸现在有几率在死亡时掉落一个红色蘑菇

生物生成

  • 僵尸马现在有几率在平原与热带草原生物群系类型中生成,生成时其上会有一名手持铁矛的僵尸骑手

世界生成

  • 在世界各处的战利品箱中新增了多种矛:
    • 铁矛可以在埋藏的宝藏箱中找到
    • 铜矛与铁矛可以在村庄的武器匠箱中找到
    • 石矛可以在海底遗迹的箱子中找到
    • 钻石矛可以在堡垒遗迹与末地城的箱子中找到
  • 现在有几率在以下结构的箱子中找到铜、铁、金与钻石的鹦鹉螺甲:
    • 埋藏的宝藏
    • 海底遗迹
    • 沉船

状态效果

  • 增加了鹦鹉螺之息效果
    • 作用于骑乘中的玩家
    • 暂停玩家氧气消耗(但不会恢复氧气)

对方块,物品以及实体的微调

物品

  • 创造模式物品栏中的刷怪蛋现在按以下主题分组:
    • 主世界
    • 家畜
    • 坐骑
    • 宠物
    • 野生动物
    • 水生
    • 杂项
    • 傀儡
    • 村民
    • 亡灵
    • 蜘蛛
    • 怪物
    • 掠夺者
    • 下界
    • 末地

音效

  • 铁砧的破坏、落地、放置与使用音效现在以稍低的音量播放

辅助功能

  • 访问调试特性的按键现在可以重新绑定
    • 它属于按键绑定屏幕中的新的 Debug 类别
    • F3 + Q 在聊天中显示调试帮助的按键绑定已被移除
  • 调试修饰键现在可以与调试覆盖层按键分开绑定
  • 切换 GUI 的按键现在可以重新绑定
  • 切换旁观者着色器效果(例如旁观末影人时)的按键现在可以重新绑定

输入

在 Mac 上,若干使用 cmd 键的操作已改为使用 ctrl:

  • 丢弃全部物品的输入修饰键
  • 在拾取方块时包含所有数据的输入修饰键
  • 在“视频设置”屏幕中更改 GUI 缩放的输入修饰键
  • 阻止配方书在同类物品变体之间循环的输入修饰键

性能改进

调试渲染器更改

  • 与之前一样,请不要将调试渲染器视为受支持的功能,它们仅用于辅助开发
  • 现在可以通过“调试设置”屏幕启用更多调试渲染器
  • 一些现有的渲染器得到了改进
  • 调试渲染器的性能已显著提升

图形预设

  • “视频设置”屏幕中的设置已重新排序并拆分为 3 个部分:“显示”、“质量与性能”和“界面”
  • 下列与辅助功能设置重复的选项已从“视频设置”屏幕中移除:
    • “视角摆动”
    • “附魔闪烁速度”
    • “附魔闪烁强度”
    • “视野效果”
    • “扭曲效果”
  • 先前隐藏在“图形”设置后的若干微调已拆分,现可独立配置:
    • “透视树叶”
    • “显示暗角”
    • “天气效果半径”用于配置雨雪可见的方块距离
    • “改进透明度”可在显著增加 GPU 开销的代价下解决部分透明几何体渲染问题,先前隐藏在“极佳!”之后
  • 在“质量与性能”部分顶部增加了“预设”滑块
    • 顾名思义,符合游戏行业常见做法,预设会一次性控制大多数“质量与性能”设置,而不止是先前被“图形”设置隐藏的那些
    • 可用预设为“流畅”、“高品质”、“极佳!”与“自定义”
    • 对于新玩家,默认预设为“高品质”
    • 若是升级到本版本的玩家,则会将预设设为“自定义”以保留当前配置

界面

  • 使用鼠标拖动后松开时,菜单滑块现在会“吸附”到最近的可用数值
  • 使用键盘更改滑块值时,方向键现在会将滑块移动到下一个可用数值,而非像之前那样仅移动一个像素
  • 调试选项屏幕中的 inF3 按钮已重命名为 inOverlay
  • “单一生物群系自定义”屏幕现在有搜索框
  • 语言选择屏幕新增搜索框以筛选语言
  • 将“显示音乐提示”选项重命名为“音乐提示”
    • 为“音乐提示”选项新增第三种状态,仅在暂停菜单中显示

技术性更改

  • 数据包版本现为 94.1
  • 资源包版本现为 75.0
  • Minecraft 服务器管理协议版本现为 2.0.0
  • 增加了 ClientFps JFR 事件
  • 当经验数据包不会改变玩家的经验进度或等级时,服务器将不再发送这些数据包
  • 新增 OSX 上的 KQueue 支持,以提升网络连接性能

Minecraft 服务器管理协议版本 2.0.0

  • 增加了通知 server/activity
    • 表示已开始与服务器的网络连接
    • 速率限制为每 30 秒 1 次通知
  • 在网页浏览器中启用验证
    • 当打开 WebSocket 连接时通过在 Sec-WebSocket-Protocol 头中传递 token 验证
    • 例如:Sec-WebSocket-Protocol: minecraft-v1, <token>
    • 以这种方式进行验证的请求会受到 Origin 头检查。为此需要在服务器端通过配置 management-server-allowed-origins 指定允许的来源。默认值为空,这意味着基于 Sec-Websocket-Protocol 的验证实际上被禁用
  • 在 typed_game_rule 与 untyped_game_rule 模式中,value 字段的类型由字符串更改为可取布尔值或整型值
    • 此外,现在以游戏规则的资源定位符作为键

数据包版本 89.0 至 94.1

  • 增加了 stopwatch 命令用于记录真实时间
  • 现在可以通过“环境属性”控制特定视觉与游戏效果
  • 世界边界的插值现依赖游戏刻而非真实时间
    • 这意味着当游戏暂停时,世界边界将不再移动
    • 它也会遵循 /tick 命令所作的更改
  • 更改了战利品函数 filtered,允许在谓词失败时运行修改
  • 增加了战利品函数 discard
  • 增加了新的“珊瑚僵尸鹦鹉螺”生物变种
    • 僵尸鹦鹉螺的变种现在可通过数据驱动
  • 物品纹理已从 blocks 图集拆分到新的独立 items 图集中
    • 因此此前在命令中为物品纹理引用 blocks 图集的地方,现在需要改为引用 items 图集

僵尸鹦鹉螺变种

  • 通过在 data/<namespace>/zombie_nautilus_variant/<id>.json 中添加条目,可以以数据驱动方式定义僵尸鹦鹉螺变种
  • 本特性为实验性
  • 文件字段:
    • model —— 取值之一:normal、warm
    • asset_id —— 此变种资源的命名空间 ID,解析为 assets/<namespace>/textures/<path>.png
    • spawn_conditions —— 统一的变种选择规则,见下文

生成条件

minecraft:biome —— 检查实体是否在特定生物群系中生成

  • 字段:
    • biomes —— 单个条目、列表或一个用于描述群系的标签

minecraft:moon_brightness —— 检查当前月光亮度是否处于给定范围内

  • 字段:
    • range —— 浮点数范围(可为单个数,或形如 {"min": 1, "max": 2} 的对象)

minecraft:structures —— 检查实体是否在特定结构中生成

  • 字段:
    • structures —— 单个条目、列表或一个用于描述结构的标签

命令

  • 资源建议现在会显示任何命名空间的结果,而不再仅限于 minecraft

增加了 stopwatch

  • 一条允许创建“秒表”的新命令,用于记录真实时间
  • 秒表不依赖游戏刻
  • 它们仅在服务器/世界运行时计时,即使暂停亦然

语法:

  • stopwatch create <id> —— 使用给定的命名空间 ID 创建一个秒表
  • stopwatch query <id> [<scale>] —— 显示指定秒表的已用时间(以秒为单位),并返回按提供的值缩放后向下取整(截断)的结果
    • 默认缩放:1
  • stopwatch restart <id> —— 重启指定秒表
  • stopwatch remove <id> —— 删除指定秒表

execute 的更改

  • 增加了语法 /execute if|unless stopwatch <id> <range>
  • 允许将给定 Stopwatch 的经过时间与一个浮点值区间进行比较
    • Stopwatch 的数值以秒为单位,精度最高可达毫秒
    • 示例:/execute if stopwatch foo:bar ..10 run say Stopwatch foo:bar has not reached 10 seconds yet

worldborder 的更改

  • time 参数现在默认指定为刻,但也可使用后缀 s 或 d 指定秒或游戏日

游戏规则

游戏规则已移入一个注册表中。因此,所有游戏规则已由此前的驼峰命名重命名为蛇形的资源定位符。

此外,下列游戏规则进一步重命名:

  • announceAdvancements -> minecraft:show_advancement_messages
  • commandBlocksEnabled -> minecraft:command_blocks_work
  • command_modification_block_limit -> minecraft:max_block_modifications
  • disableElytraMovementCheck -> minecraft:elytra_movement_check
    • 在使用资源定位符的地方,其取值会相应取反
  • disablePlayerMovementCheck -> minecraft:player_movement_check
    • 在使用资源定位符的地方,其取值会相应取反
  • disableRaids -> minecraft:raids
    • 在使用资源定位符的地方,其取值会相应取反
  • doDaylightCycle -> minecraft:advance_time
  • doEntityDrops -> minecraft:entity_drops
  • doImmediateRespawn -> minecraft:immediate_respawn
  • doInsomnia -> minecraft:spawn_phantoms
  • doLimitedCrafting -> minecraft:limited_crafting
  • doMobLoot -> minecraft:mob_drops
  • doMobSpawning -> minecraft:spawn_mobs
  • doPatrolSpawning -> minecraft:spawn_patrols
  • doTileDrops -> minecraft:block_drops
  • doTraderSpawning -> minecraft:spawn_wandering_traders
  • doVinesSpread -> minecraft:spread_vines
  • doWardenSpawning -> minecraft:spawn_wardens
  • doWeatherCycle -> minecraft:advance_weather
  • maxCommandChainLength -> minecraft:max_command_sequence_length
  • maxCommandForkCount -> minecraft:max_command_forks
  • naturalRegeneration -> minecraft:natural_health_regeneration
  • snowAccumulationHeight -> minecraft:max_snow_accumulation_height
  • spawnRadius -> minecraft:respawn_radius
  • spawnerBlocksEnabled -> minecraft:spawner_blocks_work

取值限制

以下原本没有取值范围限制的游戏规则现在有了限制:

  • minecraft:max_block_modifications: Minimum 1
  • minecraft:max_command_forks: Minimum 1
  • minecraft:max_command_sequence_length: Minimum 0
  • minecraft:max_entity_cramming: Minimum 0
  • minecraft:max_snow_accumulation_height: Minimum 0, maximum: 8
  • minecraft:players_nether_portal_creative_delay: Minimum 0
  • minecraft:players_nether_portal_default_delay: Minimum 0
  • minecraft:players_sleeping_percentage: Minimum 0
  • minecraft:random_tick_speed: Minimum 0
  • minecraft:respawn_radius: Minimum 0

新增 minecraft:fire_spread_radius_around_player

  • 控制火焰可在玩家周围蔓延的最大距离
    • 该项替代了先前的 doFireTick 与 allowFireTicksAwayFromPlayer 游戏规则(现已移除)
    • 设为 0 将禁用火焰蔓延
    • 设为 -1 将允许在没有玩家时也可蔓延
    • 限制:最小 -1

游戏测试

在 game_rules 测试环境中,键 bool_rule 与 int_rule 被合并为单个键 rules。它是一个从游戏规则资源定位符到其值的映射。值类型根据游戏规则不同而为整型或布尔值。

时间线

时间线是一个新的实验性概念,定义在数据包的 timeline 注册表下(即位于 data/<namespace>/timeline/<id>.json)。

时间线基于绝对昼夜时间(即 /time set 所设置的时间)来指定游戏行为。时间线可选地指定一个周期,使之循环重复。

时间线的主要用途是作为环境属性的一个来源,从而对环境属性应用修饰符,以修改游戏行为或视觉效果。

格式:包含以下字段的对象

  • period_ticks:可选整数,定义时间线的循环周期刻数
    • 若未指定,则该时间线不循环
  • tracks:可选映射,将环境属性 ID 映射到对应的环境属性轨迹对象
    • 详见下文环境属性相关章节

时间线默认不会生效,除非被某个维度引用 —— 见下文“维度类型”。

环境属性

环境属性提供了一种数据驱动的方式来控制多种视觉与游戏性系统。

每个环境属性控制一个特定的视觉或游戏效果:例如,minecraft:visual/sky_color 控制天空的颜色,而 minecraft:gameplay/water_evaporates 控制某位置是否可以放置水。

[!DEVNOTE] 该系统及本次引入的许多属性应视为高度实验性,它们在后续快照与正式版本中仍可能发生显著变化。与此同时,一如既往,我们期待并欢迎你提出任何反馈或建议!

来源

环境属性的数值可由以下环境属性来源提供(按优先级从低到高列出):

  • 维度
  • 生物群系
  • 时间线
  • 天气(未数据驱动)

生物群系作为来源会基于位置修改属性,时间线则可基于时间修改属性。

环境属性的“有效”数值(即游戏中实际呈现的)将根据各来源的优先级,对它们提供的数值进行组合。

例如,以下情形:

  • 主世界维度提供 sky_color = #00ff00(绿色)
  • 平原生物群系提供 sky_color = #ff0000(红色)

当玩家处于平原群系时,会看到红色的 sky_color;而在主世界的其他位置,则看到绿色。

当某个环境属性来源提供一个环境属性时,它可以:

  • 覆盖该数值,如上例中平原生物群系覆盖了主世界的 sky_color
  • 对之前的数值应用一个修饰符(见下文“修饰符”章节)

修饰符

如上例所述,一个环境属性来源可以直接覆盖某属性数值。然而,有时也希望对低优先级来源提供的数值施加一个修饰符,而非直接覆盖。

例如,以下情形:

  • 主世界维度提供 water_fog_end_distance = 96.0
  • 平原生物群系使用乘法修饰符(multiply 0.85)修改 water_fog_end_distance

当处于平原时,water_fog_end_distance 解析为 96.0 * 0.85 = 81.6;在主世界的任何其它群系则解析为 96.0。

可用的修饰符类型取决于环境属性的类型。最基础且每个环境属性都支持的修饰符是 override,它仅作为对前一个数值的覆盖。若来源未显式指定修饰符,则默认为 override。

所有可用修饰符及其行为的完整描述见下文“通用修饰符”章节。

插值

修饰符描述的是某来源提供的数值如何作用于先前来源的数值;而“插值”描述的是同一个来源内部多个数值之间的组合。仅部分环境属性支持插值。这允许在两个或多个数值之间进行平滑过渡,例如在两个生物群系之间移动时。

在多个生物群系之间,插值作用于来源的数值,且发生在修饰符应用之后;在时间线中,插值则作用于修饰符的参数,且发生在修饰符应用之前。

例如,以下情形:

  • 平原群系提供 sky_color = #ff0000(红)
  • 沙漠群系提供 sky_color = #ffff00(黄)

sky_color 就是一个会基于位置平滑过渡的属性:在上述情形中,玩家从平原移动到沙漠时,天空颜色会逐渐从红转为黄。而其它属性,如 water_evaporates,表示离散值,不会进行平滑过渡 —— 只考虑玩家所在精确位置的那个群系。

生物群系之间的平滑过渡基于相机周围 8 格半径内的生物群系。占据该半径更大体积且更接近相机的群系,对最终插值结果影响更大。

时间线可以定义属性轨道——通过关键帧来指定某个环境属性的修饰器随时间如何变化。根据具体属性,关键帧之间可使用插值;若不使用插值,则始终选取上一个关键帧的取值。

例如,周期为 24000 的时间线可如下设置:

  • 在时间 0:提供 sky_color = #ff0000(红)
  • 在时间 1000:提供 sky_color = #ff0000(红)
  • 在时间 6000:提供 sky_color = #ff00ff(品红)

在时间 0 到 1000 之间,天空颜色为红色;在 1000 到 6000 之间,颜色将从红逐渐过渡到品红;随后,从 6000 开始直到时间线重复回到 0,颜色会缓慢回到红色。

注意:与生物群系不同,若时间线使用的是修饰器而非覆盖,则插值应用在修饰器的参数上,而非最终被修饰后的取值。

环境属性映射

维度类型与生物群系定义包含一个新的 attributes 字段,允许它们定义环境属性。

该映射通常是一个对象,将环境属性 ID 映射到其对应取值,例如:

"attributes": {
    "minecraft:visual/fog_color": "#ffaa00",
    "minecraft:gameplay/water_evaporates": true
}

像上面这样直接定义的值,总是假定使用 override 修饰符。

不过,也可以展开值对象以表达不同的修饰符,格式为一个对象,字段如下:

  • modifier —— 可选 字符串修饰符 ID,依属性类型而定(见下文“通用修饰符”)
    • 默认:override
  • argument —— 修饰符参数(格式取决于所选修饰符)
    • 参数的使用方式也取决于修饰符类型

例如,以下定义表示将 water_fog_end_distance 乘以 85%:

"attributes": {
    "minecraft:visual/water_fog_end_distance": {
        "modifier": "multiply",
        "argument": 0.85
    }
}

属性轨迹

时间线中的属性轨迹为如下字段的对象:

  • ease —— 可选缓动类型,用于在关键帧之间对数值插值进行缓动(见下文)
    • 默认:linear
    • 若目标属性不支持插值,则缓动类型不生效
  • keyframes —— 关键帧对象列表,必须按 ticks 升序:
    • ticks —— 整数,位于 0 到 period_ticks(若已指定)之间,表示该关键帧生效的刻
    • value —— 修饰符参数(格式取决于所选修饰符)
    • 若未指定 modifier(或为 override),该字段类型与环境属性本身一致
    • 此值如何使用取决于修饰符类型
    • 注意:同一刻最多可放置两个关键帧,以实现瞬时切换
  • modifier —— 可选 字符串修饰符 ID,依属性类型而定(见下文“通用修饰符”)
    • 默认:override

例如,下面这个时间线的周期为 24000,仅包含一个对 minecraft:gameplay/cat_waking_up_gift_chance 进行修改的属性轨迹。由于缓动类型为 constant,因此在 362 到 23667 之间取值为 0.0,而在 23667 到下一个 362 之间取值为 0.7。

与其他环境属性来源一样,轨迹中指定的数值会作为 modifier 的参数,叠加在较低优先级来源之上。本例中修饰符为 maximum,因此该时间线只会把 cat_waking_up_gift_chance 的取值提高到轨迹所给的数值(不会降低)。

{
    "period_ticks": 24000,
    "tracks": {
        "minecraft:gameplay/cat_waking_up_gift_chance": {
            "ease": "constant",
            "modifier": "maximum",
            "keyframes": [
                { "ticks": 362,   "value": 0.0 },
                { "ticks": 23667, "value": 0.7 }
            ]
        }
    }
}

缓动类型

缓动类型用于通过一条曲线控制两个关键帧之间的插值。内置的缓动类型有:

  • constant - 永远选择前一个关键帧
  • linear
  • in_back
  • in_bounce
  • in_circ
  • in_cubic
  • in_elastic
  • in_expo
  • in_quad
  • in_quart
  • in_quint
  • in_sine
  • in_out_back
  • in_out_bounce
  • in_out_circ
  • in_out_cubic
  • in_out_elastic
  • in_out_expo
  • in_out_quad
  • in_out_quart
  • in_out_quint
  • in_out_sine
  • out_back
  • out_bounce
  • out_circ
  • out_cubic
  • out_elastic
  • out_expo
  • out_quad
  • out_quart
  • out_quint
  • out_sine

你也可以使用三次贝塞尔曲线指定缓动类型,格式:{ "cubic_bezier": [ x1, y1, x2, y2 ] }

  • x1: 在 0 和 1 之间的浮点数, 第一个控制点的 x 轴坐标
  • y1: 浮点数,第一个控制点的 y 轴坐标
  • x2: 在 0 和 1 之间的浮点数, 第二个控制点的 x 轴坐标
  • y2: 浮点数,第二个控制点的 y 轴坐标

[!DEVNOTE] 想要尝试并可视化各种缓动,easings.net 与 cubic-bezier.com 是很好的参考!

通用数据类型

以下数据类型会在环境属性系统的多个部分复用,后续章节会引用它们。

RGB 颜色

格式可以是以下之一:

  • 十六进制 RGB 颜色字符串,形式为 #rrggbb
  • 由 3 个分量组成的浮点数组,范围 0 到 1,形式为 [r, g, b]
  • 打包的 RGB 整数值
ARGB 颜色

格式可以是以下之一:

  • 十六进制 ARGB 颜色字符串,形式为 #aarrggbb
  • 由 4 个分量组成的浮点数组,范围 0 到 1,形式为 [a, r, g, b]
  • 打包的 ARGB 整数值
粒子选项

一个粒子的完整定义,包括任何特定类型属性(类似 /particle 命令)。

例如:

{
  "type": "minecraft:block_crumble",
  "block_state": {
    "Name": "minecraft:dirt"
  }
}
生物活动

来自 minecraft:activity 内置注册表的字符串 ID。可取值之一:

  • minecraft:core
  • minecraft:idle
  • minecraft:work
  • minecraft:play
  • minecraft:rest
  • minecraft:meet
  • minecraft:panic
  • minecraft:raid
  • minecraft:pre_raid
  • minecraft:hide
  • minecraft:fight
  • minecraft:celebrate
  • minecraft:admire_item
  • minecraft:avoid
  • minecraft:ride
  • minecraft:play_dead
  • minecraft:long_jump
  • minecraft:ram
  • minecraft:tongue
  • minecraft:swim
  • minecraft:lay_spawn
  • minecraft:sniff
  • minecraft:investigate
  • minecraft:roar
  • minecraft:emerge
  • minecraft:dig

通用修饰符

每个环境属性都有一个特定的“值类型”,它描述数值必须如何定义、支持哪些修饰符,以及如何插值。有些类型非常专用,另一些则被多个属性复用。

虽然下表并不穷尽,但以下属性类型在很多环境属性中常用:

布尔修饰符

参数格式:布尔值

  • override
  • and
  • nand
  • or
  • nor
  • xor
  • xnor
浮点修饰符

参数格式:float

  • override
  • add
  • subtract
  • multiply
  • minimum
  • maximum
  • alpha_blend
    • 按公式 result = lerp(alpha, subject, value) 修改 subject
    • 参数格式:对象,字段如下:
    • value:要混合趋近的浮点数
    • alpha:位于 0 与 1 之间的浮点数
颜色修饰符

参数格式:RGB 颜色(alpha_blend 例外)

  • override
    • 参数格式:RGB 颜色
  • add —— 分量逐项相加的颜色混合
    • 参数格式:RGB 颜色
  • subtract —— 分量逐项相减的颜色混合
    • 参数格式:RGB 颜色
  • multiply —— 分量逐项相乘的颜色混合
    • 参数格式:RGB 颜色
    • 若提供 ARGB,则 α 分量会与其他颜色通道一样独立相乘
  • alpha_blend —— 常规 α 混合(图像编辑软件常见)
    • 参数格式:ARGB 颜色
    • 当参数 α 为 1 时,行为等同 override(不进行混合)
  • blend_to_gray —— 先将颜色转为灰度,应用亮度修饰,再按因子进行混合
    • 其中 gray = brightness * (0.3 * red + 0.59 * green + 0.11 * blue),result = lerp(factor, subject, [gray, gray, gray])
    • 参数格式:对象,字段如下:
    • brightness:位于 0 与 1 之间的浮点数,作用于灰度的乘数
    • factor:位于 0 与 1 之间的浮点数,用于混合的因子
ARGB 颜色修饰符
  • override
    • 参数格式:ARGB 颜色
  • add —— 分量逐项相加的颜色混合
    • 参数格式:RGB 颜色
  • subtract —— 分量逐项相减的颜色混合
    • 参数格式:RGB 颜色
  • multiply —— 分量逐项相乘的颜色混合
    • 参数格式:RGB 或 ARGB 颜色
    • 若指定,则 α 分量会与其他颜色通道一样独立相乘
  • alpha_blend —— 常规 α 混合(图像编辑软件常见)
    • 参数格式:ARGB 颜色
    • 当参数 α 为 1 时,行为等同 override(不进行混合)
  • blend_to_gray —— 与 RGB 颜色的行为相同

新的环境属性

minecraft:visual/fog_color

(相机未沉浸在其它介质时的)雾颜色。

  • 值类型:RGB 颜色
  • 默认值:#000000
  • 修饰器:RGB 颜色修饰器
  • 是否插值:是
  • 解析位置:相机所在位置
  • 替代生物群系字段:effects.fog_color
minecraft:visual/fog_start_distance

(相机未沉浸在其它介质时)从相机开始的距离,雾从此距离开始产生影响。若为负值,则雾在相机后方该距离处“开始”,因此初始密度更高。

  • 值类型:浮点数
  • 默认值:0.0
  • 修饰器:浮点修饰器
  • 是否插值:是
  • 解析位置:相机所在位置
minecraft:visual/fog_end_distance

(相机未沉浸在其它介质时)从相机开始的距离,雾在此距离达到最大密度。

  • 值类型:非负浮点数
  • 默认值:1024.0
  • 修饰器:浮点修饰器
  • 是否插值:是
  • 解析位置:相机所在位置
minecraft:visual/sky_fog_end_distance

(相机未沉浸在其它介质时)天空雾在此距离达到最大密度。仅在 overworld 天空盒类型下可见。

注意:该值受“渲染距离”选项限制。

  • 值类型:非负浮点数
  • 默认值:512.0
  • 修饰器:浮点修饰器
  • 是否插值:是
  • 解析位置:相机所在位置
minecraft:visual/cloud_fog_end_distance

(相机未沉浸在其它介质时)云雾在此距离达到最大密度。

注意:该值受“云渲染距离”选项限制。

  • 值类型:非负浮点数
  • 默认值:2048.0
  • 修饰器:浮点修饰器
  • 是否插值:是
  • 解析位置:相机所在位置
minecraft:visual/water_fog_color

当相机沉浸在水中时的雾颜色。

  • 值类型:RGB 颜色
  • 默认值:#050533
  • 修饰器:RGB 颜色修饰器
  • 是否插值:是
  • 解析位置:相机所在位置
  • 替代生物群系字段:effects.water_fog_color
minecraft:visual/water_fog_start_distance

从相机开始的距离,水下雾从此距离开始产生影响。若为负值,则雾在相机后方该距离处“开始”,因此初始密度更高。

  • 值类型:浮点数
  • 默认值:-8.0
  • 修饰器:浮点修饰器
  • 是否插值:是
  • 解析位置:相机所在位置
minecraft:visual/water_fog_end_distance

从相机开始的距离,水下雾在此距离达到最大密度。

注意:最终取值还受玩家在水下停留时长影响。

  • 值类型:非负浮点数
  • 默认值:96.0
  • 修饰器:浮点修饰器
  • 是否插值:是
  • 解析位置:相机所在位置
  • 替代生物群系标签:#has_closer_water_fog
minecraft:visual/sky_color

天空的颜色。仅在主世界天空下可见,仅在 overworld 天空盒类型下可见。

  • 值类型:RGB 颜色
  • 默认值:#000000
  • 修饰器:RGB 颜色修饰器
  • 是否插值:是
  • 解析位置:相机所在位置
  • 替代生物群系字段:effects.sky_color
minecraft:visual/cloud_color

云的颜色。若完全透明,则云会彻底禁用,且“快乐恶魂”在云层高度时不会更快地恢复生命值。

  • 值类型:ARGB 颜色
  • 默认值:#00000000
  • 修饰器:ARGB 颜色修饰器
  • 是否插值:是
  • 解析位置:渲染时为相机位置;或快乐恶魂恢复生命值时为其所在位置
minecraft:visual/cloud_height

所有云出现的高度。

  • 值类型:浮点数
  • 默认值:192.33
  • 修饰器:浮点修饰器
  • 是否插值:是
  • 解析位置:渲染时为相机位置;或快乐恶魂恢复生命值时为其所在位置
  • 替代维度类型字段:cloud_height
minecraft:visual/default_dripstone_particle

在其上方没有流体时,滴水石方块默认滴下的粒子。

  • 值类型:粒子参数
  • 默认值:{type:"minecraft:dripping_dripstone_water"}
  • 修饰器:override
  • 是否插值:否
  • 解析位置:滴水石方块所在位置
  • 替代维度类型字段:ultrawarm
minecraft:visual/ambient_particles

控制相机周围随机生成的环境粒子。

  • 值类型:对象列表,包含以下字段:
    • particle:要生成的粒子参数
    • probability:浮点数(0 到 1),在随机刻时于空位生成该粒子的概率
  • 默认值:[]
  • 修饰器:override
  • 是否插值:否
  • 解析位置:相机所在位置
  • 替代生物群系字段:effects.particle
minecraft:visual/sunrise_sunset_color

控制日出与日落效果的颜色与强度。若完全透明,则不渲染日出或日落效果。仅在 overworld 天空盒类型下可见。

  • 值类型:ARGB 颜色
  • 默认值:"#00000000"
  • 修饰器:ARGB 颜色修饰器
  • 是否插值:是
  • 解析位置:相机所在位置
minecraft:visual/sun_angle

太阳的角度,单位为度,沿东西方向顺时针,0 表示正上方。仅在 overworld 天空盒类型下可见。

  • 值类型:浮点数(角度,单位度)
  • 默认值:0.0
  • 修饰器:浮点修饰器
  • 是否插值:是
  • 解析位置:相机所在位置
minecraft:visual/moon_angle

月亮的角度,单位为度,沿东西方向顺时针,0 表示正上方。仅在 overworld 天空盒类型下可见。

  • 值类型:浮点数(角度,单位度)
  • 默认值:0.0
  • 修饰器:浮点修饰器
  • 是否插值:是
  • 解析位置:相机所在位置
minecraft:visual/star_angle

星空的角度,单位为度,沿东西方向顺时针,0 表示正上方。仅在 overworld 天空盒类型下可见。

  • 值类型:浮点数(角度,单位度)
  • 默认值:0.0
  • 修饰器:浮点修饰器
  • 是否插值:是
  • 解析位置:相机所在位置
minecraft:visual/moon_phase

月相。仅在 overworld 天空盒类型下可见。

  • 值类型:字符串 ID,可为:
    • full_moon
    • waning_gibbous
    • third_quarter
    • waning_crescent
    • new_moon
    • waxing_crescent
    • first_quarter
    • waxing_gibbous
  • 默认值:"full_moon"
  • 修饰器:override
  • 是否插值:否
  • 解析位置:相机所在位置
minecraft:visual/star_brightness

天空中星星的亮度,0.5 为夜间的正常亮度,0 表示完全隐藏。仅在 overworld 天空盒类型下可见。

  • 值类型:浮点数(0 到 1)
  • 默认值:0.0
  • 修饰器:浮点修饰器
  • 是否插值:是
  • 解析位置:相机所在位置
minecraft:visual/sky_light_color

天空光的视觉颜色。对于天空光等级为 0 的方块(或 minecraft:visual/sky_light_factor 为 0),该项无效果。该值会以 SkyLightColor 传递给着色器 lightmap.fsh。

  • 值类型:RGB 颜色
  • 默认值:"#ffffff"
  • 修饰器:RGB 颜色修饰器
  • 是否插值:是
  • 解析位置:相机所在位置
minecraft:visual/sky_light_factor

天空光的视觉亮度。minecraft:visual/sky_light_color 会乘以该值。该值以 SkyFactor 传递给着色器 lightmap.fsh。

对应的游戏性效果完全由 minecraft:gameplay/sky_light_level 控制。

  • 值类型:浮点数
  • 默认值:1.0
  • 修饰器:浮点修饰器
  • 是否插值:是
  • 解析位置:相机所在位置
minecraft:audio/background_music

控制如何以及播放哪些背景音乐。

  • 值类型:对象,包含以下字段:
    • default:可选对象,字段:
    • sound:要播放的音效事件
    • min_delay:整数,曲目之间的最小延迟(刻)
    • max_delay:整数,曲目之间的最大延迟(刻)
    • replace_current_music:可选布尔值,该曲目是否可替换当前正在播放的音乐
      • 默认:false
    • 若未定义且未被覆盖,则该属性处于激活期间不会开始播放音乐
    • underwater:可选对象,与 default 相同格式——若存在且玩家在水下,则覆盖 default
    • creative:可选对象,与 default 相同格式——若存在且玩家处于创造模式,则覆盖 default
  • 默认值:{}
  • 修饰器:override
  • 是否插值:否
  • 解析位置:相机所在位置
  • 替代生物群系字段:effects.music
minecraft:audio/music_volume

音乐播放的音量。任何正在播放的音乐都会逐渐淡入/淡出到该值。

  • 值类型:浮点数(0 到 1)
  • 默认值:1.0
  • 修饰器:浮点修饰器
  • 是否插值:否
  • 解析位置:相机所在位置
  • 替代生物群系字段:effects.music_volume
minecraft:audio/ambient_sounds

控制在相机周围播放的环境音效以及触发时机。

  • 值类型:对象,包含以下字段:
    • loop:可选音效事件,持续循环播放的声音
    • mood:对象,字段为基于周围黑暗程度随机播放的声音:
    • sound:要播放的音效事件
    • tick_delay:整数,在光照等级为 0 的假设下情绪音之间的刻数
    • block_search_extent:整数,用于采样光照等级的半径
    • offset:双精度,对产生的声音应用的额外距离偏移
    • additions:对象列表,字段为随机播放的声音:
    • sound:要播放的音效事件
    • tick_chance:浮点数(0 到 1),在一个刻内播放给定声音的概率
  • 默认值:{}
  • 修饰器:override
  • 是否插值:否
  • 解析位置:相机所在位置
  • 替代生物群系字段:effects.ambient_sound、effects.mood_sound 与 effects.additions_sound
minecraft:audio/firefly_bush_sounds

若为 true 且上方不在不透明方块之下,萤火虫灌木会产生待机音效。

  • 值类型:布尔值
  • 默认值:false
  • 修饰器:布尔修饰器
  • 是否插值:否
  • 解析位置:萤火虫灌木所在位置
minecraft:gameplay/can_start_raid

若为 false,拥有“袭击预兆”的玩家无法发起袭击。

  • 值类型:布尔值
  • 默认值:true
  • 修饰器:布尔修饰器
  • 是否插值:否
  • 解析位置:将要开始袭击的位置
  • 替代维度类型字段:has_raids
minecraft:gameplay/water_evaporates

若为 true,无法用桶在该处放置水、融化的冰不会产生水、放置的湿海绵会立刻变干,且滴水石不会从泥块产生水。

  • 值类型:布尔值
  • 默认值:false
  • 修饰器:布尔修饰器
  • 是否插值:否
  • 解析位置:交互发生的位置
  • 替代维度类型字段:ultrawarm
minecraft:gameplay/bed_rule

控制床是否可用于睡觉,以及是否可用于设置重生点。

  • 值类型:包含以下字段的对象
    • can_sleep:可选值:
    • always:床在不被遮挡且附近没有怪物的情况下,随时都可用于睡觉
    • when_dark:仅当全局天光等级小于等于 11 时可用于睡觉
    • never:不可用于睡觉
    • can_set_spawn:与 can_sleep 相同含义
    • explodes:可选布尔值;若为 true,与床交互时会爆炸
    • 默认值:false
    • error_message:可选文本组件;当玩家无法入睡或设置重生点时显示的消息
  • 默认值:{can_sleep:"when_dark",can_set_spawn:"always",error_message:{translate:"block.minecraft.bed.no_sleep"}}
  • 修饰器:override
  • 是否插值:否
  • 解析位置:床方块的枕头(头部)所在位置
  • 替代维度类型字段:bed_works
minecraft:gameplay/respawn_anchor_works

控制重生锚是否可用于设置重生(或重生)。若为 false,重生锚在充能后会爆炸。

  • 值类型:布尔值
  • 默认值:false
  • 修饰器:布尔修饰器
  • 是否插值:否
  • 解析位置:重生锚方块位置
  • 替代维度类型字段:respawn_anchor_works
minecraft:gameplay/nether_portal_spawns_piglin

控制下界传送门方块是否可以生成猪灵。

  • 值类型:布尔值
  • 默认值:false
  • 修饰器:布尔修饰器
  • 是否插值:否
  • 解析位置:随机一个下界传送门方块位置
  • 替代维度类型字段:natural
minecraft:gameplay/fast_lava

控制岩浆是否应更快、更远地蔓延,并在流动时对实体施加更强的推力。

  • 值类型:布尔值
  • 默认值:false
  • 修饰器:布尔修饰器
  • 是否插值:否
  • 解析范围:整个维度(不可在生物群系上单独指定)
  • 替代维度类型字段:ultrawarm
minecraft:gameplay/increased_fire_burnout

控制火焰方块是否比正常情况更快熄灭。

  • 值类型:布尔值
  • 默认值:false
  • 修饰器:布尔修饰器
  • 是否插值:否
  • 解析位置:燃烧中的火焰方块位置
  • 替代生物群系标签:#increased_fire_burnout
minecraft:gameplay/piglins_zombify

控制猪灵和疣猪兽是否会僵尸化。

  • 值类型:布尔值
  • 默认值:true
  • 修饰器:布尔修饰器
  • 是否插值:否
  • 解析位置:发生僵尸化的实体位置
  • 替代维度类型字段:piglin_safe
minecraft:gameplay/snow_golem_melts

控制雪傀儡是否会受到熔化伤害。

  • 值类型:布尔值
  • 默认值:false
  • 修饰器:布尔修饰器
  • 是否插值:否
  • 解析位置:雪傀儡所在位置
  • 替代生物群系标签:#snow_golem_melts
minecraft:gameplay/sky_light_level

天空的有效光照等级,供如生物生成或测光器等机制使用。举例来说,完全暴露在天空下的方块会被视为拥有恰为该值的光照等级,而洞穴深处的方块则完全不受其影响。

对应的视觉效果完全由 minecraft:visual/sky_light_factor 控制。

  • 值类型:浮点数
  • 默认值:15.0
  • 修饰器:浮点修饰器
  • 是否插值:是
  • 解析范围:整个维度(不可在生物群系上单独指定)
minecraft:gameplay/eyeblossom_open

若为 true,闭合的眼眸花会在随机刻下逐渐开放;若为 false,开放的眼眸花会逐渐闭合;若为 "default",无论开放或闭合的眼眸花都会保持当前状态。

  • 值类型:枚举:
    • true
    • false
    • "default"
  • 默认值:"default"
  • 修饰器:override
  • 是否插值:否
  • 解析位置:眼眸花方块所在位置
minecraft:gameplay/turtle_egg_hatch_chance

海龟蛋方块在随机刻时进入下一孵化阶段的概率。

  • 值类型:浮点数(0 到 1)
  • 默认值:0.0
  • 修饰器:浮点修饰器
  • 是否插值:是
  • 解析位置:海龟蛋方块所在位置
minecraft:gameplay/creaking_active

若为 true,嘎枝之心方块(及其对应的嘎枝)会被激活;反之为 false 时会进入休眠状态。

  • 值类型:布尔值
  • 默认值:false
  • 修饰器:布尔修饰器
  • 是否插值:否
  • 解析位置:嘎枝之心方块所在位置
minecraft:gameplay/surface_slime_spawn_chance

当在带有 #allows_surface_slime_spawns 标签的生物群系中发生自然史莱姆生成尝试时,额外进行的一次概率检定。

  • 值类型:浮点数(0 到 1)
  • 默认值:0.0
  • 修饰器:浮点修饰器
  • 是否插值:是
  • 解析位置:该次史莱姆生成尝试的位置
minecraft:gameplay/cat_waking_up_gift_chance

当玩家醒来时,躺在主人床上的猫掉落礼物(来自 gameplay/cat_morning_gift 战利品表)的概率。

  • 值类型:浮点数
  • 默认值:0.0
  • 修饰器:浮点修饰器
  • 是否插值:是
  • 解析位置:猫所在位置
minecraft:gameplay/bees_stay_in_hive

若为 true,蜜蜂会尝试返回其蜂巢,除非蜂巢被破坏或紧邻火焰,否则不会离巢。

  • 值类型:布尔值
  • 默认值:false
  • 修饰器:布尔修饰器
  • 是否插值:否
  • 解析位置:蜜蜂或蜂巢方块所在位置
minecraft:gameplay/monsters_burn

若为 true,怪物在暴露于天空时会被阳光灼烧。

  • 值类型:布尔值
  • 默认值:false
  • 修饰器:布尔修饰器
  • 是否插值:否
  • 解析位置:怪物所在位置
minecraft:gameplay/can_pillager_patrol_spawn

若为 true,灾厄巡逻队可以生成。

注意:全局天光等级还必须大于 11。

  • 值类型:布尔值
  • 默认值:true
  • 修饰器:布尔修饰器
  • 是否插值:否
  • 解析位置:该次巡逻队生成尝试的位置
  • 替代生物群系标签:#without_patrol_spawns
minecraft:gameplay/villager_activity

控制成年村民的默认 AI 活动。

并非所有活动都受村民 AI 支持——若选择了不受支持的活动,村民将闲置。支持的活动如下:

  • core
  • hide
  • idle
  • meet
  • panic
  • pre_raid
  • raid
  • rest
  • work
  • 值类型:生物活动类型
  • 默认值:"minecraft:idle"
  • 修饰器:override
  • 是否插值:否
  • 解析位置:村民所在位置
minecraft:gameplay/baby_villager_activity

控制幼年村民的默认 AI 活动。

并非所有活动都受村民 AI 支持——若选择了不受支持的活动,村民将闲置。支持的活动如下:

  • core
  • hide
  • idle
  • meet
  • panic
  • play
  • pre_raid
  • raid
  • rest
  • 值类型:生物活动类型
  • 默认值:"minecraft:idle"
  • 修饰器:override
  • 是否插值:否
  • 解析位置:村民所在位置

数据组件

  • 新增组件:
    • zombie_nautilus/variant:来自 zombie_nautilus_variant 注册表的命名空间 ID

物品组件

为以下鱼桶物品添加了食物属性:

  • minecraft:cod_bucket
  • minecraft:salmon_bucket
  • minecraft:pufferfish_bucket
  • minecraft:tropical_fish_bucket

新增 minecraft:use_effects

  • 控制玩家在使用该物品(右键)时的行为。
  • 格式:对象,包含以下字段:
    • can_sprint:布尔值,使用该物品时是否可以奔跑
    • 默认值:false
    • interact_vibrations:布尔值,使用该物品时是否发出 minecraft:item_interact_start 与 minecraft:item_interact_finish 游戏事件
    • 默认值:true
    • speed_multiplier:浮点数(0 到 1),使用该物品时对玩家应用的速度倍率
    • 默认值:0.2
    • 示例:use_effects={can_sprint:true,speed_multiplier:1.0}

新增 minecraft:minimum_attack_charge

  • 设置使用该物品进行攻击时,攻击指示器所需的最小蓄力。
  • 格式:浮点数(0.0 到 1.0)
    • 0.0:无需蓄力
    • 1.0:需要满蓄力

新增 minecraft:damage_type

  • 指定该物品造成的伤害类型。
  • 格式:字符串,伤害类型标识符
    • 示例:damage_type='minecraft:spear'

新增 minecraft:attack_range

  • 使用该物品时启用自定义攻击范围。
  • 覆盖玩家的常规实体交互范围。
  • 常规近战攻击范围基于目标碰撞箱与攻击者碰撞箱的距离计算。此组件通过调整攻击碰撞箱的最小和最大边距来修改该距离校验。
  • 使用 minecraft:kinetic_weapon 的生物,其攻击范围的应用方式与玩家相同。
  • 格式:对象,包含以下字段:
    • min_reach:浮点数,从攻击者到目标的最小有效距离(方块)
    • 默认值:0.0,有效范围 0.0 到 64.0
    • max_reach:浮点数,从攻击者到目标的最大有效距离(方块)
    • 默认值:3.0,有效范围 0.0 到 64.0
    • min_creative_reach:浮点数,创造模式攻击者到目标的最小有效距离(方块)
    • 默认值:0.0,有效范围 0.0 到 64.0
    • max_creative_reach:浮点数,创造模式攻击者到目标的最大有效距离(方块)
    • 默认值:5.0,有效范围 0.0 到 64.0
    • hitbox_margin:浮点数,校验有效碰撞时应用于目标边界框的边距
    • 默认值:0.3,有效范围 0.0 到 1.0
    • mob_factor:浮点数,当物品由生物使用时,应用于 min_range 与 max_range 的距离倍率
    • 默认值:1.0,有效范围 0.0 到 2.0

新增 minecraft:kinetic_weapon

  • 使用该物品时启用蓄力型攻击(主要用于矛类)。在使用过程中,每当有实体接触到攻击射线时都会造成伤害,伤害与实体的相对速度相关。
  • 格式:对象,包含以下字段:
    • contact_cooldown_ticks:整数,命中并与实体失去接触后,重新能够命中的冷却刻数
    • 默认值:10
    • delay_ticks:整数,武器生效前所需的延迟刻数
    • 默认值:0
    • dismount_conditions、knockback_conditions、damage_conditions:分别用于应用落马、击退与伤害效果的条件。对象字段:
    • max_duration_ticks:整数,超过该刻数后不再检查条件。计时从 delay 结束后开始
    • min_speed:浮点数,攻击者沿其视线方向的最小速度(方块/秒)
      • 可选,默认值:0.0
    • min_relative_speed:浮点数,攻击者与目标沿攻击者视线方向的最小相对速度(方块/秒)
      • 可选,默认值:0.0
    • forward_movement:浮点数,动画期间物品从手中向前移动的距离
    • 默认值:0.0
    • damage_multiplier:浮点数,基于相对速度的最终伤害倍率
    • 默认值:1.0
    • sound:可选,武器进入蓄力时播放的音效事件
    • hit_sound:可选,武器命中实体时播放的音效事件
    • 示例:kinetic_weapon={forward_movement:1.0,delay:20,damage_conditions:{max_duration:60},knockback_conditions:{max_duration:40},dismount_conditions:{max_duration:20}}
  • 伤害计算方式为 floor(relative_speed * velocity_multiplier),其中 relative_speed 为攻击者与目标的速度向量在攻击者视线轴上的投影差值。
    • 附魔或属性修饰符带来的额外伤害在此计算之后再叠加

新增 minecraft:piercing_weapon

  • 启用一次快速攻击,沿一条射线对多个实体造成伤害(主要用于矛类)。
  • 格式:对象,包含以下字段:
    • deals_knockback:布尔值,攻击是否造成击退
    • 默认值:true
    • dismounts:布尔值,攻击是否使目标落马/下坐骑
    • 默认值:false
    • sound:可选,玩家用该武器攻击时播放的音效事件
    • hit_sound:可选,武器命中实体时播放的音效事件
    • 示例:piercing_weapon={dismounts:true}

新增 minecraft:swing_animation

  • 指定使用该物品进行攻击或交互时播放的挥动动画。
  • 格式:对象,包含以下字段:
    • type:字符串,动画标识符(none、whack、stab)
    • 默认值:whack
    • duration:整数,持续的刻数
    • 默认值:6
    • 示例:swing_animation={type:'stab',duration:20}

更改了 minecraft:consumable

  • 更新了 animation 字段:
    • 将 spear 重命名为 trident
    • 新增 spear 动画

更改了 minecraft:intangible_projectile

  • 具有该组件的物品现在会在其提示信息中显示相关信息

实体数据

  • 将 AngryAt 字段重命名为 angry_at
  • 移除了 AngerTime 字段
  • 新增 anger_end_time(long)字段,包含愤怒结束的游戏刻时间

进度

  • 新增 spear_mobs 触发器,包含字段:
    • player:可选实体谓词,使用动能武器的玩家
    • count:可选整数,单次使用动能武器命中的生物数量

伤害类型

  • 新增 minecraft:spear 伤害类型

槽位源

  • 新增槽位源,使数据包中可以指定任意物品栏槽位的位置。
  • 格式:对象,包含以下字段:
    • type:槽位源类型
    • <type-specific>:根据类型而定的附加字段

minecraft:empty 类型

  • 空选择,不包含任何槽位

minecraft:group 类型

  • 将多个槽位源合并为一个,结果选择包含各来源提供的全部槽位。
    • 若某槽位出现在多个来源中,它将在结果中重复出现
    • 例如 [a, b] + [c, a] -> [a, b, c, a]
  • 格式:
    • terms:要合并的槽位源列表
  • 也可直接以内联的槽位源列表书写

minecraft:slot_range 类型

  • 从实体或方块实体的物品栏中选择一个槽位范围内的槽位。
  • 行为与 /item 命令的 from 参数一致。
  • 格式:
    • source:从战利品上下文中获取槽位的实体或方块实体
    • 可为 block_entity、this、attacking_entity、last_damage_player、direct_attacker、target_entity 或 interacting_entity
    • slots:槽位范围,格式为 <slot_type> 或 <slot_type>.<slot_number>(例如 armor.chest 或 container.*)

minecraft:contents 类型

  • 从一个或多个物品的物品栏组件中选择所有非空槽位。
    • 若该组件中未存放物品,结果选择为空
  • 待使用其物品栏组件的物品位置由另一个槽位源指定。
    • 若该槽位源包含多个带该组件的物品,结果选择将与 minecraft:group 类型相同地合并
    • 例如:束口袋 [a, b] + 潜影盒 [c, d] -> [a, b, c, d]
  • 格式:
    • component:要定位的物品栏组件
    • 允许值为 minecraft:bundle_contents、minecraft:charged_projectiles 与 minecraft:container
    • slot_source:包含待定位物品槽位的槽位源

minecraft:filtered 类型

  • 对已选槽位应用过滤器,将不匹配的槽位从结果中排除。
  • 格式:
    • item_filter:对各槽位中的物品进行匹配的物品谓词
    • slot_source:需要过滤的槽位源

minecraft:limit_slots 类型

  • 限制提供的槽位数量,结果选择至多包含该数量的槽位。
    • 超出限制的槽位将按包含顺序被排除
    • 例如 [a, b, c, d] 在限制为 3 时 -> [a, b, c]
  • 格式:
    • limit:整数,结果选择中允许包含的最大槽位数
    • slot_source:需要施加限制的槽位源

示例:从实体的快捷栏与护甲槽中选择所有物品数量大于 16 的槽位:

{
    "type": "minecraft:filtered",
    "item_filter": {
        "count": {
            "min": 16
        }
    },
    "slot_source": [
        {
            "type": "minecraft:slot_range",
            "source": "this",
            "slots": "hotbar.*"
        },
        {
            "type": "minecraft:slot_range",
            "source": "this",
            "slots": "armor.*"
        }
    ]
}

战利品表

  • 新增 minecraft:slots 战利品池条目:
    • 将所选槽位中包含的物品提供给战利品表
    • 格式:
    • slot_source:描述物品所在位置的槽位源
    • 支持所有标准战利品池条目字段

战利品函数

minecraft:filtered

  • 将 modifier 字段替换为两个字段:
    • on_pass:当 item_filter 谓词通过时运行的函数或函数列表
    • on_fail:当 item_filter 谓词未通过时运行的函数或函数列表

minecraft:discard

  • 将任意物品堆替换为空。
  • 无字段

谓词

组件谓词

  • 组件谓词(方块、物品与实体谓词中的 predicates 字段)现在包含用于检查各组件类型存在性的谓词。
  • 这类谓词写作 {<component_type>: {}}。
  • 只要组件存在,该检查即视为通过,实际值不影响结果。
  • 针对特定组件的既有谓词保持不变。
  • 示例:
    • {predicates:{written_book_content:{author:"foo"}} —— 既有的书籍匹配格式
    • {predicates:{written_book_content:{}} —— 上述的特例,只要组件存在即接受任意值
    • {predicates:{instrument:{}} —— 检查组件 minecraft:instrument 是否存在(此前不允许)

实体谓词

flags 谓词现新增以下值:

  • is_in_water:当实体接触到水或气泡柱时
  • is_fall_flying:当实体使用鞘翅滑翔时

物品谓词

  • 命令形式的物品谓词(<item>[predicate~{...},component={...}])现已扩展为接受任意组件类型的空谓词。
  • 与数据中的组件谓词相同,这些空条目仅检查组件是否存在。
  • 用于检查组件存在性的既有简写语法保持不变。
    • 即 *[instrument] 与 *[instrument~{}] 等效

附魔

附魔效果组件

  • minecraft:post_piercing_attack:物品进行贯穿攻击后应用的效果

附魔实体效果

  • minecraft:apply_impulse:对目标实体施加冲量
    • direction:第一步,将该向量作为局部坐标(与 tp @s ^ ^ ^ 相同)应用到实体的注视向量上
    • coordinate_scale:第二步,将结果向量按该向量在世界空间的各轴(X、Y、Z)进行缩放
    • magnitude:第三步,将结果向量按该等级相关值进行缩放
  • minecraft:apply_exhaustion:使目标实体产生疲劳值
    • amount:等级相关值,表示施加的疲劳值数量
    • 仅对玩家有效
  • minecraft:play_sound:现在支持声音事件标识符列表,每个附魔等级对应一个。如果等级高于声音数量,则使用列表中的最后一个声音

附魔等级相关值

新增 exponent:将基数提升到指定的幂次。

  • base:等级相关值,表示幂运算的基数
  • power:等级相关值,表示幂运算的幂次

世界生成

维度类型

  • 新增维度字段 attributes,用于指定环境属性。
    • 关于该字段的格式,请参阅“环境属性映射”章节
  • 新增可选字段 timelines,指定在该维度中激活的时间线
    • 格式:时间线 ID、时间线 ID 列表或时间线标签
  • 许多字段已迁移到环境属性:
    • 注意:这些属性的形式可能与原始字段不完全一致
    • ultrawarm -> minecraft:gameplay/water_evaporates、minecraft:gameplay/fast_lava、visual/default_dripstone_particle
    • bed_works -> minecraft:gameplay/bed_rule
    • respawn_anchor_works -> minecraft:gameplay/respawn_anchor_works
    • cloud_height -> minecraft:visual/cloud_height
    • piglin_safe -> minecraft:gameplay/piglins_zombify
    • has_raids -> minecraft:gameplay/can_start_raid
    • natural -> minecraft:gameplay/nether_portal_spawns_piglin、minecraft:gameplay/eyeblossom_open、minecraft:gameplay/creaking_active
  • 移除了 effects 字段,改为以下新字段:
    • skybox:要使用的天空盒渲染类型,可选:
    • none(原 minecraft:nether 效果 ID)
    • overworld(原 minecraft:overworld 效果 ID)
      • 仅当 skybox 为 overworld 时应用以下环境属性:
      • minecraft:visual/sky_color、minecraft:visual/sun_angle、minecraft:visual/sunrise_sunset_color、minecraft:visual/moon_phase、minecraft:visual/moon_angle、minecraft:visual/star_angle、minecraft:visual/star_brightness
    • end(原 minecraft:end 效果 ID)
    • 默认:overworld
    • cardinal_light:影响方块的四向光照方向,可选:
    • default(原 minecraft:overworld 与 minecraft:end 效果 ID)
    • nether(原 minecraft:nether 效果 ID)
    • 默认:default
  • fixed_time 字段被 has_fixed_time 布尔值取代(默认:false)
    • 基于时间的效果(如太阳角度)现改由环境属性指定
    • 其余曾受 fixed_time 存在与否影响的行为现改为使用 has_fixed_time 布尔值

生物群系

  • 生物群系新增字段 attributes,用于指定环境属性。
    • 关于该字段的格式,请参阅“环境属性”章节
    • 注意:某些属性(如 gameplay/fast_lava)不按位置评估,因此不能在生物群系上设置
  • effects 下的许多子字段已迁移到环境属性:
    • 注意:这些属性的形式可能与原始字段不完全一致
    • fog_color -> minecraft:visual/fog_color
    • water_fog_color -> minecraft:visual/water_fog_color
    • sky_color -> minecraft:visual/sky_color
    • particle -> minecraft:visual/ambient_particles
    • ambient_sound、mood_sound、additions_sound -> minecraft:audio/ambient_sounds
    • music -> minecraft:audio/background_music
    • music_volume -> minecraft:audio/music_volume
  • effects 定义中的以下颜色字段现在支持以字符串形式 "#rrggbb" 或以浮点数组形式 [red, green, blue] 指定颜色:
    • water_color
    • foliage_color
    • dry_foliage_color
    • grass_color
    • grass_color_modifier

标签

方块标签

  • 新增 #can_glide_through:可攀爬且可滑翔穿过而不停下的方块

物品标签

  • 新增 #nautilus_taming_items:可用于驯服鹦鹉螺与僵尸鹦鹉螺的物品
  • 新增 #nautilus_bucket_food:可用于喂食已驯服的鹦鹉螺与僵尸鹦鹉螺的鱼桶物品
  • 新增 #nautilus_food:所有可用于喂食已驯服的鹦鹉螺与僵尸鹦鹉螺的物品
  • 新增 #camel_husk_food:所有可用于喂食骆驼尸壳的物品
  • 新增 #spears:所有矛武器
  • 新增 #enchantable/lunge:所有可附魔“突进”的物品
  • 新增 #enchantable/melee_weapon:所有主要近战武器,包括剑与矛
  • 将 #enchantable/sword 重命名为 #enchantable/sweeping
  • 更新 #piglin_loved 以包含金鹦鹉螺甲与金矛
  • 更新 #piglin_preferred_weapons 以包含金矛

生物群系标签

  • 移除 #snow_golem_melts 与 #increased_fire_burnout —— 由环境属性 gameplay/snow_golem_melts 与 gameplay/increased_fire_burnout 替代
  • 移除 #plays_underwater_music —— 由环境属性 audio/background_music 中的 only_underwater 字段替代
  • 移除 #has_closer_water_fog —— 由环境属性 visual/water_fog_end_distance 替代
  • 新增 #spawns_coral_variant_zombie_nautilus —— 僵尸鹦鹉螺珊瑚变种可生成的生物群系
  • 移除 #without_patrol_spawns —— 由环境属性 gameplay/can_pillager_patrol_spawn 替代

实体标签

  • 新增 #can_wear_nautilus_armor:可装备鹦鹉螺甲的实体
  • 新增 #nautilus_hostiles:未驯服时鹦鹉螺会敌对的实体
  • 更改 #not_scary_for_pufferfish 以包含鹦鹉螺与僵尸鹦鹉螺
  • 新增 #burn_in_daylight:日照下会灼烧的实体
  • 新增 #can_float_while_ridden:被骑乘时可在水面漂浮的实体
  • 更改 #skeletons 以包含枯骨
  • 更改 #zombies 以包含僵尸鹦鹉螺、僵尸马与骆驼尸壳
  • 更改 #can_equip_saddle 以包含鹦鹉螺、僵尸鹦鹉螺、僵尸马与骆驼尸壳

时间线标签

  • 新增 #universal:在所有维度中激活的时间线
  • 新增 #in_overworld:在主世界中激活的时间线
  • 新增 #in_nether:在下界中激活的时间线
  • 新增 #in_end:在末地中激活的时间线

资源包版本 70.0 至 75.0

  • Unifont 更新至 17.0.01
  • block.vsh/fsh 复制自 terrain.vsh/fsh,并处理临时方块(例如被实体持有的方块)
  • 新增 ChunkSection uniform,由 terrain.vsh 使用(取代 DynamicTransforms)
  • 引入新着色器以在 GPU 上执行精灵图动画
  • Globals uniform 现在包含相机坐标
  • 物品纹理从 blocks 图集中拆分为新的不带 mipmap 的 items 图集
    • 物品模型使用的所有纹理必须来自同一图集(items 或 blocks)
    • 方块模型使用的所有纹理必须来自 blocks 图集
    • 静态水和岩浆使用的纹理现硬编码为 minecraft:block/water_still 与 minecraft:block/lava_still
  • 为后续工作做准备,若任意图集中定义的精灵图共享同名,游戏现在会打印警告
  • 方块模型与状态格式扩展以允许更多旋转
  • 皮革马铠物品与装备资源的纹理拆分为带色基底层与覆盖层

纹理

  • *.mcmeta 文件的 texture 部分新增两个字段:mipmap_strategy 与 alpha_cutoff_bias
    • mipmap_strategy 支持以下取值:
    • mean:在当前 mipmap 层级上对每 4 像素分组的颜色与透明度求平均以生成下一层像素。多数实心或半透明整方块纹理的默认策略,沿用不变
    • dark_cutout:与 mean 类似,但以一种使裁剪像素边界更暗的方式混合颜色。用于树叶与红树根,沿用不变。其用于模拟方块内部更暗的效果
    • cutout:新策略,总是基于原始纹理而非上一层 mipmap 来生成下一层。用于本版本中大多数新增支持 mipmap 的裁剪类方块
    • strict_cutout:cutout 的变体,使用更严格的透明度裁剪值,使得使用该值的纹理在更高 mipmap 层级上会消失。用于花朵等以避免伪影
    • auto:默认值;对于不含完全透明像素的纹理选择 mean,含完全透明像素的选择 cutout
    • alpha_cutoff_bias:浮点字段,用于控制裁剪纹理的透明度偏置
    • 技术上没有限制,可为负数;但超过 1.0 或低于 -1.0 意义不大,因为纹理将分别变为完全不透明或完全透明
    • 默认值为 0.0;可在远处纹理过于透明/纤薄时适当增大,或在过于“不透明”时减小
    • 建议小幅调整以寻找最佳点。例如海带(kelp)纹理使用 0.1,防止远处完全透明
    • 仅用于裁剪纹理的低层 mip,不改变首层 mip 的透明度,对其他纹理无效
  • 玻璃、玻璃板与红石粉现支持半透明纹理
  • 新增 gui/container/nautilus,用于鹦鹉螺的物品栏 UI

物品精灵图

  • 新增物品精灵图:
    • item/nautilus_spawn_egg
    • item/zombie_nautilus_spawn_egg
    • item/camel_husk_spawn_egg
    • item/parched_spawn_egg
    • item/copper_nautilus_armor
    • item/iron_nautilus_armor
    • item/golden_nautilus_armor
    • item/diamond_nautilus_armor
    • item/netherite_nautilus_armor
    • item/netherite_horse_armor
    • item/leather_horse_armor_overlay
  • 为矛武器新增以下物品精灵图:
    • 在物品栏中:item/wooden_spear、item/stone_spear、item/copper_spear、item/iron_spear、item/golden_spear、item/diamond_spear、item/netherite_spear
    • 在手中持有:item/wooden_spear_in_hand、item/stone_spear_in_hand、item/copper_spear_in_hand、item/iron_spear_in_hand、item/golden_spear_in_hand、item/diamond_spear_in_hand、item/netherite_spear_in_hand

UI 精灵图

  • 新增 UI 精灵图:
    • container/slot/nautilus_armor
    • container/slot/spear - 锻造台界面中使用的矛图标
    • container/slot/nautilus_armor_inventory - 用于鹦鹉螺物品栏 UI 的鹦鹉螺图标 UI
  • 新增九切片精灵图:
    • container/inventory/effect_background
    • container/inventory/effect_background_ambient
  • 移除以下精灵图:
    • container/inventory/effect_background_large
    • container/inventory/effect_background_small

天体图集

  • 新增 celestials 图集,包含天空中渲染的物体(如太阳与月亮)的精灵图。
  • 包含来自 <namespace>:textures/environment/celestial/<path>.png 的精灵图
  • 以下纹理被移动或拆分:
    • textures/environment/sun.png -> sun
    • textures/environment/end_flash.png -> end_flash
    • textures/environment/moon_phases -> moon/full_moon, moon/waning_gibbous, moon/third_quarter, moon/waning_crescent, moon/new_moon, moon/waxing_crescent, moon/first_quarter, moon/waxing_gibbous

状态效果精灵图

  • 新增状态效果精灵图:
    • breath_of_the_nautilus

实体纹理

  • 新增实体纹理:
    • entity/nautilus/nautilus.png
    • entity/nautilus/nautilus_baby.png
    • entity/nautilus/zombie_nautilus.png
    • entity/equipment/zombie_nautilus_coral.png
    • entity/equipment/nautilus_body/copper.png
    • entity/equipment/nautilus_body/iron.png
    • entity/equipment/nautilus_body/gold.png
    • entity/equipment/nautilus_body/diamond.png
    • entity/equipment/nautilus_body/netherite.png
    • entity/equipment/nautilus_saddle/saddle.png
    • entity/equipment/horse_body/leather_overlay.png
    • entity/camel/camel_husk.png
    • entity/equipment/camel_husk_saddle/saddle.png
    • entity/equipment/horse_body/netherite.png
    • entity/skeleton/parched.png
    • entity/skeleton/parched_overlay.png

声音

  • 为矛新增音效:
    • item.spear.hit
    • item.spear.use
    • item.spear.attack
  • 为木制矛新增特殊音效:
    • item.spear_wood.hit
    • item.spear_wood.use
    • item.spear_wood.attack
  • 为“突进”附魔新增音效事件:
    • item.spear.lunge_1
    • item.spear.lunge_2
    • item.spear.lunge_3
  • 为鹦鹉螺新增音效事件:
    • entity.baby_nautilus.ambient
    • entity.baby_nautilus.death
    • entity.baby_nautilus.eat
    • entity.baby_nautilus.hurt
    • entity.baby_nautilus.swim
    • entity.nautilus.ambient
    • entity.nautilus.death
    • entity.nautilus.dash
    • entity.nautilus.dash_ready
    • entity.nautilus.eat
    • entity.nautilus.hurt
    • entity.nautilus.swim
    • entity.zombie_nautilus.ambient
    • entity.zombie_nautilus.death
    • entity.zombie_nautilus.dash
    • entity.zombie_nautilus.dash_ready
    • entity.zombie_nautilus.eat
    • entity.zombie_nautilus.hurt
    • entity.zombie_nautilus.swim
    • item.nautilus_armor.equip
    • item.nautilus_armor.unequip
    • entity.nautilus.riding
    • item.nautilus_saddle_equip
    • item.nautilus_saddle_underwater_equip
    • entity.baby_nautilus.ambient_land
    • entity.baby_nautilus.death_land
    • entity.baby_nautilus.hurt_land
    • entity.nautilus.ambient_land
    • entity.nautilus.dash_land
    • entity.nautilus.dash_ready_land
    • entity.nautilus.death_land
    • entity.nautilus.hurt_land
    • entity.zombie_nautilus.ambient_land
    • entity.zombie_nautilus.dash_land
    • entity.zombie_nautilus.dash_ready_land
    • entity.zombie_nautilus.death_land
    • entity.zombie_nautilus.hurt_land
  • 为僵尸马新增音效事件:
    • entity.zombie_horse.angry
    • entity.zombie_horse.eat
  • 为枯骨新增音效事件:
    • entity.parched.ambient
    • entity.parched.death
    • entity.parched.hurt
    • entity.parched.step
  • 为骆驼尸壳新增音效事件:
    • entity.camel_husk.ambient
    • entity.camel_husk.dash
    • entity.camel_husk.dash_ready
    • entity.camel_husk.death
    • entity.camel_husk.eat
    • entity.camel_husk.hurt
    • entity.camel_husk.saddle
    • entity.camel_husk.sit
    • entity.camel_husk.stand
    • entity.camel_husk.step
    • entity.camel_husk.step_sand
  • 为鹦鹉新增拟声音效事件:
    • entity.parrot.imitate.camel_husk
    • entity.parrot.imitate.parched
    • entity.parrot.imitate.zombie_horse
    • entity.parrot.imitate.zombie_nautilus

物品模型

  • 为所有物品模型新增选项:swap_animation_scale
    • 默认值:1.0
    • 表示在快捷栏切换物品时,物品上下移动的速度
    • 较大的速度可使占屏空间更大的物品在切换到下一个物品前完全下沉

新增物品模型:

  • spear_in_hand —— 手持矛时的模型

方块模型

  • 方块模型元素现可绕多个轴旋转。
    • 模型先绕 X,再绕 Y,最后绕 Z 旋转
    • 新增字段:
    • x:绕 X 轴旋转角度(度),浮点数,默认 0.0
    • y:绕 Y 轴旋转角度(度),浮点数,默认 0.0
    • z:绕 Z 轴旋转角度(度),浮点数,默认 0.0
    • 既有字段 axis 与 angle 仍可使用
    • 若同时存在两套字段,旧式写法优先生效
  • 移除了角度值限制 [-45, 45]。
    • 注意:各面的名称不受旋转影响。依赖它们的特性(如裁剪)始终使用原始方向

方块状态模型派发

  • 方块状态派发文件(定义于 assets/.../blockstates/)中的变体现也可绕 Z 轴旋转。
  • 新增可选字段 z,格式与既有的 x 与 y 字段相同:整数,允许值 0(默认)、90、180 与 270
  • 绕 Z 轴的旋转在 X 与 Y 之后应用

着色器与后处理效果

  • 新增 animate_sprite* 核心着色器,使用新的 SpriteAnimationInfo uniform

精灵图动画

  • 精灵图(作为更大图集的一部分的纹理)现于 GPU 上进行动画,而非每刻由 CPU 处理。
  • 常规帧动画使用 animate_sprite.vsh 与 animate_sprite_blit.fsh 进行绘制。
  • 插值动画使用 animate_sprite.vsh 与 animate_sprite_interpolate.fsh 进行绘制。
  • UBO SpriteAnimationInfo 包含精灵图在大纹理图集中应绘制到何处的信息。