25w07a.md 15 KB


version-image-link: https://i0.hdslb.com/bfs/archive/0b3fd7dea89db2da46874d75a664fb7a38bf18c9.jpg server-jar: https://piston-data.mojang.com/v1/objects/f264312044768694831ad285fdde1d55e2f16c92/server.jar translator: Don_Trueno

cats: ['1.21','1.21.5']

蛙,星期四出快照,谁出的主意?!在本周的快照中,我们改进了流浪商人与制图师的交易项目,同时为绵羊添加了基于生物群系的毛色生成规则。是时候出发去探索新世界了!Mojang 的漏洞追踪器 Mojira 正在迁移到云端,在此期间将不可访问。我们会尽快上线新平台,为各位玩家提供登录、创建帐户,以及最重要的——漏洞汇报服务!因此,在漏洞平台关闭期间,也别放过漏洞们,在 Mojira 上线后就快快来汇报它吧!

新特性

  • 绵羊现在会基于生成时所在的生物群系而使用不同的毛色生成规则

家畜生物变种

炎热/寒冷生物群系的绵羊毛色

  • 绵羊现会基于生成时所在的生物群系而拥有全新的毛色生成规则:
    • 温暖生物群系(与原先的生成规则相同):
    • 多数绵羊是白色的
    • 少数绵羊是黑色、灰色、淡灰色或棕色的
    • 罕见情况下,生成的绵羊是粉红色的
    • 寒冷生物群系:
    • 多数绵羊是黑色的
    • 少数绵羊是淡灰色、淡蓝色、蓝色和青色的
    • 罕见情况下,生成的绵羊是粉红色的
    • 炎热生物群系:
    • 多数绵羊是棕色的
    • 少数绵羊是灰色、黄色、棕色或红色的
    • 罕见情况下,生成的绵羊是粉红色的

更改

  • 灌木现只在使用剪刀或附魔了精准采集的工具破坏时掉落自身,并可被其他方块替代放置
  • 两种哞菇的外观轻微变动,现在会有隆起的鼻子
  • 将仅用于沙漠、恶地和苍白花园的环境音效的方块环境音效由“方块”分类移动到“环境”分类
  • 调整了制图师和流浪商人的交易列表
  • 骆驼现在可以在沙漠自然生成
  • 收纳袋现可以从村庄的部分战利品箱子内获得
  • 降低草丛被破坏时音效的音量,同时影响所有使用这一音效的方块

制图师与流浪商人的交易平衡性调整

制图师交易项调整

  • 制图师现在会售卖 7 种指向不同生物群系村庄或其他结构的地图。这些地图可以帮助玩家快速寻找到特定的地点
  • 不同村庄类型的制图师现在会售卖一系列不同的地图与染色旗帜
  • 调整了一些交易的价格和物品数量

25w07a_cartographer_trades.png

原图

流浪商人交易项调整

  • 优化了流浪商人部分交易价格、库存,且流浪商人会提供更多交易项目
  • 流浪商人现在也会收购一些物品作为自己的物资,因此即使你不想从流浪商人那里购买物品,你也能够为他们下一次旅程提供帮助,同时得到一些绿宝石
  • 流浪商人现在会从下列物品中抽取两项进行收购:
    • 水瓶
    • 水桶
    • 奶桶
    • 发酵蛛眼
    • 烤马铃薯
    • 干草捆
  • 流浪商人现在可能会从下列物品中抽选售卖(追加进可能抽选的交易列表):
    • 原木(金合欢、白桦、深色橡木、丛林木、橡木、云杉木、苍白橡木或樱花木)
    • 附魔铁镐
    • 隐身药水

25w07a_wandering_trader_trades.png

原图

枯叶与草丛

  • 减小了枯叶音效文件(挖掘、行走、放置)的音量
  • 减小了草丛音效文件(挖掘)的音量,同时影响所有使用此音效的方块

技术性更改

  • 数据包版本现在是 67
  • 资源包版本现状是 52

数据包版本 67

  • 调整了 stepping_on 实体谓词的行为,现只在实体接触地面时结果为真

标签

方块标签

  • 添加了 #camels_spawnable_on 标签,用于标记骆驼可以在上面生成的方块

结构标签

  • 添加了 #on_savanna_village_maps 标签,用于标记可以出现在热带草原村庄地图上的结构
  • 添加了 #on_desert_village_maps 标签,用于标记可以出现在沙漠村庄地图上的结构
  • 添加了 #on_plains_village_maps 标签,用于标记可以出现在平原村庄地图上的结构
  • 添加了 #on_taiga_village_maps 标签,用于标记可以出现在针叶林村庄地图上的结构
  • 添加了 #on_snowy_village_maps 标签,用于标记可以出现在雪原村庄地图上的结构
  • 添加了 #on_swamp_explorer_maps 标签,用于标记可以出现在沼泽探险家地图上的结构
  • 添加了 #on_jungle_explorer_maps 标签,用于标记可以出现在丛林探险家地图上的结构

