1.21.9.md 38 KB


version-image-link: https://tc-new.z.wiki/autoupload/f/XTxqEIEXt3ek2iMfNVy0xHr9SBDGMOz2CzLFKIoBJwSyl5f0KlZfm6UsKj-HyTuv/20251001/ebND/1170X500/image.png server-jar: https://piston-data.mojang.com/v1/objects/11e54c2081420a4d49db3007e66c80a22579ff2a/server.jar translator: 最亮的信标

cats: ['1.21','1.21.9']

新特性

  • 增加了${@name|Copper Chest}
  • 增加了${@name|Copper Golem}
  • 增加了${@name|Copper Golem Statue}方块
  • 增加了铜质装备
  • 增加了铜质装饰品
  • 增加了${@name|Shelf}
  • 作为正在进行的 Vibrant Visuals(灵动视效)的一部分,在末地维度增加了闪光。
  • 未发送的聊天消息现在会存为聊天草稿
  • 在音乐与音效选项中的一些音量滑块会在世界外调整设置时播放预览音效
  • 增加了 Minecraft 服务端管理协议
  • 服务器现在拥有了游戏内的行为准则
  • 增加了对哈利奇地方语言的支持 (译者注:哈利奇是乌克兰的一个城市)

[!DEVNOTE] 你知道 Minecraft:Java 版支持上百种语言吗?并且这些全都归功与你、我们的社区,以及你们对翻译项目运行做出的不可忽视的贡献。如果你想要帮助我们翻译游戏,可以在Crowdin上加入我们。国际翻译日快乐!

${@name|Copper Chest}

  • ${@name|Copper Chest}是一种新类型的有着涂蜡与氧化变种的箱子
  • ${@name|Copper Chest}像铜块一样会随着时间氧化,并可以被涂蜡
  • ${@name|Copper Chest}可以使用${@name|Chest}和铜锭合成

${@name|Copper Golem}

  • ${@name|Copper Golem}是一种可以通过在铜块上放置南瓜灯或雕刻南瓜生成的生物。
  • ${@name|Copper Golem}像铜块一样会随着时间氧化,并可以被涂蜡
  • 如果${@name|Copper Golem}完全氧化并且没有被涂蜡,它将会变成${@name|Copper Golem Statue}方块
    • 当变成${@name|Copper Golem Statue}时它会掉落任何它手上拿着的物品
    • 变成${@name|Copper Golem Statue}的被命名牌命名的${@name|Copper Golem}会保留它的名字
  • ${@name|Copper Golem}可以帮助将物品分类到箱子里
  • 与${@name|Copper Golem}交互将会清除它手上的物品并使其掉落
  • 铁傀儡有时会在最近的铜傀儡上种装饰花
    • 花可以使用剪刀剪下
    • 当铜傀儡变为铜傀儡像时花会掉落

${@name|Copper Golem}物品分类

  • 如果${@name|Copper Golem}没有持有物品,它将会寻找最近的${@name|Copper Chest}尝试拾取一个物品
    • ${@name|Copper Golem}会寻找任何氧化状态以及涂蜡状态变种来拾取物品
    • 它会同时拾取最多 16 个物品
    • ${@name|Copper Chest}中所有的物品都可以被拾取
  • 如果${@name|Copper Golem}正拿着一个物品,它将会寻找最近的箱子尝试放进去
    • ${@name|Copper Golem}会寻找箱子以及陷阱箱尝试放入物品
    • 它会把物品放进空箱子里,或放进包含有着其手持的物品相同种类的物品的箱子里
  • ${@name|Copper Golem}一次按顺序最多访问 10 个箱子或${@name|Copper Chest}来拾取或放下物品
  • 如果没有找到匹配的箱子${@name|Copper Golem}将会闲置7秒后重试
  • 箱子的搜索范围为以${@name|Copper Golem}的位置为中心,横向32格,垂直8格

${@name|Copper Golem Statue}方块

  • ${@name|Copper Golem Statue}方块是一种有着涂蜡与氧化变种的新型装饰性方块
  • ${@name|Copper Golem Statue}像铜块一样会随着时间氧化,并可以被涂蜡
  • 可以对${@name|Copper Golem Statue}交互改变它的姿势
  • 如果${@name|Copper Golem Statue}没有被氧化,对其使用斧头会将其变回${@name|Copper Golem}
  • 每一种姿势都传输红石比较器信号

铜质装备

  • 增加了${@name|Copper Nugget}
  • 增加了铜质护甲
    • 增加了${@name|Copper Helmet}、${@name|Copper Chestplate}、${@name|Copper Leggings}以及${@name|Copper Boots}
    • 铜质护甲有着比皮革以及金制护甲更高的耐久
    • 铜质护甲比铁质护甲有着略低的附魔能力
  • 增加了铜质工具以及武器
    • 增加了${@name|Copper Axe}、${@name|Copper Pickaxe}、${@name|Copper Shovel}以及${@name|Copper Sword}
    • 铜质工具以及武器有着与石质相同的伤害,但是有着更高的耐久
    • 铜质工具比石质工具效率更高
    • 铜质工具有着比钻石更高但比铁更低的附魔能力
    • 可以使用铜锭合成铜质装备
    • 可以使用铜锭修复铜质装备
    • 当熔炼时,铜质装备会被炼成铜锭
  • 增加了 ${@name|Copper Horse Armor}
    • 有着与铁马铠相同的战利品表以及概率
    • 护甲值:4

