我的世界Java版1.21.5发布

1.21.5春意盎然的正式版,也是Java版的一次次要更新,发布于2025年3月25日。[1]此次更新加入了野花簇、枯叶、灌木丛、枯草丛、仙人掌花等大量的新方块和少量新物品,丰富了猪、牛、鸡、绵羊和狼的变种生成机制,正式加入了实验性内容“村民交易的平衡性调整”中对流浪商人和制图师的更改以及游戏测试系统,同步了基岩版中的倒下的树木,并修复了一些漏洞。此版本不兼容1.21到1.21.4的服务端。

新内容

方块

野花簇
  • 一种花,自然生成于桦木森林、原始桦木森林和草甸。
  • 类似于粉红色花簇,同一格空间内最多可以容纳4株野花簇。
  • 对野花簇使用骨粉会生成更多野花簇。
  • 有4种方向。
  • 可以放入堆肥桶中堆肥。
  • 可以用于合成黄色染料。
  • 能用于引诱、喂食蜜蜂。
枯叶
  • 一种装饰性方块,自然生成于森林、黑森林和疏林恶地。
  • 类似于粉红色花簇,同一格空间内最多可以容纳4个枯叶。
  • 有4种方向。
  • 有独特方块音效。
  • 可由烧炼树叶获得,也可以作为燃料用于烧炼。
    • 作为燃料用于烧炼时,每个枯叶可烧炼0.5个物品。
  • 会随所处的生物群系着色。
  • 可以被方块直接替换。
  • 只能放置到顶面支撑形状完整的方块上。
萤火虫灌木丛
  • 会在沼泽、红树林沼泽和大多数主世界生物群系的水源附近自然生成。
  • 在内部天空光照≤13时,每刻发光的萤火虫粒子有70%的概率会在萤火虫灌木丛附近生成。
  • 满足以下条件时,每刻有130概率会发出特殊的环境音效:
    • 在主世界中。
    • 在一天的第12600至23400刻间。
    • 上方没有除树叶外的阻止运动方块。
  • 对其使用骨粉会生成另一个萤火虫灌木丛物品。
  • 发出等级为2的光照。
  • 可用于堆肥,有30%的概率使堆肥层数增加一层。
  • 能放置于具有#dirt标签的方块或耕地上。
灌木丛
  • 一种装饰性方块。会在以下生物群系以斑块形式生成:
    • 平原
    • 风袭丘陵
    • 风袭沙砾丘陵
    • 风袭森林
    • 河流
    • 冻河
    • 森林
    • 桦木森林
    • 原始桦木森林
  • 可用于堆肥,有30%的概率使堆肥层数增加一层。
  • 对其使用骨粉会在附近可生成位置生成新灌木丛。
  • 能放置于具有#dirt标签的方块或耕地上。
矮枯草丛和高枯草丛
  • 自然生成于沙漠和恶地及其变种生物群系。
  • 都只有一格高。
  • 与枯萎的灌木一样能放置于沙子、陶瓦和泥土类方块上。
  • 与草丛一样,在方块范围内具有随机偏移。
  • 对其使用骨粉:
    • 矮枯草丛会生长为高枯草丛。
    • 高枯草丛在其周围的有效位置生成矮枯草丛。
  • 可用于堆肥,有30%的概率使堆肥层数增加一层。
  • 可用作燃料。
  • 绵羊可以食用它们以长出羊毛。
  • 仅在被剪刀或附有精准采集魔咒的工具破坏时掉落。
仙人掌花
  • 一种花,有概率在沙漠和恶地及其变种生物群系的仙人掌柱上生成。
  • 可放置于仙人掌、耕地或任何顶部可支撑其中心的方块上。
  • 有概率由仙人掌长出:
    • 1 – 2格高的仙人掌柱有10%概率长出仙人掌花且不再长高。
    • 3格及更高的仙人掌柱有25%概率长出仙人掌花。
    • 只有生成位置四面均无固体方块时,仙人掌花才会生成。
  • 可用于堆肥,有30%的概率使堆肥层数增加一层。
  • 可用于引诱、喂食蜜蜂。
  • 可用于合成1个粉红色染料。
结构方块
  • load模式下的结构方块现在具有新选项Strict Placement
    • 新选项为true时,被放置的结构中的方块将不会触发方块更新、方块实体副效果或形状更新。
测试方块
  • 用于实现基于方块的测试的技术性方块。
  • 物品稀有度为“史诗”。
  • 有4种模式:
    • 启动模式(modestart):在测试启动时产生一次红石脉冲。
    • 日志输出模式(modelog):接收到红石信号时,将消息输出到日志文件。
    • 失败模式(modefail):接收到红石信号时,使测试失败。
    • 接受模式(modeaccept):接收到红石信号时,成功完成这条路径的测试。
  • 运行基于方块的测试需要结构中至少存在一个启动模式和一个接受模式的方块。
测试实例方块
  • 用于运行、控制世界中的测试的技术性方块。
  • 物品稀有度为“史诗”。
  • 此方块表示世界中的测试实例。
  • 可以用于与所对应的测试交互,以保存测试结构、重置测试或运行测试。
  • 测试启动后,每个测试位置都会发出一条信标光柱以表示测试状态。
    • 灰色 = 运行中
    • 红色 = 失败(必要测试)
    • 橙色 = 失败(可选测试)
    • 绿色 = 成功
  • 如果测试失败,错误会显示在一本讲台的书和一个遮罩上。
  • 使用/test运行或创建了一个测试也将放置一个测试实例方块来控制此测试。

物品

蓝色鸡蛋
  • 由寒带鸡产下的鸡蛋。
  • 能生成幼年寒带鸡。
  • 合成用途与普通鸡蛋相同。