实体数据

  • 现在含有错误数组元素数的 Pos、Motion 和 Rotation(应分别为3个、3个、2个)会被丢弃,而不再选择特定数量元素
  • SleepingX、SleepingY 和 SleepingZ 字段合并为 sleeping_pos 字段
    • 例:sleeping_pos: [I;1,2,3]
  • 箭矢、矿车、方块展示实体、末影人、下落的方块、点燃的 TNT 和移动的活塞臂的实体数据中,方块状态不再能指定为空对象
  • 现在 Tags 字段被移除时不再保留

allay(悦灵)

  • 移除多余的 CanDuplicate 字段(改为由 DuplicationCooldown 控制)

cat(猫)

  • 现在 CollarColor 字段在未指定时默认为 14(红色)

dolphin(海豚)

  • 移除 TreasurePosX、TreasurePosY 和 TreasurePosZ 字段

falling_block(下落的方块)

  • BlockState 字段现在可以是 air(会立即消失)——未指定或无效时,将变为默认值 sand

fox(狐狸)

  • 现在 Trusted 字段在未指定时默认为空值(且使用 /data 修改时不再合并先前的状态)

item(物品实体)

  • 移除时不再保留 Owner 和 Thrower 字段

phantom(幻翼)

  • 将 Size 字段重命名为 size
  • AX、AY 和 AZ 字段现合并为 anchor_pos 字段

player(玩家)

  • SpawnX, SpawnY, SpawnZ, SpawnAngle、SpawnDimension 和 SpawnForced 字段现合并为 respawn 字段
    • 格式:带字段的对象
    • pos:重生的方块位置
    • angle:浮点数类型,重生时旋转的角度(默认值:0.0)
    • dimension:重生的维度id(默认值:minecraft:overworld)
    • forced:布尔类型,使用命令更改重生点时为真(默认值:false)
  • 将 enteredNetherPosition 字段重命名为 entered_nether_pos,其格式更改为由双精度数组成的数组
    • 例:entered_nether_pos: [1.0, 2.0, 3.0]

primed_tnt(点燃的TNT)

  • 现在 block_state 字段在未指定时默认为 tnt

shulker_bullet(潜影贝导弹)

  • Dir 和 Target 字段被移除时不再保留

turtle(海龟)

  • HomePosX、HomePosY 和 HomePosZ 字段现合并为 home_pos 字段
  • 移除了 TravelPosX、TravelPosY 和 TravelPosZ 字段
  • 将 HasEgg 字段重命名为 has_egg

vex(恼鬼)

  • 将 LifeTicks 字段重命名为 life_ticks
  • BoundX、BoundY 和 BoundZ 字段现合并为 bound_pos 字段

villager(村民)

  • Gossips 字段被移除时不再保留

wandering_trader(流浪商人)

  • wander_target 字段被移除时不再保留

wolf(狼)

  • 现在CollarColor 字段在未指定时默认为 14(红色)

zombie_villager(僵尸村民)

  • Gossips 字段被移除时不再保留

evoker_fangs(唤魔者尖牙)、area_effect_cloud(区域效果云)和所有弹射物

  • Owner 字段被移除时不再保留

item_frame、glow_item_frame、painting 和 leash_knot(物品展示框、荧光物品展示框、画、拴绳结)

  • TileX、TileY 和 TileZ 字段现合并为 block_pos 字段

arrow、spectral_arrow、trident(箭矢、光灵箭、三叉戟)

  • inBlockState 和 SoundEvent 字段被移除时不再保留

minecart、*_minecart(所有种类矿车)

  • CustomDisplayTile 字段现不再使用
  • DisplayState 被指定时,将始终覆盖原有的方块状态展示
  • 现在,即使未设定自定义的方块状态展示,也可以直接指定 DisplayOffset 字段来覆盖默认的偏移量

block_display、item_display 和 text_display(所有种类展示实体)

  • glow_color_override 字段被移除时不再保留

witch、ravager、pillager、illusioner、evoker 和 vindicator(所有灾厄村民)

  • patrol_target 字段被移除时不再保留

方块实体数据

  • CustomName 字段被移除时不再保留
  • LootTable 字段被移除时不再保留

end_gateway(末地折跃门)

  • exit_portal 字段被移除时不再保留

furnace、smoker、blast_furnace(熔炉、烟熏炉、高炉)

  • RecipesUsed 字段被移除时不再保留

skull(头颅方块)

  • note_block_sound 字段被移除时不再保留

资源包版本 52

  • 更改了世界中物品的渲染行为