铜质装饰品

  • 增加了铜火把

    • 一个使用铜粒、煤炭与木棍合成的绿色的火把变体
    • 和火把的作用一样
  • 增加了铜栏杆

    • 和现存的铁栏杆的作用一样
    • 会随时间氧化
  • 增加了铜链

    • 和现存的锁链(现在重命名成铁链了)的作用一样
    • 会随时间氧化
  • 增加了铜灯笼

    • 与普通灯笼合成配方相似但使用铜以及铜火把
    • 灯笼会自己氧化,随着时间外观也在变化
    • 和现存的灯笼的作用一样

${@name|Shelf}

  • ${@name|Shelf}是一种新型的装饰性方块,有着以下变种:
  • ${@name|Shelf}可以通过六个相同去皮原木方块、去皮菌柄以及去皮竹块,填满顶行和底行合成
    • 这个配方生产 6 个${@name|Shelf}
  • ${@name|Shelf}可储存最多三组物品:
    • 与其正面的任意3个槽位交互将会交换槽位中的物品与玩家手中的物品
    • ${@name|Shelf}在正面显示所有物品,与物品展示框相同
  • 如果${@name|Shelf}被红石充能,其正面纹理会更改以反映其被充能;当它们被并排放置时,最多三个充能的${@name|Shelf}会被连接
    • 与单独一个充能的${@name|Shelf}交互会与玩家热键栏最右侧三个槽交换物品
    • 与两个充能的${@name|Shelf}交互会与玩家热键栏最右侧六个槽交换物品
    • 与三个充能的${@name|Shelf}交互会与玩家热键栏的所有物品
    • 其行为与玩家具体交互了哪个${@name|Shelf}无关

避雷针

  • 避雷针现在像其它铜方块以及${@name|Copper Golem}头上的避雷针一样会被氧化

末地闪光

  • 末地维度现在有了天空光照
  • 通常天空光照不影响维度外观
  • 随着时间末地天空会出现闪光
  • 当其发生时天空光照强度会增加使维度充满紫色光
  • 由闪光造成的音效现在有了更长的延迟
  • "隐藏天空闪电效果" 无障碍设置被重命名为 "隐藏天空闪烁效果",启用的同时也会隐藏末地闪光
    • 当闪光由设置禁用时,世界不会被闪光点亮,但是闪光源以及音效仍会显示与播放

Minecraft 服务端管理协议(MSMP)

增加了一个服务器管理 API (JSON-RPC over WebSocket) 用于专用服务器

  • 此 API 默认禁用,可以由服务器 properties 文件启用

    • management-server-enabled=true
    • management-server-host=localhost
    • management-server-port=25585
  • 当启用时 API 可以通过 ws://<management-server-host>:<management-server-port> 访问

  • 支持查询以及更新服务器状态(玩家、白名单、操作员、设置、游戏规则)

  • 在状态更改时发送通知 (如:玩家加入、游戏规则更新)

  • 调用 {"id":1,"method":"rpc.discover"} 返回一个包含了当前运行的服务器支持的方法以及通知的 API schema

  • 数据生成器在报表输出文件夹中提供一个 API schema (json-rpc-api-schema.json) 反映了 rpc.discover 方法返回的内容

  • API 遵守 JSON-RPC 2.0 规范

  • 使用带有命名空间的方法,并且保留的命名空间为 minecraft (如:minecraft:players,minecraft:allowlist/add)以及 notification (如 notification:players/joined)

    • 可以使用自定义命名空间以及额外方法进行扩展
  • 核心方法组: 玩家、白名单、操作员、服务器(保存、停止)、服务器设置、游戏规则

  • 方法调用示例:

    • 请求:

      {
      "method": "minecraft:allowlist/add",
      "id": 1,
      "params": [ [{ "name": "jeb_" }] ]
      }
      
  • 响应:

    {
    "jsonrpc": "2.0",
    "id": 1,
    "result": [{ "id": "853c80ef-3c37-49fd-aa49-938b674adae6", "name": "jeb_" }]
    }
    
  • 通知示例:

    {
    "jsonrpc": "2.0",
    "method": "notification:players/joined",
    "params": [{ "id": "853c80ef-3c37-49fd-aa49-938b674adae6", "name": "jeb_" }]
    }
    
  • 错误示例:

    • 请求: {"method": "minecraft:foo/bar","id": 1}
    • 响应:

      {
      "jsonrpc": "2.0",
      "id": 1,
      "result": {
      "jsonrpc": "2.0",
      "id": 1,
      "error": {
      "code": -32601,
      "message": "Method not found",
      "data": "Method not found: minecraft:foo/bar"
      }
      }
      }
      
  • 错误以及错误代码遵守 JSON-RPC 2.0 错误对象格式