棕色鸡蛋
  • 由热带鸡产下的鸡蛋。
  • 能生成幼年热带鸡。
  • 合成用途与普通鸡蛋相同。

生物

猪、牛和鸡
  • 加入了寒热带变种,即其变种由生成所处的生物群系决定。
    • 繁殖出的幼年猪、牛或鸡的变种从其双亲的变种中随机选择。
    • 原本的猪、牛或鸡即为温带变种。
    • 三种鸡会生产对应的鸡蛋,以生成对应变种的幼年鸡。
变种 寒带猪
寒带牛
寒带鸡
热带猪
热带牛
热带鸡
温带猪
温带牛
温带鸡
生物群系 雪原
冰刺之地
冰封山峰
尖峭山峰
积雪山坡
雪林
裸岩山峰
冷水海洋
冷水深海
冻洋
冰冻深海
深暗之域
冻河
原始松木针叶林
原始云杉针叶林
针叶林及其变种
风袭丘陵及其变种
末地及其变种
沙漠
暖水海洋
红树林沼泽
温水海洋
温水深海
热带草原及其变种
丛林及其变种
恶地及其变种
下界及其变种
其他生物群系
  • 加入了6种音效变种,每种都有独特的空闲、受伤、死亡、嚎叫、呜咽和喘息音效。
    • 新的6种变种包括大型犬(big)、可爱(cute)、小巴哥犬(puglin)、愤怒(angry)、不爽(grumpy)和悲伤(sad),而原来的音效现在称为普通(classic)变种。
    • 每只狼都会从上述7种音效变种中随机选取一种使用,而与其纹理变种无关。

世界生成

地物
  • 加入了birch_bees_0002_leaf_litter、​birch_leaf_litter、​dark_oak_leaf_litter、​fancy_oak_bees_0002_leaf_litter、​fancy_oak_leaf_litter、​oak_bees_0002_leaf_litter、​oak_leaf_litter、​trees_birch_and_oak_leaf_litter、​wildflowers_birch_forestwildflowers_meadow地物。
随机斑块
  • 加入了patch_grass_meadow、​patch_dry_grass、​patch_leaf_litter、​patch_bushpatch_firefly_bush斑块。
地物数据格式
  • 加入了地物类型fallen_tree
    • 配置格式如下:
  • NBT复合标签/JSON对象 根标签
    • 字符串*typefallen_tree
    • NBT复合标签/JSON对象*config:此已配置的地物的配置。
      • NBT复合标签/JSON对象*trunk_provider:作为树干和树桩的方块。
      • 整型*log_length:(0≤值≤16)倒下的树干的长度。
      • NBT列表/JSON数组*stump_decorators:在树桩上生成的装饰。
      • NBT列表/JSON数组*log_decorators:在倒下的树干上生成的装饰。
  • 加入了place_on_ground树木装饰器。附加参数如下:
    • 整型tries:(默认为128,值>0)尝试生成的次数。
    • 整型radius:(默认为2,值≥0)尝试生成位置与树的根部的最大水平距离。
    • 整型height:(默认为1,值≥0)尝试生成位置与树的根部的最大垂直距离。
    • NBT复合标签/JSON对象block_state_provider:作为装饰物的方块。如果生成位置为空气或下方与完全固体渲染方块相接的藤蔓,这个方块就能被放置。
  • 加入了attached_to_logs树木装饰器。附加参数如下:
    • 单精度浮点数*probability:(0≤值≤1)放置装饰物的概率。
    • NBT复合标签/JSON对象*block_provider:一个方块状态提供器,表示装饰器在原木上生成的方块。
    • NBT列表/JSON数组*directions:(不能为空)生成装饰物的方向。
生物群系数据格式
  • 在生物群系的环境效果中加入了新字段整型dry_foliage_color,以定义为枯叶着色时所使用的颜色。
结构
  • 加入了空结构empty.nbt
树木
  • 加入了倒下的树木,以同步基岩版。
    • 倒下的树木共有5种,分别是:橡树、白桦、高白桦、丛林和云杉树。
    • 有些倒下的树木附有蘑菇和藤蔓。
    • 除了草甸、竹林、河流和雪林外,所有会生成对应立式树木的生物群系中均会生成倒下的树木。
      • 例外是,繁花森林中会生成倒下的白桦,但不会生成倒下的橡树。

游戏内容

游戏规则
  • 加入了新规则allowFireTicksAwayFromPlayer,默认值为false
    • true时,距离玩家128格外的区块中的火和熔岩仍可执行游戏刻。
  • 加入了tntExplodes游戏规则,以同步基岩版。
    • false时,TNT将不能爆炸,也不可被激活。
    • 默认为true
粒子
  • 加入了tinted_leaves粒子。
    • 具有参数color,可以为一个整数或一个4浮点数列表。
  • 加入了firefly粒子。
槽位
  • 加入了saddle生物通用槽位。
    • 可装备于此槽位的物品由equippable物品堆叠组件控制。
    • 只有自然支持此槽位的生物能在装备对应物品时被骑乘并在实体模型上渲染鞍。

命令格式

