新增功能:
问题修复:
- 重构家具系统,包含部分 API 变动,新增家具变体与光线追踪剔除功能,同时增加更多家具渲染元素类型与选项。
- 简化部分常见物品的模型纹理配置。
- 优化可着色树叶在自动状态分配中的顺序。
- 增强 SNBT 读取逻辑。
- 改进方块实体状态切换逻辑,有效减少视觉异常。
- 增强模板值参数类型、默认值及相关处理逻辑。
- 新增实体剔除功能以提升客户端性能。
- 新增控制实体渲染距离的命令。
- 为自托管服务新增严格的 UUID 验证与智能下载速率限制。
- 新增函数类型:
set_exp,set_level,play_totem_animation,close_inventory,clear_item,if_else,when,damage_item,cycle_block_property。- 新增条件类型:
inventory_has_item。- 新增物品设置:
hat-height,keep-on-death-chance,destroy-on-death-chance,drop-display,glow-color。- 新增物品行为:
liquid_collision_furniture_item,ceiling_block_item。- 新增锻造配方后处理器:
keep_custom_data。- 新增方块行为:
drop_exp_block。- 新增分类显示条件与 all-item 分类。
- 新增
custom-model-data/image调试命令。- 新增
item clear命令以清除 CraftEngine 物品。- 新增
%checkceitem_%占位符变量。- 增强对数据包直接生成的支持,允许直接调用 CraftEngine 方块命名空间ID并生成多状态方块。
- 在方块模型中支持 Z 轴旋转,并移除 90 度旋转限制。
- 新增硬编码属性名
rotation,支持创建像旗帜那样的 8-16 方向的方块。- 新增
to-inventory参数,支持drop-loot直接掉落物品至背包。
- 修复部分聊天插件消息无法应用自定义图片标签的问题。
- 修复重载后与座椅方块行为交互导致的错误。
- 修复
simple_storage_block中容器门有时无法正常关闭的问题。- 修复服务器出生区块未正确应用数据包自定义方块的问题。
- 修复
consume-replacement无法正确处理堆叠物品的问题。- 修复其他插件持有自定义唱片物品导致的启动错误。
- 修复其他插件导致的挖掘中断问题。
- 修复骑乘实体时视角高度获取错误的问题。
- 修复 ModelEngine 方块实体渲染器相关问题。
新功能:
优化:
- 增强交互体验,优化各类场景处理逻辑
- 新增对 1.21.9+ 版本多种资源包功能的支持
- 实现对 1.21.8+ 版本各类文本组件的支持
- 添加
ingredient-substitute选项,允许自定义物品在原版配方中替代原版物品- 为潜影盒、收纳袋及方块实体新增
client-bound-data/material支持- 新增
block-state物品数据类型以优化方块放置体验- 添加
transparent参数实现快速生成透明模型- 改进
auto-state参数并添加ID分配功能以确保结果一致性- 新增岩浆植物示例
- 在 config.yml 中添加
disable-item-operations选项以优化网络性能- 在 config.yml 中新增
default-material配置选项- model 配置部分现支持直接指定文件路径
- 在 config.yml 中新增
deceive-bukkit-material选项- 为家具和实体渲染新增
shadow-radius与shadow-strength选项- 同步 1.21.10 版本内部资源
- 新增
has_player条件类型- 锻造配方新增
visual-result、functions和conditions支持- 物品新增
craft-remainder选项- 添加
l10n标签实现数据包级翻译- 命令反馈现采用本地化系统,根据玩家区域设置显示个性化响应
- 新增
merchant_trade、remove_entity、update_block_property和transform_block函数- 为物品新增
pick_up触发器- 扩展 YAML 值格式
- 为
entity新增item链式参数- 为 auto-state 选项新增
tintable/non-tintable_leaves- 新增
if_else与when条件- 在 config.yml 中为资源包新增
optimization配置块- 新增
seat_block方块行为
错误修复:
- 提升自动ID分配速度(测试环境从 3-5 毫秒缩短至 0.5 毫秒)
- 优化区块数据重映射网络性能(提升约 30%)
- 优化 1.20.2+ 版本文本组件替换网络性能(提升约 15%)
- 增强合成/锻造界面中 Shift 点击的
visual-result与functions处理- 通过避免使用 Bukkit API 创建不必要的镜像对象,优化了合成类配方的运行效率
- 改进区块加载期间光照更新性能
- 增强家具座椅功能
- 修复 0.0.63.8 更新后
sounds.land未触发问题- 改进旧版模型覆写合并机制
- 修复 1.21.6+ 版本的 custom payload 导致的网络协议错误
- 修复了合成器会输出视觉结果的问题
- 修复在锻造配方使用
visual-result时其他组件未生效的问题- 修复了在同时使用
conditions和visual-result时,物品会无视conditions直接被合成的问题- 新增了装备纹理和音效的验证
- 改进了与 UniverseSpigot 1.21.8+ 的兼容性
- 修复了自 0.0.63.8 版本以来
reed默认配置未能正确加载的问题- 修复了未提交sha256校验和导致部分对象存储服务商无法正常使用的问题
(译者注:不更新可以通过添加force-calculate-sha256: true选项解决)
新功能:
- 新增对 1.21.9 版本的兼容支持
- 实现 custom-model-data、id、state 和 char 的自动分配功能(具体说明将在后续提供)
- 新增方块行为类型:button_block、fence_block 和 stem_block
- 新增棕榈按钮、棕榈栅栏和哈密瓜的配置
- 为合成配方引入 functions 选项,支持合成后操作
- 为合成/锻造配方添加 conditions 选项
- 增强 totem-animation 命令,支持自定义音效
- 新增 damage 函数类型
- 在 config.yml 中引入 fix-atlas 选项
- 改进了 give/get 命令中物品获取的代码实现
错误修复:
- 修复区块加载时边缘方块的亮度损失问题
- 修复基于标签的物品在重载后未能及时参与新配方的问题
- 解决某些版本中矿车内的方块导致的网络协议错误
- 修复凋灵破坏方块时缺少自定义音效的问题
- 修复了部分 pack.mcmeta 格式合并异常的问题
- 修复部分语言文件中的键名不匹配问题
- 解决修剪配方意外出现在 CE 界面且无法点击的问题
- 修复村民交易界面和组件悬停事件中未应用 client-bound-data/material 的问题
API 变更:
- 新增方块实体异步刻方法
- 为方块行为引入 stepOn 方法
- 移除了 ImmutableBlockState 的父类
重要 / 必读
0.0.63.8 版本是 CraftEngine 数月来的首次重大变更更新。但无需担心,只需按照以下步骤即可顺利升级到新版本。
首先,我们来了解新版本的主要变化。最核心的变化是完全移除 additional-real-blocks 设计。所有真实方块 ID 已从 craftengine:note_block_xx 统一改为 craftengine:custom_xx。这意味着不再需要为每种方块类型单独注册自定义方块。现在,您可以在 config.yml 中配置 serverside-blocks 选项,以为所有方块创建一个共享的内部 ID 池。
其次,方块状态映射(mappings)现支持动态加载。它们不再局限于插件根目录下的固定文件,而是可以从任何 resources/xxx/configuration 目录读取配置文件。
这些变化旨在自动化 ID 分配。在旧版本中,手动分配 ID 常常令人困扰,容易遗忘且需要反复检查已使用的 ID。为了减轻配置负担,我们决定自动化这一过程,确保高可靠性,同时不影响配置文件加载速度。
自动 ID 分配将适用于以下内容:
当然,您仍然可以通过指定相关选项手动设置 ID。插件自动分配的所有内容将保存在插件根目录下的 cache 文件夹中。要清理过期的缓存文件,可以直接使用 /ce debug clean-cache 命令。
- custom-model-data 选项
- 图像的 char 选项
- 方块外观状态
- 方块内部状态
安全升级指南
- 完整备份:在开始之前,务必备份整个 CraftEngine 插件文件夹。这是一个至关重要的好习惯,可在出现问题时快速恢复。
- 检查地图区块:如果您的服务器包含未被 CraftEngine 正确记录的自定义方块区块(例如通过 WorldPainter 或本地 WorldEdit 编辑的地图),请确保在 config.yml 中启用 sync-custom-blocks-on-chunk-load 选项,并确保所有需要同步的区块至少加载一次。
- 谨慎更新与测试:
- 将新的 CraftEngine 插件文件放入服务器并启动。
- 如果因数据包中的方块问题导致启动失败,请暂时移除数据包。
- 【重要】 对于生产环境,强烈建议先在测试服务器上执行完整的升级和验证流程。确认一切正常后,再将完整的插件配置和数据包部署到生产服务器。
- 迁移配置文件:
- 更新后,旧的 mappings.yml 和 additional-real-blocks.yml 文件将被移除。新的 mappings.yml 文件将在 resources/internal/configuration 文件夹中生成。
- 您可以选择手动将旧 mappings.yml 中的配置内容合并到新文件中。
- 【注意】 不要直接覆盖新文件!确保所有自定义内容放置在 block-state-mappings 区域内,并注意新配置文件使用的缩进格式。
- 调整方块数量:根据实际需求,在 config.yml 中调整 serverside-blocks 的数量。
(译者注:serverside-blocks 存在一个隐藏的最大值限制 100000,目的是为了防止注册过多的方块导致服务器运行效率严重降低)- 解决 ID 冲突警告:
- 插件启动时,控制台可能会显示大量关于内部真实方块 ID 冲突的警告。
- 最快解决方案:从每个方块的配置中移除 id 参数,插件将自动分配唯一 ID。
- 或者,您可以手动为每个方块分配一个新的、全局唯一的 ID 值。
- 当控制台中的所有警告消息消失后,再次重启服务器。此时,升级过程完成,所有功能将恢复正常。
主要配置文件变更
多状态方块简化:
例如,对于配置多种树叶变体,在新版本中只需以下配置,无需重复编写 28 个单独的变体条目:
- 真实 ID 分配不再依赖 variants 部分,该部分现为可选。
- 在旧版本中,对于具有多种变体的方块,您需要编写冗长的 variants 配置。现在,您可以使用部分 NBT 统一为满足特定条件的方块状态设置属性或外观。
YAML:properties: waterlogged: type: boolean default: false persistent: type: boolean default: true distance: type: int default: 7 range: 1~7 id: 100 # 真实 ID 的分配已从旧的 variants 部分移至此处。 # 虽然您仍可如本例手动指定 ID,但我们强烈建议直接移除 id 选项, # 让新系统为您自动分配,以简化配置并避免潜在冲突。 # 译者注:通过查看代码这里分配的id指的是起始值,会根据使用的变体数量自动累加 variants: waterlogged=false: appearance: default waterlogged=true: appearance: waterlogged settings: resistance: 1200.0 burnable: false fluid-state: water distance=7,persistent=false: settings: is-randomly-ticking: true自动图像 ID 分配:
为了简化配置,所有图像资源现支持自动 ID 分配。您只需从原始配置中移除 char 选项。此外,需要自动分配的精灵图需通过 grid-size 参数声明其布局。参考以下具体配置方法:
YAML:images: default:emojis: height: 11 ascent: 9 font: minecraft:emoji file: minecraft:font/image/emojis.png grid-size: 4,4 # 行,列自动方块外观状态分配:
在旧版本中,通过 state 选项手动配置客户端方块状态是一个复杂且易出错的过程。为简化操作,新版本引入了 auto-state 选项。您只需移除原始状态配置,并通过 auto-state 指定预设视觉类型,插件将自动为您分配最合适的方块状态。
示例 1:创建任意实心木方块
假设您需要创建仅需标准 1x1x1 实心外观的木方块,无论底层方块是音符盒、蘑菇方块或其他类型,只需在 auto-state 中指定 solid,插件将自动分配合适的方块。
YAML:block: settings: template: default:settings/planks loot: template: default:loot_table/self state: model: template: default:model/simplified_cube_all arguments: path: minecraft:block/custom/palm_planks auto-state: solid示例 2:创建树叶方块
如果您需要创建新的树叶方块,且不关心其视觉表现是橡树树叶还是白桦树叶,只要具有通用树叶外观即可,可按以下方式配置(本例为模板):
YAML:appearances: default: auto-state: leaves model: path: ${model_path} generation: parent: minecraft:block/leaves textures: all: ${texture_path} waterlogged: auto-state: waterlogged_leaves model: path: ${model_path}
当前可用的 auto-state 预设类型:
在新版本中,自动分配的 ID 显示为黄色,手动指定的 ID 显示为红色。
- leaves(所有标准树叶,不含水)
- waterlogged_leaves(含水的树叶)
- lower_tripwire(具有较小碰撞箱的绊线)
- higher_tripwire(具有较大碰撞箱的绊线)
- tripwire(任意绊线)
- note_block(音符盒)
- mushroom(蘑菇方块)
- solid(任意固体方块,包括音符盒和蘑菇方块)
- sapling(任意树苗)
- cactus(任意仙人掌)
- sugar_cane(任意甘蔗)
![]()
[MD] 哦耶~ v0.0.63 版本终于发布了!🎉 本次更新首次引入了方块实体的概念。但很遗憾,原定于 v0.0.63 版本进行的家具重构工作将推迟至 v0.0.64 版本。 在 v0.0.64 版本完成家具系统的全面重构后,我计划于 v0.0.65 版本推出方块实体更新的第二阶段。请注意,当前方块实体的 tick 功能在 Folia 环境中运行异常,且其基于实体的方块渲染机制与 FastAsyncWorldEdit 插件的操作存在兼容性问题。这些问题将在 v0.0.65 版本中得到修复与优化。 新功能 - 新增方块行为: `change_over_time_block`, `simple_storage_block`, `toggleable_lamp_block`, `bouncing_block`, `liquid_flowable_block` - 新增物品行为: `wall_block_item` - 新增方块实体类型: `simple_storage`, `simple_particle`, `wall_torch_particle` - 新增视觉配方结果的选项 - 新增高斯分布(正态分布)的数字类型 - 新增物品数据: `max-damage` - 新增方块设置: `friction`, `jump-factor`, `speed-factor` - 新增条件类型: `worldguard:region` - 新增函数类型: `teleport`, `toast` - 新增默认配置: `safe_block`, `amethyst_torch`, `sofa` - 新增严格校验玩家UUID的选项 错误修复 - 修复了锻造配方中的 `keep_components` 产生的报错 - 修复了混淆时候低于 1.21.4 客户端的玩家头颅物品错误的问题 - 修复了混淆时候低于 1.21.4 客户端使用基于方块的物品无法显示模型的问题 - 修复了部分情况下方块声音未于方块中心发出 - 修复了默认配置的棕榈木门没有配方的问题 - 修复了部分默认语言文件键不匹配的问题 - 修复了 `BlockBreakEvent` 在取消掉落物的情况下插件仍然掉落原版战利品的问题 - 修复了部分版本方块行为的 `onPlace` 未正确匹配的问题 - 修复了在 1.21.2 部分路径下使用 `item_model` 组件的模型生成错误 - 修复了下界合金铁砧可能摔死的问题 - 修复了 `concrete_block` 未能在与液面接触时立刻变成固体状态的问题 - 修复了在 `minecraft:condition` 类型的物品模型使用 `minecraft:component` 属性的问题 - 修复了在 1.20.1-1.20.4 使用工作台修复工具报错 性能优化 - 优化了玩家点击配方书时服务端的物品放置处理 - 优化了区块和世界读写性能与线程安全 - `<global>` 现在已经支持在其他插件中使用 - 略微调整了 `config.yml` 部分选项的位置 - 改进了 `attribute-modifiers` 随机 ID 生成的逻辑 - 改进了 `enchantable` 选项,现在也可以禁止物品在铁砧中被附魔 - 改进了 `command` 函数,新增 `as-event` 和 `as-op` 选项 - 改进了 `match_block_property` 条件,支持原版方块状态的匹配 - 改进了 `liquid_collision_block_item` 的判断 - 改进了光照系统 tick 逻辑,新增异步光照更新的选项 - 改进了 `external-item` 构造逻辑,检测可能存在循环构建问题 - `category` 现在支持添加重复的物品 ID 兼容性与集成性 - 新增的物品来源支持: `Zaphkiel`, `Slimefun`, `SX-Item`, `HeadDatabase` - 兼容了最新的 `lobfile` 接口 - 重新兼容 MythicMobs 物品生成以支持变量解析 重构与接口 - 重构了客户端模组,请及时更新你的客户端模组与服务端插件 - 重构了配方系统,现在的配方系统性能更高,判断更准确(唯一的缺陷是所有配方性能消耗会在 `spark` 中统计为本插件产生的 :<) - 重新整理了默认配置的文件结构,使其更加清晰易懂 - 严格划分依赖作用范围的类加载器,避免被其他插件引用到非接口相关的库 - 为 `CraftEngineReloadEvent` 新增 `isFirstReload` 方法 - 为 `CraftEngineBlocks/Items/Furniture` 新增获取全部已加载配置的方法 - 新增方块实体渲染、tick、存储相关接口 - 新增 `AsyncResourcePackCacheEvent` 以支持其他插件在 CraftEngine 中缓存自己的资源包并参与资源包生成 [/MD]
此为“家具重构与方块实体”更新前的最后一个稳定版本,主要包含若干重大故障修复及次要功能更新。
功能新增
故障修复
- 新增棋盘方块的默认示例
- 增加对 Leaves 服务端假人的兼容支持
- 新增 overwritable-item-name 与 overwritable-lore 功能
- 添加持久化数据容器数据类型支持
- 新增物品更新器功能
优化调整
- 修复 unbreakable 数据类型无法正常生效的问题
- 修复锻造台后处理器引发的错误
- 修复物品 client-bound-model 无法覆盖全局设置的问题
- 修复全局调色盘导致的网络协议错误
- 修复 0.0.61 版本配方重构后移除原版配方功能失效的问题
- 修复末影人手持自定义方块、点燃的TNT及自定义矿车带有的方块的显示异常及网络协议错误
- 修复可堆叠方块行为更新时未向周边玩家发送方块更新包的问题
- 修复部分插件在启动阶段使用 WorldEdit 引发的错误
- 修复 Dropbox 缓存写入问题
- 调整默认配置中花篮模型的朝向
- 更新 config.yml 注释内的文档链接
- 改进 get/give 命令的命名空间ID匹配机制
- 新增物品名称与描述的预解析处理以提升整体物品构建性能
- 优化非正确工具挖掘时的速度处理逻辑
- 提升箱子 UI 点击响应性能
[MD] **新功能** * 添加了对 1.21.8 的支持 * 添加了酿造配方界面 * 允许在配方中使用来自其他插件的物品 * 在物品设置中添加了 `correct-tools` 标签支持 * 添加了配方结果后处理器 * 添加了 `double_high_block_item` 物品行为 * 为物品提示框中添加了带分隔符和自定义优先级支持的的描述信息数据 * 添加了对 MythicMobs 技能施放的支持 * 添加了配方选项 `show-notification` 来控制配方发现消息的显示 * 添加了在原版数据包中使用 craftengine 物品的支持 [/MD][MD] **错误修复** * 修复了在合成器中 `craft-remaining-item` 不起作用的问题 * 修复了在合成器中显示不正确配方结果的问题 * 修复了在给予物品时与 Folia 相关的异常 * 修复了在雪上放置双层方块的问题 * 修复了客户客户端侧数据/材质处理中的罕见情况 * 修复了某些物品与实体之间的交互问题 [/MD][MD] **优化** * 改进了隐藏物品的提示框文本信息的实现逻辑 * 添加了资源包语言文件合并功能 * 提升了重新加载配方的速度 ## ⚠️ 重要的兼容性变更 在 0.0.61 更新中,我们引入了 `double_high_block_item` 物品行为,以修复放置双层方块(例如门)时的一些奇怪行为。要修复此问题,只需将 `block_item` 替换为 `double_high_block_item`。 [/MD]
[MD] ## ✨ 新特性 * **添加了1.21.7支持** * **添加了ru_ru语言** * **添加了新的item data类型: attribute-modifiers和hide-tooltip** * **添加了基于Trim的盔甲架实现,适用于1.20到最新版本** * **添加了brewing和smithing_trim类型的配方** * **添加了未设置模板参数的警告** * **添加了advancement和recipe book中使用client-bound-data的支持** * **添加了覆写原版物品模型的支持** * **函数play_sound添加了目标选择器支持** ## 🐛 错误修复 * **修复了世界生成未能正确获取流体的问题** * **修复了与最新版BetterModel的兼容性** * **修复了爆炸相关处理异常** * **修复了select类型模型接受参数不为任意类型的问题** * **修复了1.20-1.21.1方块光照的相关问题** * **修复了1.20-1.21.3中键由于方块和物品id不一致导致的获取错误问题** * **修复了部分类型的按钮交互模拟失败导致错误地放置方块问题** * **修复了1.20-1.21.4压力板破坏后未能及时更新信号的问题** * **修复了创造模式破坏上半门的错误掉落** * **修复了因为配方重载导致客户端block tags被更新的bug** * **修复了1.21.6-1.21.7展示框物品实体数据id错误** ## ⚡ 优化 * **优化了资源包验证器的效率,现在速度比以前快200%** * **优化了资源包发送系统** ## ⚠️ 重要兼容性变更 在 0.0.59.9 更新中,我们引入了 smithing_trim 配方类型。因此,一些现有的盔甲套装(例如默认的黄玉套装)现在需要添加 minecraft:trimmable_armor 标签——否则,在此更新后,它们将无法在**锻造台**上用于应用**盔甲纹饰**。 [/MD]
Git:templates: default:armor/topaz: material: chainmail_${part} custom-model-data: 1000 data: item-name: <!i><#FF8C00><i18n:item.topaz_${part}> tooltip-style: minecraft:topaz settings: tags: - default:topaz_tools + - minecraft:trimmable_armor equipment: asset-id: default:topaz $$>=1.21.2: slot: ${slot} model: template: default:model/armor_trim ```
我们在本次更新中添加了对缺失模板参数的检查,因此您现在可能会在控制台中看到一些警告。无需担心——只需为您的模板设置默认值或提供缺失的参数,警告就会消失。
Git:appearances: type=top,waterlogged=false: state: ${base_block}[type=top,waterlogged=false] model: path: ${model_top_path} - generation: ${model_top_generation} + generation: ${model_top_generation:-null}
功能
修复
- 新增 special 模型类型 player_head 支持
- 新增资源包图集(atlas)校验功能,控制台将提示缺失纹理警告
- 新增德语本地化文件 (感谢 TamashiiMon 贡献)
- 扩展 equippable 组件支持更多 equipment layer 类型
- 实现 YAML 文件支持 "::" 区域分隔符语法
- 为配置新增了debug选项,用于查看应用模板后的配置文件
- 添加了烟火之星染色家具的支持
优化
- 修复纹理存在性检查未应用 atlas 路径导致的误判问题
- 修复插件在 1.21.2-1.21.3 版本无法正确应用 equippable 组件的问题
- 修复 Folia 延时调度器工作异常问题
- 修复了smithing transform配方未在1.20.1版本上注册
- 修复了未设置应用染色时候,家具仍然被染色的问题
- 彻底修复含水方块在活塞运动中的表现,现已实现 100% 原版行为还原
变更
- 重构资源包混淆图集生成算法
- 注入 BlockState 优化方块行为处理逻辑
- 重构方块掉落物系统,直接注入服务端处理逻辑,替代原有 Bukkit 事件方案
- 优化模板参数默认值读取规则
- 移除已弃用的 blockstates.yml 配置文件
- 改进 blockstates 下 JSON 文件的合并逻辑(不再覆盖而是智能合并)
重要兼容性变更
- 门类方块掉落物配置更新
0.0.58 版本中 plam_door 默认配置存在缺陷,必须添加模板并引用新模板以避免双倍掉落问题:
YAML:default:loot_table/door: pools: - rolls: 1 entries: - type: item item: ${__NAMESPACE__}:${__ID__} conditions: - type: match_block_property properties: half: lower- 头颅模型配置迁移指南
由于 1.21.6 头颅渲染模式变更,旧配置需按以下格式更新:
Git:model: - type: minecraft:head - kind: player + type: minecraft:player_head
[MD] - 添加了1.21.6支持 - 新增happy ghast类型的碰撞体积 - 添加红石信号源相关API - 修复了在之前版本对弹射物优化后造成的 自定义箭失效,忠诚三叉戟无返回动画问题 - 修复了原版三叉戟在有忠诚附魔的时候,会造成后台警告的问题 - 新增了基于光灵箭的自定义箭 - config.yml新增选项resource-pack.exclude-core-shaders用于排除核心着色器 - 新增了trapdoor_block,door_block,fene_gate_block,slab_block,stairs_bock,pressure_plate_block,sturdy_base_block,stackable_block方块行为 - 新增了基于服务端版本号条件的YAML配置文件写法 - 新增棕榈木相关配置,cap配置,pebble配置,1.20-1.21.3的自定义三叉戟配置 - 修复了1.20-1.21.1存在的方块光照问题 - 完善了之前版本的migrate-templates指令 - 修复了物品存在错误时,无法在1.20.1-1.20.4版本显示正确的物品id的问题 - 改进了具有waterlogged属性的方块行为,现在支持发射器并且视觉问题得到了解决 - 为equippable物品settings添加了color-when-undyed选项 - 修复了strippable_block方块行为在1.21.5+服务器上无法正确识别副手含有block_attack组件的物品 - 修复了folia上常加载区块上家具初始化碰撞体积的错误 - 为所有声音选项添加了范围volume/pitch支持(例如0.9~1.0) - 修复了json格式错误导致的资源包校验失败 - 修复了模板中不能快捷使用map类型的参数 - 现在模板参数在未填写时候默认返回null而不是参数名本身 - 修复了无法正确应用FAWE的mask问题 - 现在插件会忽略resources目录下以"."开头的隐藏目录 - 修复在1.21.5以上版本使用client-bound-data造成的客户端指针物品不同步问题 - 修复了由client-bound-data造成的附魔台附魔选项不同步问题 - 添加了compost-probability物品设置 - 修复无法在linux上解析符号链接的问题 - 为物品添加了oversized-in-gui和hand-animation-on-swap选项 [/MD]