聊天草稿

  • 如果聊天被强制关闭,未发送的聊天信息现在会被存为聊天草稿

    • 这包含了被外边源关闭的情况,比如死亡或者打开了对话框,但是不包含玩家自己关闭了对话框
  • 任何存在的聊天草稿将会在下一次聊天栏打开时提前填充到消息框

  • 草稿文字有着灰色外观,直到其恢复

    • 可以通过交互使得恢复草稿文字为正常文字:
      • 键入更多文字
      • 使用方向键移动光标
      • 点击
      • 高亮
    • 在草稿未恢复时按下 Enter 键会像正常聊天消息一样发送出去
    • 在草稿未恢复时按下 Backspace 键会删除草稿
  • 在聊天设置菜单中增加了一个选项,默认情况下保存未发送的聊天消息

    • 当该选项启用时,未发送的消息将会 一直 保存为聊天草稿,即使玩家是自己关闭了聊天栏

服务器行为准则

当连接到服务器时,现在会显示服务器行为准则屏幕。

  • 游玩服务器必须接受服务器行为准则
  • 会提供一个检查框,勾选后不会再显示行为准则
    • 如果行为准则更改,它还会再次显示

服务器设置

  • 一个新的布尔字段 enable-code-of-conduct 添加入了 server.properties
    • 如果将其设为 true 将会使服务器在与 server.properties 所在文件夹中的名为 codeofconduct 子文件夹中寻找行为准则文件
    • 在文件夹中的每一个文件名应符合 <language_code>.txt 格式
      • 上方的语言将会尝试匹配玩家的语言
      • 如果不存在匹配玩家语言的文件,会使用 en_us 的行为准则
      • 如果 en_us 也不存在,则会匹配任意文件

音效

  • 在音乐与音效选项中的一些音量滑块会在世界外调整设置时播放预览音效

辅助功能

  • 染料颜色现在有了更新的图标
    • 目标是在增强整个染料集合视觉统一感的同时维持不同形状以支持色觉障碍友好
  • 辅助功能设置屏幕增加了一个跳转到控制设置的按钮
    • “自动跳跃” 选项以及 “潜行” 与 “疾跑” 切换被从辅助功能设置屏幕移除
  • “显示字幕” 选项被改写为 “隐藏式字幕” 以更准确描述其作用
  • “隐藏闪电闪光” 无障碍设置被重命名为 “隐藏天空闪烁” 因其包含末地闪光

更改

  • 性能改进
  • 锁链方块现在重命名为“铁链”
  • 怪物刷怪蛋现在在难度设为和平时有一条提示说明
    • 当尝试在和平难度使用刷怪蛋时不再会短暂生成一刻
  • 世界加载与“出生区区块”的更改
  • 拥有任意玩家活动、被 forceload 的区块、激活的传送门或正在飞行的末影珍珠的维度现在会被视为“激活”,并会持续处理区块以及实体
    • 之前只有当玩家在该维度或某个区块被 forceload 时才会应用
  • 重新设计了调试信息使其更少杂乱也更可配置
  • 在当前服务器世界中的玩家现在一直会显示在社交屏幕中,即使他们离线
  • 当从旁观者模式切换至创造模式时,如果玩家靠近地面,现在会停止飞行
    • 当玩家在其下方 1 格内有可碰撞表面(方块、快乐恶魂、船等)时被视为靠近地面
    • 当玩家在方块或可碰撞实体内部时飞行不会被禁用
      • 这用于防止玩家突然掉下
  • 迁移了若干服务器属性到游戏规则
  • 现在游玩游戏需要 OpenGL 3.3,从 3.2 提升。这不会改变我们之前发布的最低配置需求

性能改进

  • 实体渲染顺序被改进以显著提高性能
    • 在有大量生物的区域(例如刷怪塔)你会注意到更流畅的游戏体验
    • 如果你的帧率瓶颈不是来自实体(例如高渲染距离且附近实体不多),FPS 不会有明显提升
  • 在玩家视野外的粒子不再渲染,这在某些情况下会提供性能提升

世界加载与出生区区块

  • 固定的“出生区区块”概念被移除
  • 游戏会确保以下区块在玩家加入或服务器启动前被完整加载,其方式与之前出生区区块一致:
    • 被 forceload 命令加载的区块
    • 由于传送门活动而激活的区块
    • 被投掷的末影珍珠(仅单人)
    • 玩家附近的一小片区块(仅单人)
    • 创建世界时用于分配全局世界出生点的区块
  • 世界加载界面现在显示玩家即将被放入的区块,而不是世界出生点周围的区块
  • 加载界面现在有了一个进度条
    • 该进度条会计入上述所有类别的区块加载

服务器属性