/test
  • 用于创建和运行测试的命令。
  • 注意:游戏测试的设计为运行于标准超平坦世界。每次测试运行时,其周围的区域都会被石头代替,且测试会被屏障盒包裹。
  • 语法如下:
    • test clear*:清除与所选的测试关联的结构和方块。
      • test clearall [<radius>]
      • test clearthat
      • test clearthese
    • test create:在当前位置创建一个指定测试的测试设置,为指定大小的测试结构做准备。
      • test create <test> [<width>] [<height> <depth>]
    • test locate:在已加载区块中寻找测试的位置。
      • test locate <selector>
    • test reset*:为所选的测试重置测试结构,移除周围的所有屏障并重新放置结构。
      • test resetclosest
      • test reseetthese
      • test resetthat
    • test pos:显示测试中指向方块的局部坐标。如果指定了变量名,则在由单击此命令返回消息中的坐标获得的代码片段中使用该变量名。
      • test pos [<variable>]
    • test run*:运行一个或多个测试。先加载每个测试的给定结构,再运行相关测试。如果一次运行多个测试,则它们会被放置于网格中并行运行,但有一定限制。如果超出限制,则测试按轮依次运行。
      • test run <selector> [<numberOfTimes>] [<untilFailed>] [<rotationSteps>] [<testsPerRow>]
      • test runclosest [<numberOfTimes>] [<untilFailed>]
      • test runfailed [<numberOfTimes>] [<untilFailed>] [<rotationSteps>] [<testsPerRow>]
      • test runmultiple <selector> [<amount>]
      • test runthat [<numberOfTimes>] [<untilFailed>]
      • test runthese [<numberOfTimes>] [<untilFailed>]
    • test stop:停止所有测试。由测试触发的游戏事件可能仍会继续。
    • test verify <tests>:通过运行同一测试的多个实例来验证一个或多个测试。
  • 参数:
    • radius:需要清除的测试的范围。
    • test:测试的命名空间ID。
    • selector:支持通配符(*?)的测试ID选择器。未提供命名空间时,默认使用minecraft:
      • 示例:
        • *:* – 匹配所有ID。
        • * – 匹配minecraft命名空间下的全部ID。
        • custom:folder/*_test_? – 匹配custom命名空间下folder文件夹中为<任意前缀>_test_<单字符后缀>的ID。
    • width:(默认为5)测试结构的宽度。
    • height:(默认使用width的值)测试结构的高度。
    • depth:(默认使用width的值)测试结构的深度。
    • variable:复制代码段中使用的变量名。
    • numberOfTimes:(默认为1)重复每个测试的次数。
    • untilFailed:(布尔值,默认为false)测试是否应该在一次迭代失败后立即停止。
    • rotationSteps:(默认为0)测试的额外90度旋转步数。
    • testsPerRow:(默认为8)网格布局中每行放置的测试数量。

常规

语言
  • 加入了对吉尔吉斯语的支持。
数据包
  • 加入了pig_varianttest_environmenttest_instancecat_variantfrog_variantcow_variantchicken_variantwolf_sound_variant子文件夹。
  • 数据包现在可以用于配置测试实例与测试环境定义。
  • 猫、青蛙、猪、牛和鸡变种,以及狼的音效变种现在可由数据包定义。
实体谓词
  • 在实体谓词中加入了新字段NBT复合标签/JSON对象components
    • 存在时,谓词会匹配实体组件的内容(类似于匹配物品堆叠的物品谓词的字段components)。
    • 格式:组件类型键与组件匹配值的映射。
  • 加入了新可选字段predicates
    • 除了操作对象是实体组件外,其功能和格式与物品谓词predicates相同。
    • 存在时,将匹配实体组件的部分内容。
实体数据格式
  • 向所有实体(除固有此字段的标记)加入了NBT复合标签/JSON对象data字段。
    • 由于以custom_data数据组件形式公开,故可由生成类物品设置,也可由谓词匹配。
    • 当前自定义实体数据存储于data中,未来引入更合适的实体组件存储方式后,此字段名称将会更改。
    • 仅在非空时存储。
方块谓词
  • 加入了新可选字段componentspredicates
    • 除了操作对象是方块实体组件(若有)外,其功能和格式与同名的物品谓词相同。
    • components存在时,其将匹配方块实体组件的精确内容。
    • predicates存在时,其将匹配方块实体组件的部分内容。
物品堆叠组件
  • 加入了新组件NBT复合标签/JSON对象weapon
    • 存在时,物品使用次数统计信息会在用此物品攻击时增加。
    • 附加字段如下:
  • NBT复合标签/JSON对象weapon 物品堆叠组件
    • 整型item_damage_per_attack:(默认为1,值≥0)每次攻击对此物品造成的损伤值,即损耗的耐久度。
    • 单精度浮点数disable_blocking_for_seconds:(值>0,默认为0)非零时,用此武器进行的成功攻击将会禁用盾牌指定秒数。
  • 示例:weapon={item_damage_per_attack:2}
  • 加入了新组件单精度浮点数potion_duration_scale,值≥0。
    • 存在时,具有potion_contents组件的物品所储存效果的持续时长将随此组件所提供的倍率缩放。
    • 未指定此组件时,持续时长倍率默认为1.0
    • 示例:potion_duration_scale=0.25
  • NBT复合标签/JSON对象tool组件中加入了可选字段布尔型can_destroy_blocks_in_creative,表示创造模式玩家能否使用此物品破坏方块,默认为true
  • 加入了一系列用于配置实体的变种、外观或其他方面的组件。
    • 当刷怪蛋、生物桶、画和物品展示框等物品具有这些组件时,组件将对其生成的实体生效。
    • 对实体使用选取键获取刷怪蛋时,获取的刷怪蛋不会储存这些组件。
    • 新组件如下:
      • 字符串axolotl/variant:可以为lucywildgoldcyanblue之一。
      • 字符串fox/variant:可以为redsnow之一。
      • 字符串horse/variant:可以为whitecreamychestnutbrownblackgraydark_brown之一。
      • 字符串llama/variant:可以为creamywhitebrowngray之一。
      • 字符串mooshroom/variant:可以为redbrown之一。
      • 字符串parrot/variant:可以为red_bluebluegreenyellow_bluegray之一。
      • 字符串rabbit/variant:可以为brownwhiteblackwhite_splotchedgoldsaltevil之一。
      • 字符串villager/variant:可以为desertjungleplainssavannasnowswamptaiga之一。
      • 字符串salmon/size:可以为smallmediumlarge之一。
      • 字符串tropical_fish/pattern:可以为kobsunstreaksnooperdasherbrinelyspottyflopperstripeyglitterblockfishbettyclayfish之一。
      • 字符串tropical_fish/base_color:16种染料颜色之一。
      • 字符串tropical_fish/pattern_color:16种染料颜色之一。
      • 字符串cat/collar:16种染料颜色之一。
      • 字符串wolf/collar:16种染料颜色之一。
      • 字符串sheep/color:16种染料颜色之一。
      • 字符串shulker/color:16种染料颜色之一。
      • 字符串cat/variant:需为取自cat_variant注册表的命名空间ID。
      • 字符串frog/variant:需为取自frog_variant注册表的命名空间ID。
      • 字符串painting/variant:需为取自painting_variant注册表的命名空间ID。
      • 字符串pig/variant:需为取自pig_variant注册表的命名空间ID。
      • 字符串wolf/variant:需为取自wolf_variant注册表的命名空间ID。
      • 字符串cow/variant:需为取自cow_variant注册表的命名空间ID。
      • 字符串chicken/variant:需为取自chicken_variant注册表的命名空间ID。
      • 字符串wolf/sound_variant:需为取自wolf_sound_variant注册表的命名空间ID。
    • 创造模式物品栏中的生物桶和画现在使用新变种组件而非minecraft:entity_data组件。
    • 热带鱼桶和画物品的自定义提示框文本现在基于新组件而非minecraft:bucket_entity_dataminecraft:entity_data
  • 加入了NBT复合标签/JSON对象blocks_attacks组件。
    • 玩家持拥有此组件的物品能像盾牌一样阻挡攻击。
    • 格式如下:
  • NBT复合标签/JSON对象blocks_attacks 物品堆叠组件
    • 单精度浮点数block_delay_seconds:(值≥0,默认为0)成功阻挡攻击前需要按住右键的秒数。
    • 单精度浮点数disable_cooldown_scale:(值≥0,默认为1)被可禁用阻挡的攻击击中时,物品冷却时长的乘数。为0时,此物品不能被攻击禁用。
    • 字符串bypassed_by:(伤害类型标签)指定标签的伤害类型可以无视此物品的阻挡而造成实际伤害。
    • NBT列表/JSON数组damage_reductions:控制可阻挡多少伤害。未指定时,可阻挡一切伤害。
      • NBT复合标签/JSON对象:控制可挡下的伤害量和伤害类型。阻挡成功时,伤害减少clamp(base + factor * 所受攻击伤害, 0, 所受攻击伤害)
        • 单精度浮点数*base:固定阻挡的伤害。
        • 单精度浮点数factor:应被阻挡的伤害比例。
        • NBT列表/JSON数组字符串type:可阻挡的伤害类型。允许单个ID、列表或标签。未指定则表示对所有伤害有效。
        • 单精度浮点数horizontal_blocking_angle:(值>0,角度制,默认为90)在水平方向上,以当前玩家视角的水平分量向量为基准,如果受伤害方向与基准方向夹角小于此角度则伤害可被阻挡,否则不能阻挡。
    • NBT复合标签/JSON对象item_damage:控制攻击对物品造成的耐久损耗。未指定时,每次攻击损耗物品1点耐久。物品耐久最终损耗floor(threshold, base + factor * 所受攻击伤害)。最终值可以为负数以使物品修复。
      • 单精度浮点数threshold:(值≥0)攻击对此物品造成的最低耐久度损耗。
      • 单精度浮点数*base:损耗物品固定耐久度。
      • 单精度浮点数*factor:所受攻击伤害的乘数。
    • 字符串block_sound:成功阻挡攻击时播放的声音事件。
    • 字符串disabled_sound:此物品被攻击禁用时播放的声音事件。
  • 加入了字符串break_sound组件。
    • 存在时,物品因耐久耗尽而损坏时播放此声音事件。
    • 不存在时,物品损坏时不会播放任何音效。
    • 此组件是每个物品类型的默认组件之一。
    • 示例:break_sound='item.wolf_armor.break'
  • 加入了字符串provides_banner_patterns组件,需为一个旗帜图案标签。
    • 存在时,物品可被放入织布机的图案槽位。
    • 示例:provides_banner_patterns='#minecraft:pattern_item/globe'
  • 加入了字符串provides_trim_material组件,需为一个盔甲纹饰材料。
    • 存在时,物品将向盔甲纹饰配方提供指定的纹饰材料。
    • 在内置锻造配方中使用时,此物品必须在#trim_material标签中。
    • 因此,盔甲纹饰材料注册表定义不再指定物品ID。
    • 示例:provides_trim_material='minecraft:iron'
  • 加入了NBT复合标签/JSON对象tooltip_display组件,以隐藏由任何组件提供的提示框文本。
    • 因此,布尔型show_in_tooltip字段、NBT复合标签/JSON对象hide_additional_tooltipNBT复合标签/JSON对象hide_tooltip组件被取代。
    • 此组件是每个物品类型的默认组件之一。
    • 格式如下:
  • NBT复合标签/JSON对象tooltip_display 物品堆叠组件
    • 布尔型hide_tooltip:(默认为false)物品提示框是否总是隐藏。
    • NBT列表/JSON数组hidden_components:(默认为[])一个物品组件ID列表,列表内的所有组件提供的提示框文本都会被隐藏。如果组件不提供提示框文本,则对其没有效果。
      • 字符串:一个物品堆叠组件ID。
注册表
  • 加入了TEST_ENVIRONMENT_DEFINITION_TYPE、​TEST_INSTANCE_TYPE、​TEST_FUNCTION、​TICKET_TYPE、​SPAWN_CONDITION_TYPEDATA_COMPONENT_PREDICATE_TYPE固有注册表。
  • 加入了PIG_VARIANT、​TEST_ENVIRONMENT、​TEST_INSTANCE、​COW_VARIANT、​CHICKEN_VARIANTWOLF_SOUND_VARIANT可写注册表。
标签
  • 加入了下列方块标签:
    • #replaceable_by_mushrooms#leaves、​#small_flowers、​pale_moss_carpet、​short_grass、​fern、​dead_bush、​vine、​glow_lichen、​sunflower、​lilac、​rose_bush、​peony、​tall_grass、​large_fern、​hanging_roots、​pitcher_plant、​water、​seagrass、​tall_seagrass、​brown_mushroom、​red_mushroom、​brown_mushroom_block、​red_mushroom_block、​warped_roots、​nether_sprouts、​crimson_roots、​leaf_litter、​short_dry_grass、​tall_dry_grass、​bushfirefly_bush
      • 蘑菇被放置或生长时可替换的方块。
    • #sword_instantly_minesbamboobamboo_sapling
      • 能被剑瞬间破坏的可破坏方块。
    • #plays_ambient_desert_block_sounds#terracotta、​sandred_sand
      • 会播放沙漠方块环境音效的方块。
    • #edible_for_sheepshort_grass、​short_dry_grass、​tall_dry_grassfern
      • 可被绵羊食用而使其羊毛生长的方块。
    • #camels_spawnable_on#sand
      • 上方可以生成骆驼的方块。
  • 加入了下列物品标签:
    • #book_cloning_targetwritable_book
      • 可通过与成书合成来复制的物品。
    • #eggsegg、​blue_eggbrown_egg
      • 不会被鸡骑士捡起的物品。还用于合成蛋糕和南瓜派的配方。
    • #flowers#small_flowers、​sunflower、​lilac、​peony、​rose_bush、​pitcher_plant、​flowering_azalea_leaves、​flowering_azalea、​mangrove_propagule、​cherry_leaves、​pink_petals、​wildflowers、​chorus_flower、​spore_blossomcactus_flower
      • 现有的方块标签#flowers的对应物品标签。
  • 加入了下列生物群系标签:
    • #spawns_cold_variant_farm_animalssnowy_plains、​ice_spikes、​frozen_peaks、​jagged_peaks、​snowy_slopes、​frozen_ocean、​deep_frozen_ocean、​grove、​deep_dark、​frozen_river、​snowy_taiga、​snowy_beach、​#is_end、​cold_ocean、​deep_cold_ocean、​old_growth_pine_taiga、​old_growth_spruce_taiga、​taiga、​windswept_forest、​windswept_gravelly_hills、​windswept_hillsstony_peaks
      • 可生成寒带变种的绵羊、猪、鸡、牛(统称为家畜)的生物群系。
    • #spawns_warm_variant_farm_animalsdesert、​warm_ocean、​#is_jungle、​#is_savanna、​#is_nether、​#is_badlands、​mangrove_swamp、​deep_lukewarm_oceanlukewarm_ocean
      • 可生成热带变种的绵羊、猪、鸡、牛的生物群系。
  • 加入了下列实体标签:
    • #can_equip_saddlehorse、​skeleton_horse、​zombie_horse、​donkey、​mule、​pig、​stridercamel
      • 可以装备鞍的实体。该标签仅用于鞍的物品默认组件,不控制其实际功能。
    • #can_wear_horse_armorhorse
      • 表示会在其马类实体物品栏中显示马铠槽位的实体。
装备模型
  • 加入了预设模型层pig_saddle、​strider_saddle、​camel_saddle、​horse_saddle、​donkey_saddle、​mule_saddle、​skeleton_horse_saddlezombie_horse_saddle
物品模型映射
  • 加入了枚举属性component,用于返回物品的组件值(如有)。
    • 附加字段如下:
      • 字符串component:物品堆叠组件类型的命名空间ID。
    • 可能的值取决于物品堆叠组件类型。例如类型设置为minecraft:wolf/collar时,枚举值列表会接受染料颜色(如lime)。
    • 如果可能的值来自注册表但当前数据包未提供此值,则此表项将被静默忽略。
  • 加入了布尔属性component
    • 使用物品组件谓词来匹配物品组件。
      • 类似于物品子谓词,但是,不是将它们编码为<谓词类型>:<谓词值>的映射,而是将单个谓词编码为两个字段:
    • 字符串*predicate:组件谓词类型。可以为damage、​enchantments、​stored_enchantments、​potion_contents、​custom_data、​container、​bundle_contents、​firework_explosion、​fireworks、​writable_book_content、​written_book_content、​attribute_modifiers、​trimjukebox_playable中之一。
    • 任意类型*value:谓词指定的值。
颜色图
  • 加入了dry_foliage.png,用于枯叶类可着色方块的着色。
资源包
  • 为绵羊羊毛加入了底层纹理sheep_wool_undercoat,以在游戏中动态着色。
客户端核心文件
  • 加入了新命令行传入参数--renderDebugLabels
    • 为相关OpenGL对象添加调试标签,使开发者更容易调试渲染。
服务端核心文件
  • server.jar中加入了net.minecraft.gametest.Main入口点,用于自动启动运行全部可用测试项目的服务端。
    • 选项如下:
      • --help:显示用法信息。
      • --packs <路径>:设置世界中启用的数据包路径(可以为包含pack.mcmeta文件的文件夹或.zip格式的压缩包)。
      • --report <路径>:将类似于JUnit的XML报告导出到给定路径。
      • --tests <选择>:指定根据选择表达式(与命名空间测试实例ID匹配的通配符表达式)运行的测试内容。如果此项省略或指定空ID,则运行所有测试项。
      • --universe <路径>:(默认为gametestserver)设置服务端世界存放路径。会替换已有的文件夹。
      • --verify <布尔值>:(默认为false)启用测试验证。启用时,对每个90度旋转步骤运行以testtestNamespace指定的测试100次。
    • 用法示例:java -DbundlerMainClass="net.minecraft.gametest.Main" -jar server.jar --packs mytestpacks
测试实例定义格式
  • 游戏测试实例是定义运行测试的小型资产,可以在数据包注册表test_instance中定义。
  • 测试类型分为2种:内置函数测试和基于方块的测试。
    • 内置函数测试依赖内置函数来运行测试并指示成功或失败。
    • 基于方块的测试使用测试结构中的测试方块来运行测试并指示成功或失败。
  • 游戏内置一个永远成功的测试实例minecraft:always_pass
  • 格式如下:
  • NBT复合标签/JSON对象 父标签
    • 字符串*environment:作为测试一部分的测试环境的命名空间ID。
    • 字符串*structure:用于测试的结构的命名空间ID。
    • 字符串*type:测试的类型。需为block_basedfunction之一。
    • 整型*max_ticks:(值>0)允许测试通过而不超时的最大刻数。
    • 整型setup_ticks:(默认为0,值≥0)放置测试结构后、测试启动前需要等待的刻数。
    • 整型max_attempts:(默认为1,值>0)尝试运行此测试的次数。
    • 整型required_successes:(默认为1,值≥0)此测试必须成功的次数。
    • 布尔型required:(默认为true)对要通过的完整测试套件而言,这个测试是否必须通过。
    • 布尔型manual_only:(默认为false)此测试是否不包含于自动测试运行组中。
    • 布尔型sky_access:(默认为false)此测试是否需要天空。为false时,测试结构被屏障完全包裹;为true时,屏障盒顶部敞开。
    • 字符串rotation:(默认为none)对测试结构应用的旋转角度。可以为noneclockwise_90180counterclockwise_90之一。
      字符串typefunction时,附加以下字段:
    • 字符串*function:要运行的测试函数的命名空间ID。目前内置的测试函数只有minecraft:always_pass
测试环境定义格式
  • 游戏测试环境是对测试进行分组并为其提供正确的运行前提条件的一种方法,可以在数据包注册表test_environment中定义。
  • 游戏内置一个空测试环境minecraft:default
  • 格式如下:
  • NBT复合标签/JSON对象 父标签
    • 字符串*type:测试环境的类型。需为all_offunctiongame_rulesweathertime_of_day之一。
      字符串typeall_of时,附加以下字段:
    • NBT列表/JSON数组*definitions:子定义设置列表,其中的定义均会应用。
      字符串typefunction时,附加以下字段:
    • 字符串setup:用于安装的mcfunction文件的命名空间ID。
    • 字符串teardown:用于卸载的mcfunction文件的命名空间ID。
      字符串typegame_rules时,附加以下字段:
    • NBT列表/JSON数组*bool_rules:布尔型游戏规则的设置列表。
      • NBT复合标签/JSON对象:一个游戏规则与一个设置值。
        • 字符串*rule:要设置的规则的精确ID。测试环境完成后,此规则会被重置为默认值。
        • 布尔型*value:规则的设置值。
    • NBT列表/JSON数组*int_rules:整型游戏规则的设置列表。
      • NBT复合标签/JSON对象:一个游戏规则与一个设置值。
        • 字符串*rule:要设置的规则的精确ID。测试环境完成后,此规则会被重置为默认值。
        • 整型*value:规则的设置值。
      字符串typeweather时,附加以下字段:
    • 字符串*weather:要设置的天气。需为clear、​rainthunder之一。
      字符串typetime_of_day时,附加以下字段:
    • 整型*time:(值≥0)要设置的当日时间,单位为刻。
游戏测试框架
  • 现在可以通过修改游戏代码的方式在TEST_FUNCTION注册表中添加测试函数,以使用比基于方块的测试方式更通用的游戏测试框架。
通用变种选择器
  • 具有生成规则的变种现在使用统一方法选择,过程如下:
    • 每个变种字段NBT列表/JSON数组spawn_conditions的每一表项包含一个条件和一个整数优先级
    • 给定实体类型的所有变种的条件将根据生成实体的位置进行评估,然后游戏从剩余优先级最大的表项中随机选取一项
    • 如果不存在任何条件,则变种保持默认值
  • 格式如下:
  • NBT列表/JSON数组spawn_conditions:通用变种选择器。
    • NBT复合标签/JSON对象
      • 整型*priority:选中此条件的优先级。
      • NBT复合标签/JSON对象*condition:一项生成条件。
        • 字符串type:生成条件类型。如果此字段不存在,则条件始终为真。
          如果字符串typebiome,则匹配生成位置的生物群系,附加下列字段:
        • NBT列表/JSON数组字符串*biomes:单个生物群系ID、列表或生物群系标签。
          如果字符串typemoon_brightness,则匹配生成位置的月亮亮度,附加下列字段:
        • NBT复合标签/JSON对象单精度浮点数*range:单个浮点数或如{"min": 1, "max": 2}一样的对象。
          • 单精度浮点数*min:最小亮度值。
          • 单精度浮点数*max:最大亮度值。
          如果字符串typestructures,则匹配生成位置是否在结构中,附加下列字段:
        • NBT列表/JSON数组字符串*structures:单个结构ID、列表或结构标签。
猫变种定义格式和青蛙变种定义格式
  • 猫的变种可通过data/<命名空间>/cat_variant/<id>.json来添加。
  • 青蛙的变种可通过data/<命名空间>/frog_variant/<id>.json来添加。
  • 文件格式如下:
  • NBT复合标签/JSON对象 父标签
    • 字符串*asset_id:此变种纹理资产的命名空间ID,会被解析为assets/<命名空间>/textures/<路径>.png
    • NBT列表/JSON数组spawn_conditions:通用变种选择器。
  • 这两项特性均属于实验性功能。
猪变种定义格式、牛变种定义格式和鸡变种定义格式
  • 猪的变种可通过data/<命名空间>/pig_variant/<id>.json来添加。
  • 牛的变种可通过data/<命名空间>/cow_variant/<id>.json来添加。
  • 鸡的变种可通过data/<命名空间>/chicken_variant/<id>.json来添加。
  • 文件格式如下:
  • NBT复合标签/JSON对象 父标签
    • 字符串*asset_id:此变种纹理资产的命名空间ID,会被解析为assets/<命名空间>/textures/<路径>.png
    • 字符串model:此变种使用的模型。
    • NBT列表/JSON数组spawn_conditions:通用变种选择器。
  • 这三项特性均属于实验性功能。
狼音效变种定义格式
  • 狼的音效变种可通过data/<命名空间>/wolf_sound_variant/<id>.json来添加。
  • 格式:
  • NBT复合标签/JSON对象 父标签
    • 字符串NBT复合标签/JSON对象ambient_sound:狼空闲音效的命名空间ID,或直接定义一个声音事件。
    • 字符串NBT复合标签/JSON对象death_sound:狼死亡音效的命名空间ID,或直接定义一个声音事件。
    • 字符串NBT复合标签/JSON对象growl_sound:狼嚎叫音效的命名空间ID,或直接定义一个声音事件。
    • 字符串NBT复合标签/JSON对象hurt_sound:狼受伤音效的命名空间ID,或直接定义一个声音事件。
    • 字符串NBT复合标签/JSON对象pant_sound:狼喘息音效的命名空间ID,或直接定义一个声音事件。
    • 字符串NBT复合标签/JSON对象whine_sound:狼呜咽音效的命名空间ID,或直接定义一个声音事件。
纹理图集
  • paletted_permutations纹理图集源中加入了新字段:
    • 字符串separator:(默认为_)连接原始纹理和置换调色板以生成精灵图名称时使用的分隔符。

更改

方块

大型垂滴叶
  • 不再能放置于苍白苔藓块上。
气泡柱
  • 现在不受其影响的实体,在里面产生的粒子和音效更少。
嘎枝之心
  • 为在合理结构中但由于白天而处于休眠状态的嘎枝之心加入了新纹理。
    • 休眠状态的嘎枝之心不能生成嘎枝,也不能生成树脂团。
  • 现在激活与休眠状态的转换取决于固定的时间,而不再受天气和维度亮度影响。
  • 方块状态active现在被creaking_heart_state取代。
    • 可能的值为uprooteddormantawake
眼眸花
  • 现在状态的转换取决于固定的时间,而不再受天气和维度亮度影响。
  • 默认情况下,周围8个区块内不含玩家时,火不再燃烧或蔓延。
铁块、铁栏杆、铁活板门、铁门和重质测重压力板
  • 加入了新的破坏、放置、在上方移动、摔落和打击音效。
橡树树叶、丛林树叶、金合欢树叶、深色橡树树叶、云杉树叶、红树树叶、白桦树叶、杜鹃树叶和盛开的杜鹃树叶
  • 现在有概率产生对应颜色的落叶粒子。
苍白橡树树苗和苍白橡树树叶
  • 地图基色由
    #FFFCF5更改为
    #A7A7A7。
磁石
  • 更改了配方,现在需要1个铁锭和8个雕纹石砖合成。
    • 此配方现在会在玩家获得铁锭或磁石时解锁。
  • 现在可以在主世界和下界的废弃传送门的战利品箱子中找到1 – 2个磁石。
树脂砖台阶
  • type状态为double的树脂砖台阶现在会正常掉落2个树脂砖台阶而非1个。
信标
  • 信标及其光柱的渲染距离现在可以超过16个区块,直到客户端设置的渲染距离。
    • 相机离光柱越远,光柱将渲染得越厚,以使在远处也能发现光柱。
    • 信标光柱的最大渲染高度也从1024格提升到了2048格。
沙子、红沙和所有陶瓦
  • 现在当任意3个方向上8格外也存在上述方块时会发出环境音效。
    • block.sand.idle会在所有生物群系中播放;在沙漠和恶地中,还可能播放block.sand.wind
枯萎的灌木
  • 现在当下方两格均为沙子、红沙或陶瓦时会发出环境音效。
  • 现在可在耕地上放置。
细雪
  • 穿着皮革靴子摔落到其上的实体,如果摔落高度大于2.5格,则会穿过细雪而不被其接住。
草丛
  • 降低了其音效文件(挖掘)的音量。
眼眸花和苍白垂须
  • 产生的闲置音效分类现在由“方块”改为“环境”。
熔岩和水
  • 产生的环境音效分类现在由“方块”改为“环境”。
活塞
  • 现在所破坏的方块会播放对应的破坏音效。
移动的活塞
  • 方块实体数据中存储的NBT复合标签/JSON对象blockState不再允许指定为空对象。
末地折跃门方块
  • 方块实体数据中的整型数组exit_portal不再在被移除时保留。
熔炉、烟熏炉和高炉
  • 方块实体数据中的NBT复合标签/JSON对象RecipesUsed不再在被移除时保留。
头颅
  • 方块实体数据中的字符串note_block_sound不再在被移除时保留。
营火
  • 整型CookingTimes整型CookingTotalTimes字段不再在被移除时保留。
雕纹书架
  • 整型last_interacted_slot字段现在具有默认值-1
漏斗
  • 整型TransferCooldown字段现在具有默认值-1
拼图方块
  • 字符串name字符串target字符串pool字段现在具有默认值minecraft:empty
  • 字符串final_state现在具有默认值minecraft:air
幽匿尖啸体
  • 整型warning_level字段现在具有默认值0
结构方块
  • 布尔型ignoreEntities布尔型showboundingbox字段现在具有默认值true
  • 整型posY字段现在具有默认值1

物品

蜂巢和蜂箱
  • 现在其方块物品默认具有block_state组件。
  • 现在其物品提示框中会显示装填的所有物品,而非只有首个物品。
    • 其中装填的所有物品也会将它们的完整提示框以分段形式加入。
    • 相同弹射物的提示框文本会合并。
容器
  • 所有容器方块物品现在会像潜影盒一样在提示框中显示其中的前5个物品(若有)。
烟花火箭
  • 现在会合并提示框中的多个相同烟火之星的提示框文本。
地图
  • 没有map_id组件的地图不再在其提示框中显示“未知地图”。
    • 无效ID仍会产生此提示。
收纳袋
  • 现在可以在村庄的战利品箱子中找到。具体位于:
    • 各生物群系村庄房屋
    • 村庄皮匠小屋
    • 村庄制图师小屋
    • 村庄武器匠小屋
刷怪蛋
  • 更新了纹理。
    • 现在刷怪蛋的大小与所生成生物的大小相匹配。
    • 现在刷怪蛋的外观会凸显出所生成生物的外观。

生物

骆驼
  • 现在会在沙漠中自然生成。
牛和哞菇
  • 更新了模型。
    • 现在会渲染其鼻子。
    • 现在腿部模型是镜像的。
  • NBT列表/JSON数组stew_effects字段不再在被移除时保留。
嘎枝
  • 现在与嘎枝之心绑定的嘎枝也能被命名牌命名。
    • 被命名的嘎枝不会因为白天而消失。
僵尸猪灵
  • 现在只会在被玩家杀死时掉落玩家独有战利品。
绵羊
  • 绵羊的羊毛颜色现在取决于其生成所处的生物群系。
生物群系 其他生物群系
绵羊毛色 常见(81.836%) BlockSprite black-wool.png:Minecraft中black-wool的精灵图 黑色 BlockSprite brown-wool.png:Minecraft中brown-wool的精灵图 棕色 BlockSprite white-wool.png:Minecraft中white-wool的精灵图 白色
少见(各占5%) BlockSprite gray-wool.png:Minecraft中gray-wool的精灵图 灰色
BlockSprite light-gray-wool.png:Minecraft中light-gray-wool的精灵图 淡灰色
BlockSprite white-wool.png:Minecraft中white-wool的精灵图 白色
BlockSprite black-wool.png:Minecraft中black-wool的精灵图 黑色
BlockSprite gray-wool.png:Minecraft中gray-wool的精灵图 灰色
BlockSprite light-gray-wool.png:Minecraft中light-gray-wool的精灵图 淡灰色
少见(3%) BlockSprite brown-wool.png:Minecraft中brown-wool的精灵图 棕色 BlockSprite black-wool.png:Minecraft中black-wool的精灵图 黑色 BlockSprite brown-wool.png:Minecraft中brown-wool的精灵图 棕色
稀有(0.164%) BlockSprite pink-wool.png:Minecraft中pink-wool的精灵图 粉红色
  • 现在绵羊身上的毛斑块会保留剪毛前染的颜色,以匹配基岩版。
  • 现在可以食用蕨,以匹配基岩版。
  • 调整了羊毛纹理,以消除背部的明显线条。
可骑乘生物
  • 现在装备于其身上的鞍在掉落时能保留诸如自定义名称之类的物品属性。
玩家
  • 存档崩溃报告中,现在还可能包含玩家的UUID、坐标、游戏模式和权限等级。
村民
  • 实体数据中的NBT列表/JSON数组Gossips不再在移除时保留。
  • 字节型FoodLevel整型Xp长整型LastRestock长整型LastGossipDecay整型RestocksToday字段现在具有默认值0
流浪商人
  • 实体数据中的整型数组wander_target不再在移除时保留。
  • 整型DespawnDelay字段现在具有默认值0
  • 实体数据中的字节型CollarColor字段现在默认为14(红色)而非0(白色)。
悦灵
  • 移除了实体数据中冗余的布尔型CanDuplicate字段。
  • 实体数据中的字节型CollarColor字段现在默认为14(红色)而非0(白色)。
苦力怕
  • 短整型Fuse字段现在具有默认值30
  • 字节型ExplosionRadius字段现在具有默认值3
海豚
  • 移除了实体数据中的整型TreasurePosX整型TreasurePosY整型TreasurePosZ字段。
  • 整型Moistness字段现在具有默认值2400
末影龙
  • 整型DragonDeathTime字段现在具有默认值0
末影人
  • NBT复合标签/JSON对象carriedBlockState不再允许指定为空对象。
恶魂
  • 字节型ExplosionPower字段现在具有默认值1
山羊
  • 布尔型HasLeftHorn布尔型HasRightHorn字段现在具有默认值true
狐狸
  • NBT列表/JSON数组Trusted字段现在具有默认值[]
  • /data修改NBT列表/JSON数组Trusted字段时,不再会将其与旧状态合并。
幻翼
  • 整型Size字段重命名为整型size
  • 整型AX整型AY整型