哞菇

  • 更新了哞菇的模型与纹理
    • 添加了鼻子模型
    • 对腿部模型进行了镜像处理

着色器与后处理效果

[!devnote] 虽然通过资源包覆写核心着色器在操作上是可行的,但我们认为不应当这么做,这并不是资源包应有的行为。这些核心着色器作为游戏内部运行的一部分而存在,因此会随着游戏内部更新而随时发生变化。我们已知晓覆写核心着色器可以实现超酷的资源包功能,且很多黑科技缺少受支持的替代方案。我们将在未来提供更好且受支持的替代方案。

  • 作为文件定义的核心着色器程序与后处理效果的 JSON 格式文件已全部移除
  • 着色器程序本身仍可访问且覆盖
  • 后处理效果仍可使用 JSON 文件调整

后处理效果文件定义

  • program 字段由 vertex_shader 和 fragment_shader
    • <namespace>:<path> 将会解析为 assets/<namespace>/shaders/<path>.<vsh|fsh>
  • 对于每个 uniform,type 字段现在是必填项
    • 当前允许的值有int、ivec3、float、vec2、vec3、vec4 和 matrix4
  • 对于每个 uniform,values 字段现在是可选项
    • 不过不推荐将此项值留空,否则会使用 blur 后处理效果的运行时配置 (译者注:原文是Leaving it unset is not recommended and is used for runtime configuration of the blur effect. 可能理解有误)
  • 存在 uniform 未指定时将出现未定义行为,你必须指定着色器所用到的每一个 uniform

物品渲染

物品展示实体

  • 现在 firstperson_lefthand 与 thirdperson_lefthand 的矩阵变换与手持物品时的变换相同

物品实体

  • 物品实体在地面上时,现在会基于自身模型大小调整悬停的动量
    • 因此不论自身大小如何,物品实体的模型将不再穿到下面的方块中
  • 物品堆叠中各个物品的位置现在由自身模型大小与模型类型决定
    • 只要模型高度(Z 坐标)小于 1/16 格方块高度,物品实体就会被渲染成一摞扁平物品模型的组合
    • 其他情况下,物品堆叠会被渲染成数个围绕中心点偏移的物品模型的组合
    • 在之前的版本中,只有以 builtin/generated 为父模型的物品会被渲染成一摞扁平物品模型的组合

[!devnote] 由于文章发表时,漏洞追踪器服务仍因迁移中而不可用,下文的漏洞链接将暂时无法打开。

修复的漏洞

  • MC-122840 - /data remove 命令无法移除末地水晶的 beam_target 标签
  • MC-152382 - 末地折跃门和末地传送门不会因渲染距离迷雾而淡出
  • MC-153392 - /data remove 命令无法移除村民的言论信息(gossip)
  • MC-220091 - 将 NBT 标签 BlockState 设置为任意空气方块(air、cave_air、void_air)时,下落的方块实体会变成默认的沙子方块
  • MC-230445 - 末地折跃门和末地传送门在黑暗与失明效果下渲染异常
  • MC-279196 - /data remove 命令无法移除方块的战利品表
  • MC-279364 - 无法移除方块实体的 CustomName 标签
  • MC-279434 - 同时站在细雪方块和火方块中时,异常高频播放火焰熄灭的音效
  • MC-279472 - 与先前版本相比,虚空迷雾出现的高度更低、淡出更快了
  • MC-279572 - 末地折跃门和末地传送门不会受水、熔岩和细雪迷雾的影响
  • MC-279598 - 测试结构在执行 /test clearall 后仍有少量残留
  • MC-279637 - 使用 /test verify 测试一个 max_attempts 大于 1 的测试实例时游戏崩溃
  • MC-279711 - 关闭 UI 界面时,测试实例方块的“实体”翻转
  • MC-279913 - 哞菇的鼻子与牛的不一致
  • MC-279921 - “轻功雪上飘”进度在玩家陷入细雪时仍然能够完成
  • MC-279934 - block.sand.idle 和 block.sand.wind 不在环境音效分类
  • MC-279936 - 使用/test create 命令时显示 commands.test.success 的原始翻译键
  • MC-279948 - 寒带牛的牛角未作镜像处理
  • MC-279992 - 玩家穿着皮革靴子且从一些特地高度坠落到细雪上时,会陷入细雪中
  • MC-280067 - 玩家与脚手架交错时无法放置脚手架
  • MC-280132 - 枯叶生成时受非草方块影响的行为不一致
  • MC-280133 - 靠近世界边界时出现图像故障
  • MC-280134 - 潜行速度属性设置为 0 时潜行会导致游戏假死
  • MC-280167 - F3+L 生成分析报告文件时,游戏在日志中输出过量 error

本文来源:红石中继站 轰天雷(@Don_Trueno)的译文