为允许在服务器运行时更改设置,若干服务器属性被移除改为游戏规则。

  • 移除服务器属性 allow-nether,改用新的游戏规则 allowEnteringNetherUsingPortals
  • 移除服务器属性 spawn-monsters,改用新的游戏规则 spawnMonsters
  • 移除服务器属性 enable-command-block,改用新的游戏规则 commandBlocksEnabled
  • 移除服务器属性 pvp,改用新的游戏规则 pvp
  • 增加服务器属性 management-server-enabled 控制是否启用 Minecraft 服务端管理协议
    • 默认 false
  • 增加服务器属性 management-server-port 控制 Minecraft 服务端管理协议端口
    • 默认 0,每次启动分配可用端口
  • 增加服务器属性 management-server-host 控制 Minecraft 服务端管理协议主机
    • 默认 localhost
  • 增加服务器属性 management-server-tls-enabled 控制 Minecraft 服务端管理协议是否使用 TLS
    • 默认 true
  • 增加服务器属性 management-server-tls-keystore 控制 TLS keystore 文件路径
    • 默认 空字符串
    • 当启用 TLS 且未提供 keystore 时专用服务器不会启动
  • 增加服务器属性 management-server-tls-keystore-password 控制 TLS keystore 密码
    • 默认 空字符串
  • 增加服务器属性 status-heartbeat-interval 控制管理服务器向已连接客户端发送心跳通知的间隔
    • 默认 0(禁用)
  • 增加服务器属性 enable-code-of-conduct
    • 详情见“服务器设置”标题

游戏规则

  • 移除 spawnChunkRadius 游戏规则
  • 增加 pvp 游戏规则控制玩家是否可以对其他玩家造成伤害
    • 默认 true
  • 增加 allowEnteringNetherUsingPortals 游戏规则控制下界是否可通过传送门进入
    • 默认 true
  • 增加 spawnMonsters 游戏规则控制怪物是否自然生成
    • 默认 true
  • 增加 commandBlocksEnabled 游戏规则控制命令方块是否启用
    • 默认 true
  • 增加 spawnerBlocksEnabled 游戏规则控制刷怪笼是否启用
    • 默认 true

生物生成

  • 调整生成携带装备的生物的装备类型选择逻辑以增加铜装备的可能性
    • 初始类型现在在 皮革、铜 和 金 中选择
    • 提升护甲等级的概率从 9.5% 上升至 10.87%

方块,物品与实体的微调

  • 测试实例方块现在在世界重载之间保留错误标记
  • 调整了实体上的环境光照以更视觉地与方块及其它部分一致
    • 平面下方现在会朝该方向被照亮,而不是相反方向
    • 这主要影响包含扁平或“空心”立方体的模型,例如:
      • 穿戴的护甲
      • 穿戴的鞘翅
      • 玩家皮肤的外层
      • 骷髅与骷髅马的胸腔
      • 鸡与青蛙的脚
      • 幻翼与末影龙的翅膀
      • 鱼的鱼鳍
      • 还有更多!

配方

  • 更改了铜活板门的配方,从 6 个铜锭(合成两个)变为 4 个铜锭(合成一个)

音效

  • 快乐恶魂现在可在 64 格外听到
  • 箱子音效现在以更低的音量播放
  • 播放音效的音量现在尊重音效源的音量值
  • “语音/说话” 音效源被改写为 “讲述人/语音”

UI

  • 资源包与数据包选择屏幕现在有了搜索框
  • 更多文本输入现在支持通过鼠标拖动选择文本
  • 在编辑框中双击一个单词现在会选中它
  • 当向服务器列表添加新服务器时,服务器名称不再预填
    • 留空时会使用默认名称 “Minecraft Server”

鼠标指针

  • 一些 UI 组件现在会改变鼠标指针的形状
    • 例如: 文本输入、数字滑块、按钮、滚动条
  • 此外,可点击的文本标签部分(如链接)现在会将指针改为 “手” 形状
  • 该特性可通过 “鼠标设置” 中的 “允许光标变化” 关闭

调试信息

  • 调试信息仍可通过 F3 打开
  • 调试信息现在在游戏任意界面都可访问,不只是在游戏世界中
  • 其现在更少杂乱,默认显示更少信息
  • 增加了新的调试选项屏幕,可通过 F3 + F6 打开,用于配置要显示哪些调试信息
    • 对每一个元素,你可以配置其是否应在调试信息中显示,甚至可以设置为在不按调试信息时也总是可见
    • 之前可用的一些调试功能(如区块边界渲染、实体碰撞箱渲染)现在可以通过调试选项屏幕切换
    • 一些之前对社区不可用的调试功能(如八叉树可视化)现在可通过调试选项屏幕访问
    • 调试选项屏幕的状态在游戏启动之间持久化
    • 调试选项屏幕有以下预设配置:
      • 默认:重置全部为默认状态
      • 性能:显示简单性能指标,并始终显示 FPS 计数

聊天

  • 现在可以站在下界传送门中开始聊天
  • 如果玩家在进入另一个维度时正在聊天,聊天栏会保持打开并且不会改变

技术性更改

  • 数据包与资源包版本现在有次版本号
  • 数据包版本现在为 88.0
  • 资源包版本现在为 69.0
  • 之前隐藏的一些调试特性现在向玩家开放

包格式

  • 数据包与资源包的版本现在有次版本号
    • 游戏的包版本进行次版本号递增是向后兼容的,意味着该主版本之前迭代制作的所有包仍能工作
  • 如果依赖次版本号中引入的资源,包可以对次版本号声明兼容性需求

包元数据

pack.mcmeta 格式已更新:

  • 移除了 supported_formats 字段
    • 如果你的包声明支持旧格式的包版本(数据包 < 82,资源包 < 65),仍然需要
    • 否则不允许,必须移除
  • pack_format 字段现在可选
    • 如果你的包声明支持旧格式的包版本(数据包 < 82,资源包 < 65),仍然需要
  • 新增必需字段 min_format —— 指定支持的最小版本
    • 完整版本由两个整数列表指定,例如 [74, 1]
    • 指定单个整数被解释为该主版本,例如 74 与 [74, 0] 相同
    • 指定仅一个整数的列表与直接指定该整数等价
  • 新增必需字段 max_format —— 指定支持的最大版本
    • 完整版本由两个整数列表指定,例如 [74, 1]
    • 指定单个整数被解释为任意次版本,即次版本被视为 0x7fffffff
    • 指定仅一个整数的列表与直接指定该整数等价
  • 对 overlay 条目:
    • 移除了 formats 字段
      • 如果你的包包含的任意 overlay 范围包含旧格式版本(数据包 < 82,资源包 < 65),则该字段对所有 overlay 定义仍然需要
      • 否则不允许,必须移除
    • 新增必需字段 min_format 与 max_format,其格式与上述字段相同

调试特性

  • 一些之前在编译时被移除的调试特性现在被保留并可被玩家使用
  • 可通过 JVM 属性启用单个值:
    • 首先必须使用 -DMC_DEBUG_ENABLED 或 -DMC_DEBUG_ENABLED=true 启用全局调试标记
    • 然后可启用指定特性,例如 -DMC_DEBUG_BRAIN 或 -DMC_DEBUG_BRAIN=true
    • 添加 -DMC_DEBUG_PRINT_PROPERTIES 可获取所有可用调试属性列表
  • 警告:这是调试代码,主要意图是帮助模组作者——不用于正常游戏,务必谨慎!
    • 这些特性可能会崩溃你的游戏或破坏你的存档
    • 这些特性不保证按预期运行
    • 这些特性可能在未通知的情况下加入、修改或删除

数据包版本 82.0 至 88.0

  • 增加了玩家模型(Mannequin)实体
  • 世界边界现在可为维度独立设置
  • 增加了在文本中使用 GUI 以及物品精灵图的方式
  • 数据组件与方块实体中的玩家档案不再自动解析
  • 增加了 fetchprofile 命令以下载玩家档案
  • chain 重命名为 iron_chain

玩家模型

增加了一种新的技术性实体,名为 minecraft:mannequin,仅能通过命令生成。

  • 玩家模型是一个有着玩家外形但未与玩家连接的实体
  • 玩家模型总是会在 below_name 记分栏位处显示一个“NPC”文本
  • 玩家模型与活体功能相同——它们可以手持、装备物品,有属性与效果,会受到伤害等
  • 玩家模型接受来自刷怪笼物品的 minecraft:profile 组件

数据字段:

  • profile - 在实体上显示的档案。可以是玩家档案(与 minecraft:profile 组件格式相同),或一个有下列字段的玩家模型档案:
    • texture - 要使用的皮肤纹理的带有命名空间的 ID
      • 皮肤在以相对于 texture 文件夹的路径区分,带有 .png 后缀
      • 例如:entity/player/wide/steve 会使用默认史蒂夫皮肤
    • cape - 可选的要使用的披风的命名空间 ID
      • 指定时使用与 texture 字段相同格式
      • 缺省时玩家模型无披风
    • elytra - 可选的要使用的鞘翅的命名空间 ID
      • 指定时使用与 texture 字段相同格式
      • 缺省时使用披风对应的鞘翅纹理,如果披风也缺省则使用默认鞘翅纹理
    • module - 可选的模型类别,wide 或 slim
      • 缺省时使用 wide
  • hidden_layers - 隐藏的皮肤层列表
    • 有效值:cape、 jacket、 left_sleeve、 right_sleeve、 left_pants_leg、 right_pants_leg、 hat
  • main_hand - 玩家模型的主手——left 或 right

世界边界

  • 世界边界现在是维度独立的
    • 这意味着每个维度可以有自己的世界边界大小、位置等

文本渲染

object 文本组件

  • 添加了新的文本组件 object
  • 这个组件会显示一个非字符对象作为文本的一部分
  • 精灵图总是以 8x8 像素矩形渲染
    • 粗体与斜体样式被忽略
  • 格式:
    • object: 对象的类型,字符串,值见下方
    • <type-specific>: 由对象类型决定的可选字段
  • 与 nbt 文本组件相似,object 字段可省略
    • 然而,为了检查错误,推荐提供
atlas 对象类型
  • 与之前 object 组件有相同的行为,但现在其分离为一个对象类型
  • 使用与之前相同的格式
player 对象类型
  • 渲染玩家的头
  • 如果提供了部分档案,皮肤会以与玩家头上的 minecraft:profile 组件相同方式解析
  • 格式:
    • player: 玩家档案
      • name: 玩家名称,可选字符串
      • id: 玩家 UUID,可选 UUID
      • properties: 档案属性,可选映射
    • hat: 控制是否渲染帽子层,布尔,默认 false

run_command 点击事件

  • 之前如果命令字段包含一个需要签名消息的命令(/say、 /me、 /msg、 /tell、 /w、 /teammsg、 /tm),它会自动放弃
  • 现在,会展示一个屏幕允许用户插入命令到聊天栏,如果窗口不能打开则会复制命令到剪贴板

命令

  • summon 命令现在在尝试在和平难度召唤怪物时会失败
  • spawnpoint 和 setworldspawn 命令现在可以控制完整的玩家视角方向
    • angle 参数被移除
    • 增加了可选的 rotation 参数,要求同时指定 yaw 与 pitch
  • setworldspawn 命令不再限制在主世界
    • 这意味着当玩家没有床或重生锚时可在下界等地重生
  • 服务器命令现在默认从重生维度运行而不总是在主世界

增加 fetchprofile

  • 增加了从 Minecraft 服务器上获取玩家档案内容的命令
  • 因为这个操作可能需要一些时间,它在工作时为异步进行

    • 当操作完成时结果会被打印,但游戏会一直不间断地运行
  • 在成功完成后,会显示一条消息以让用户复制的完全储存的 minecraft:profile 组件内容,或有着 said 组件的 /give @s minecraft:player_head

  • 因为命令执行不会立即产生结果,这个指令返回值恒为 1

语法:

  • fetchprofile name <player name> - 返回由玩家名(大小写不敏感)解析的档案
  • fetchprofile id <uuid> - 返回由 id 解析的档案

数据组件

修改了 minecraft:profile

  • 之前这个组件的内容会在档案被解析时永久的改变,例如在从 Minecraft 服务时
  • 为了避免这个意料之外的更改的问题,现在解析值不再存储,并且档案内容会一直保持不被更改
  • 这意味着这个组件现在有两个行为:

    • 静态: 当其存在 properties 字段时,或 name 和 id 均设置或均未设置时

      • 在这个状态下,档案会直接渲染
      • 如果 properties 字段缺省,会使用默认皮肤(由 id 决定,与离线模式相同)
      • 只意味着在组件创建时皮肤变为只读
      • 这个选项适合装饰用途
    • 动态: 当没有 name 或 id 时(但不是两个都没有)

      • 当包含这个档案的物品在客户端渲染时,档案将会被解析为最近期的值
      • 这意味着这个物品将会一直渲染为目标玩家的当前皮肤
      • 注:如果玩家在游戏运行时更改了皮肤,其更改不可见直到客户端重启

      • 在解析时可能会造成延迟,在这时物品会渲染为默认皮肤

      • 当存在时,物品名称将会替换档案名称

      • 只有 id 的物品会显示默认名称

      • 具有动态档案的物品会用提示栏与静态物品区分

  • 物品堆叠基于精确的内容,所以即使动态组件与静态组件解析结果完全一样,它们也不会堆叠

  • 在以前的地图上的未被新版本加载的玩家的头通常将会转为动态内容

方块实体数据

修改 minecraft:skull

  • profile 字段被修改以匹配 minecraft:profile 组件
    • 这意味着其不可修改并且只有在必要时才会解析

战利品表

  • 增加了 minecraft:entity_interact 战利品表类型,参数:
    • target_entity 被交互的实体
    • interacting_entity 可选,与 target_entity 交互的实体
    • tool 用于交互的工具
  • 增加了 minecraft:block_interact 战利品表类型,参数:
    • block_state 被交互的方块实体的方块状态
    • block_entity 可选,被交互的方块实体
    • interacting_entity 可选,与 block_state 交互的实体
    • tool 可选,用于与 block_state 交互的工具
  • 在战利品表中指定目标实体的字段(如 entity_properties.entity)现在还可以指定 target_entity 与 interacting_entity 参数类型
  • 增加了 charged_creeper/root 战利品表用于被闪电苦力怕击杀时的掉落
    • 该战利品表基于被击杀生物分派到以下战利品表:
      • charged_creeper/piglin
      • charged_creeper/creeper
      • charged_creeper/skeleton
      • charged_creeper/wither_skeleton
      • charged_creeper/zombie
    • 一旦有被击杀生物从该战利品表掉落物品,同一个苦力怕击杀的其它生物不会再掉落
  • 增加了 brush/armadillo 战利品表用于对犰狳刷子时的掉落
  • 增加了 gameplay/turtle_grow 战利品表用于海龟长大为成年时的掉落
  • 增加了 harvest/beehive 战利品表用于使用剪刀收获蜂箱或蜂巢时的掉落
  • 增加了 harvest/cave_vine 战利品表用于交互收获有发光浆果的洞穴藤蔓时的掉落
  • 增加了 harvest/sweet_berry_bush 战利品表用于交互收获有浆果的浆果丛时的掉落
  • 增加了 carve/pumpkin 战利品表用于使用剪刀雕刻南瓜时的掉落

战利品函数

minecraft:fill_player_head

  • entity 字段现在接受新的实体上下文值:
    • target_entity
    • interacting_entity

minecraft:set_lore

  • entity 字段现在接受新的上下文值:
    • target_entity
    • interacting_entity

minecraft:copy_custom_data

  • source 字段现在接受新的上下文值:
    • target_entity
    • interacting_entity

minecraft:copy_name

  • source 字段现在接受新的上下文值:
    • direct_attacker
    • target_entity
    • interacting_entity

minecraft:copy_components

  • source 字段现在接受新的上下文值:
    • this
    • attacker
    • direct_attacker
    • attacking_player
    • target_entity
    • interacting_entity
    • tool

谓词

minecraft:entity_scores

  • entity 字段现在接受新的实体上下文值:
    • target_entity
    • interacting_entity

minecraft:entity_properties

  • entity 字段现在接受新的实体上下文值:
    • target_entity
    • interacting_entity

附魔

explode 效果

新字段: block_effects —— 指定每种方块的粒子。每个方块粒子会随机地基于权重选择。在每一个爆炸刻会生成一系列的方块粒子

格式: 一个入口点列表:

  • weight: 代表随机选择的权重的非负整型
  • particle: 要生成的粒子
  • scaling: 可选的在爆炸中心与方块位置之间的缩放,默认为 1.0
  • speed: 可选的粒子速度倍数,默认为 1.0

世界生成

  • noise_settings 定义中的 initial_density_without_jaggedness 字段被 preliminary_surface_level 字段替换
    • initial_density_without_jaggedness 是一个三维密度函数,通过扫描第一个密度大于 0.390625 的点来决定一个近似的表面高度
    • preliminary_surface_level 是一个二维密度函数,应产生近似表面的 y 级别
    • minecraft:find_top_surface 密度函数可用于复现之前的扫描

密度函数

增加 minecraft:find_top_surface —— 近似给定密度函数的最上层表面

  • 它从上界扫描到下界以找到密度从负变正的点
    • 上界应尽可能接近实际表面以获得最佳性能
    • 上界不应低于实际表面

字段:

  • density - 要近似表面的密度函数
  • upper_bound - 提供最高可能 y 值的二维密度函数
  • lower_bound - 整数,最低可能 y 值
  • cell_height - 正整数,定义扫描使用的网格分辨率

增加 minecraft:invert —— 解析为 1/argument

字段:

  • argument - 密度函数

拼图结构(Jigsaw)

  • max_distance_from_center 字段现在可以为竖直轴与水平轴指定不同限制
    • 可通过带有字段的对象指定:
    • horizontal - 1 到 128 的必需整数
    • vertical - 1 到 4096 的可选整数(默认 4096)
    • 例如: "max_distance_from_center": { "horizontal": 20, "vertical": 500 }
    • 之前指定水平与竖直距离的单个内联值格式仍被支持

标签

方块标签

  • 增加 #copper_chests - 所有铜箱方块
  • 增加 #copper - 所有铜方块
  • 增加 #incorrect_for_copper_tool - 使用铜工具不会掉落物品的方块
  • 增加 #copper_golem_statues - 所有铜傀儡像方块
  • 增加 #chains - 所有锁链方块
  • 增加 #lanterns - 所有灯笼方块
  • 增加 #bars - 所有金属栏杆方块

物品标签

  • 增加 #copper_chests - 所有铜箱方块物品
  • 增加 #copper - 所有铜方块物品
  • 增加 #copper_tool_materials - 所有铜工具材料
  • 增加 #repairs_copper_armor - 所有修复铜护甲的物品
  • 增加 #copper_golem_statues - 所有铜傀儡像方块物品
  • 增加 #chains - 所有锁链方块物品
  • 增加 #lanterns - 所有灯笼方块物品
  • 增加 #bars - 所有金属栏杆方块物品
  • 增加 #shearable_from_copper_golem - 所有可以使用剪刀从铜傀儡的头部槽移除的物品

实体类型标签

  • 增加 #cannot_be_pushed_onto_boats - 不能被推上船的生物,包括 枯焦、玩家 以及 所有非两栖水生生物
  • 增加 #accepts_iron_golem_gift - 会接受铁傀儡递交物品的生物
  • 增加 #candidate_for_iron_golem_gift - 铁傀儡会尝试递交物品的生物,但不一定接受(见 #accepts_iron_golem_gift)

粒子

  • dragon_breath 现在可选地使用 power 参数(浮点,默认 1.0),在全部随机进行后乘到其初速度上
  • instant_effect 与 effect 现在可选地使用 power(浮点,默认 1.0)与 color(RGB,默认 0xFFFFFF)参数
  • flash 现在需要 color 参数(ARGB)

资源包版本 64.0 至 69.0

  • 增加新的显示变换 on_shelf
    • 用于在展示架上展示物品

方块精灵图

增加了新方块的精灵图:

  • copper
  • copper_left
  • copper_right
  • exposed_copper
  • exposed_copper_left
  • exposed_copper_right
  • weathered_copper
  • weathered_copper_left
  • weathered_copper_right
  • oxidized_copper
  • oxidized_copper_left
  • oxidized_copper_right
  • acacia_shelf
  • bamboo_shelf
  • birch_shelf
  • cherry_shelf
  • crimson_shelf
  • dark_oak_shelf
  • jungle_shelf
  • mangrove_shelf
  • oak_shelf
  • pale_oak_shelf
  • spruce_shelf
  • warped_shelf
  • copper_bars
  • copper_chain
  • copper_lantern
  • copper_torch
  • exposed_copper_bars
  • exposed_copper_chain
  • exposed_copper_lantern
  • exposed_copper_torch
  • oxidized_copper_bars
  • oxidized_copper_chain
  • oxidized_copper_lantern
  • oxidized_copper_torch
  • weathered_copper_bars
  • weathered_copper_chain
  • weathered_copper_lantern
  • weathered_copper_torch

物品精灵图

增加了新物品的精灵图:

  • copper_axe
  • copper_boots
  • copper_chestplate
  • copper_golem_spawn_egg
  • copper_helmet
  • copper_hoe
  • copper_leggings
  • copper_nugget
  • copper_pickaxe
  • copper_shovel
  • copper_sword
  • copper_chain
  • copper_lantern
  • exposed_copper_chain
  • exposed_copper_lantern
  • oxidized_copper_chain
  • oxidized_copper_lantern
  • weathered_copper_chain
  • weathered_copper_lantern

纹理

  • 增加了新的纹理:
    • environment/end_flash.png
  • 将 gui/container/villager.png 的输出槽向上移动了一个像素

音效

音效事件

  • 增加了以下音效事件:
    • block.copper_chest.open
    • block.copper_chest.close
    • block.copper_chest_weathered.open
    • block.copper_chest_weathered.close
    • block.copper_chest_oxidized.open
    • block.copper_chest_oxidized.close
    • entity.copper_golem.step
    • entity.copper_golem.hurt
    • entity.copper_golem.death
    • entity.copper_golem.spin
    • entity.copper_golem_weathered.step
    • entity.copper_golem_weathered.hurt
    • entity.copper_golem_weathered.death
    • entity.copper_golem_weathered.spin
    • entity.copper_golem_oxidized.step
    • entity.copper_golem_oxidized.hurt
    • entity.copper_golem_oxidized.death
    • entity.copper_golem_oxidized.spin
    • item.armor.equip_copper
    • entity.copper_golem.spawn
    • entity.copper_golem.no_item_get
    • entity.copper_golem.no_item_not_get
    • entity.copper_golem.item_drop
    • entity.copper_golem.item_no_drop
    • entity.copper_golem_become_statue
    • block.copper_golem_statue.break
    • block.copper_golem_statue.place
    • block.copper_golem_statue.hit
    • block.copper_golem_statue.fall
    • block.copper_golem_statue.step
    • block.shelf.activate
    • block.shelf.deactivate
    • block.shelf.multi_swap
    • block.shelf.place_item
    • block.shelf.single_swap
    • block.shelf.take_item
    • weather.end_flash

粒子

  • 增加了新粒子:
    • copper_fire_flame

着色器与后处理效果

[!DEVNOTE] 虽然在资源包中可以做到,覆盖核心着色器被视为不受支持并非预期的资源包特性。这些着色器是游戏内部实现的一部分,因此可能会随着内部演进随时改变。我们理解覆盖核心着色器被用于很多很酷的资源包特性,其中很多缺乏受支持的替代方案。我们希望未来提供更好且受支持的替代方案。

着色器

  • 下列未使用的着色器被移除:
    • core/position_color_lightmap.vsh
    • core/position_color_lightmap.fsh
    • core/position_color_tex_lightmap.vsh
    • core/position_color_tex_lightmap.fsh
  • 一个新的标记 PER_FACE_LIGHTING 被添加到下列着色器:
    • core/entity.vsh
    • core/entity.fsh
  • 当设置时,正面和背面的基光照会被分别计算
  • 由于现在需要 OpenGL 3.3,我们将所有着色器版本从 150 bump 至 330

全屏通道(Full Screen Passes)更改

  • 下列顶点着色器被移除,用 core/screenquad.vsh 替换:
    • core/blit_screen.vsh
    • post/blit.vsh
    • post/blur.vsh
    • post/invert.vsh
    • post/sobel.vsh
    • post/screenquad.vsh
  • 后处理效果以及光照贴图生成与全屏 blit 的顶点着色器不再传入 Position 属性,而是必须使用 gl_VertexID 指定顶点坐标
  • 这些通道现在仅用 3 个顶点执行,而不是一个完整的四边形