• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
CraftEngine

授权转载 付费 开源 娱乐 CraftEngine 26.8-快照

请登录后获取
  • 此版本修复了 26.5 首个版本中存在的诸多错误
  • 此外,我们还引入了一套全新的弹射物系统——详情请查阅文档
  • 修复了 delay-configuration-load: false

  • 修复了盔甲纹饰配方

  • 为弹射物物品设置添加 sounds.throw 选项
    YAML:
    settings:
      projectile:
        item: default:topaz_trident
        translation: 0,0,0
        rotation: 1,1,1,1
        display_transform: NONE
        scale: 0.5
        sounds:
          throw: minecraft:item.trident.throw
  • 修复了未使用的自定义方块没有空方块行为的问题
  • 修复了定向附着方块的一些错误

  • 现在您可以自定义弹射物的音效了
    YAML:
    settings:
      projectile:
        item: default:topaz_trident
        translation: 0,0,0
        rotation: 1,1,1,1
        display_transform: NONE
        scale: 0.5
        sounds:
          throw: minecraft:item.trident.throw
          hit_entity: minecraft:item.trident.hit
          hit_block: minecraft:item.trident.hit_ground

    任何音效配置均支持复杂配置格式

    YAML:
    sounds:
      throw:
        id: minecraft:item.trident.throw
        pitch: 0.9~1
        volume: 1

    hit_blockhit_entity 支持根据击中目标来更改音效类型

    YAML:
    sounds:
      hit_block:
        default: minecraft:item.trident.hit
        overrides:
          minecraft:stone: minecraft:item.trident.hit_stone
          default:palm_log: minecraft:item.trident.hit_log

  • 我已经完成了原版弹射物的自定义外观和一些基本属性的设置。将来我可能会考虑添加一个带有自定义刻逻辑的 弹射物行为 系统,但这并不是我近期会做的事情
    物品设置/可装载的弹射物
    物品设置/弹射物

  • 改进 folia 中光照更新器的线程安全性

CraftEngine 26.5 – 重大更新!​


这是 CraftEngine 的一次重大更新。从现在起,版本号将采用 年.月.修订号 的格式

我们进行了超过 80000 行代码的修改和 600 多次提交,因此,与其列出冗长的更新日志,不如请查阅维基页面了解具体更新内容

以下几点请务必注意:​


  • stem_block 现已为其下方的方块添加了过滤。请查阅文档以更新您的配置,或使用新的默认配置来解决瓜茎的问题
  • 在 26.1 版本中,已放置的地物发生了重大变更。如果你希望继续使用默认的地物配置,请从插件文件中提取新版本的默认配置文件
  • 本次更新包含大量 API 变更——这些变更已足够稳定,足以支持未来一整年的更新

需要更新方面的帮助吗?​


如果您有一个需要兼容最新版 CraftEngine 的开源项目,或者有一个仅支持旧版本而不兼容新版本的插件——我们很乐意为您提供免费帮助。只需通过 GitHub Issues 或 QQ群 联系我们即可
  • 添加 26.1+ 文本组件支持
  • 重写 nbt 组件序列化以改进 netty 线程上的文本替换性能

1777783131212.webp

config.yml
YAML:
  # 启用此选项将生成一个与其他地图插件(如 BlueMap)兼容的资源包
  map-plugin-compatibility:
    enable: false
    path: "./generated/resource_pack_map.zip"
如果您使用的是 BlueMap,请不要忘记禁用 restore-vanilla-blocks-on-chunk-unload
1777783140496.webp


  • 为 BlueMap 添加了自定义方块对应视觉方块的相同着色
  • 修复自26.4最后一个快照版本的第三项更新的版本以来,导致在某些服务器上解码器无法正常工作的问题
  • 修复图腾动画触发

  • 修复图腾动画自定义声音

  • 在 1.20-1.21.3 版本中,已无需挂载 Bytebuddy Agent 来注入自定义方块

  • 重构了资源包验证系统
  • 现在,高版本的模型格式可以自动转换为旧版本,并生成叠加资源包
  • 修复了自最近更新以来农作物方块行为异常的问题
  • 为农作物方块行为添加了触发 BlockGrowEvent 事件
1778126610335.webp

基于 1.21.6-1.21.10 和 1.21.11-26.1 版本构建的模型现已支持旧版客户端
我开发了一套算法,可将模型转换为等效的低版本格式模型。除极少数可能无法转换的模型外,大多数都能正常运行。低版本使用转换后的模型,而高版本则在叠加资源包下使用原始模型。

  • 我在之前的版本中犯了一个小小的UV贴图错误,现在已经修复了
1778126803822.webp


  • 添加了 remove_loreinsert_lore 物品数据类型

  • 为客户侧物品数据添加了加密
  • 改进了自定义弹射物的生成数据包
  • 修复了在 26.1+ 中右键座椅时出现的 建筑高度上限是319 错误
  • 为成书添加了标签解析支持(需要添加一些配置,见下方示例)
  • 添加了空音效文件,客户端不再提示音效缺失
  • 为表情添加了 content_override,允许根据不同情况显示不同内容
YAML:
items:
  # 为原版物品设置 process_written_book_tags,可正确处理成书中的 <image> 和 <l10n> 等标签
  minecraft:written_book:
    client_bound_data:
      process_written_book_tags: {}
YAML:
templates:
  default:emoji/basic:
    content: <!shadow><white><arg:emoji></white></!shadow>
    content_overrides:
      chat: <hover:show_text:'<l10n:emoji.tip:"<arg:keyword>":"<arg:emoji>">'><!shadow><white><arg:emoji></white></!shadow></hover>
      book: <hover:show_text:'<arg:keyword>'><!shadow><white><arg:emoji></white></!shadow></hover>
      anvil: <!i><!shadow><white><arg:emoji></white></!shadow></!i>

  • 修复客户端侧物品数据移除自定义数据的错误
    YAML:
    client_bound_data:
      remove_components:
        - custom_data

  • 修复 oversized_in_gui 选项

  • 修复了包含自定义方块的附魔数据包会出现网络协议错误的问题
  • 添加了对 Canvas 26.1 的兼容性
  • 改进了资源包的混淆处理
  • 经过混淆的 item_model 组件
    1778458824094.webp
  • 下面的资源包是应用了全新的混淆后的结果,其中包括对 items 文件夹和 overlay 的完全混淆
    【latest_obfuscation_example.zip】

  • 修复了上次混淆更新音效被破坏

  • client-bound-data 以及 <image> 等标签现已支持在对话框中使用

  • 修复已知问题

  • 修复了一些在Folia服务端上的已知问题

  • 为服务器添加了世界数据迁移工具,用于将 CraftEngine 数据迁移至 26.1 版本
    1778838000610.webp
  • 进一步完善了家具行为(现已达到一个非常满意的版本)
  • 为避免在正式发布时产生歧义,重命名了部分类,因此在此版本中修改了其中一部分。后续还会有更多的类重命名
  • 完善了锻造升级配方中对于通过丢弃整个物品堆操作进行合成的逻辑
  • 修复了合成配方中当对带有函数但无视觉效果的配方通过丢弃整个物品堆操作进行合成时会错误地多次触发函数的问题

以下为首次发布 CraftEngine 前的进度更新:

我知道这是一个雄心勃勃的目标,但我在此承诺:我预计在四月中旬前完成以下所有内容。
  • 重构方块实体与动态渲染器
    ✅
  • 改进战利品系统
    ✅
  • 重构资源包生成与验证
    ⚠️
    (进行中)
  • 可染色方块实体(将使用新的方块实体 API 实现)
    ✅
  • 发光家具行为(将使用新的家具行为系统实现)
    ✅
  • 随机数生成、装备套装加成及药水效果
    ⚠️
    (进行中)
  • 26.1 版本支持
  • 全面的最终功能测试
  • BlockBehavior、BlockEntity、FurnitureBehavior 及基础操作的官方 API 文档

  • 改进了家具每刻执行代码的 API 的工作方式
  • 改进了家具自定义数据的存储逻辑
  • 修复了在 Folia 中利用重力方块复制特性复制带有可下落方块行为的自定义方块时出现的跨区域线程错误
  • 改进了音符盒的交互方式

  • 修复了在禁用光线追踪时实体剔除无法正常工作的问题
  • 修复了在未配置碰撞箱且启用实体剔除时家具不可见的问题
  • 战利品表现在可以直接从数据包中使用
  • 重构了方块实体API:现在一个方块可以支持多种方块实体行为

  • 如果您的服务器资源包支持 1.21.5 及更早版本,则为 ModelEngine 玩家头颅添加了额外的修复逻辑

  • 添加了新的区块存储方式:pdc
    [MD]> 如果你的服务器尚未正式上线,可以尝试使用此模式 —— 由于 Paper 1.21.2+ 版本已重写了区块系统,该模式的性能将更佳[/MD]

  • 方块实体渲染器现在支持 conditions

  • 修复了 bush_block行为
  • 为方块物品添加了 block_state 组件支持

  • 修复了当 entity-culling 设为 false 时实体渲染器出现的错误

  • 修复区块生成时流体推动方块行为的错误
  • 修复无方块行为的方块无法旋转的问题
  • 新的方块行为 API(稳定版)
  • 添加 glowing_furniture 家具行为
YAML:
behaviors:
  - type: glowing_furniture
    variants:
      ground:
        - 0,0,0 15
        - 1,0,0 15
    lights:  # 未匹配到变体时的备用光源
      - 0,1,1 15
若想创建类似 nexo 的可开关光源家具,只需通过事件切换变体即可实现
当前版本的发光家具尚未完全完善,光源效果目前仅在数据包层面实现,下一版本将在服务端实装完整的光照系统

  • glowing_furniture 家具行为添加服务端光源

  • 重构了物品行为 API
  • minecraft:custom_data 组件添加了 CustomDataSerializer API

  • 添加了 tint_source_block 方块行为
  • 修复了一些发光家具的错误
tint_source_block 是一种方块实体行为,可为实体渲染器提供色调来源。你也可以通过 API 注册自定义色调来源。此视频展示了一个例子,我略微修改了 display_item_block 方块实体行为,使其充当色调来源
webp.133062

YAML:
appearances:
  xxx:
    state: barrier
    entity_renderer:
      - item: default:cap
        position: 0.5,1,0.5
 
        # 完整配置
        tint_source:
          type: default
          components:
            - dyed_color
          index: 0

        # 简写形式,但这种方式无法设置色调来源索引,
        # 也无法使用通过 API 注册的自定义色调来源
        tint_source:
          - dyed_color
YAML:
behaviors:
  - type: display_item_block  # 色调来源索引 0
    tint_source: true
    position: 1.5,1,0
    data_key: item_a
  - type: display_item_block  # 不作为色调来源
    tint_source: false
    position: 1.5,1,1.5
    data_key: item_b
  - type: tint_source_block  # 色调来源索引 1
此外,还为方块实体新增了一个方法,用于从放置此方块的物品中加载自定义数据。其工作方式类似于 https://zh.minecraft.wiki/w/数据组件#block_entity_data 所描述的那样
1776035985424.webp


  • 修复了在事件部分调用 cancel_event 无法阻止放置行为发生的问题
  • 修复了 grass_block 方块行为未按预期工作的问题
  • 修复了当色调未设置默认值时模型无法加载的问题
  • 修复了合成配方崩服的问题
  • 为家具控制器 API 添加了 loadCustomDataFromItem 方法,并更改了 onPlace 的触发时机
  • 为锻造升级配方的后处理器添加了 apply_data 函数

  • 26.1 版本支持(部分)
  • 添加了 dye 配方类型(26.1+)

  • 修复了收纳袋和潜影盒的客户端侧数据或材料在 26.1 版本中的问题

  • 修复了 26.1 版本中的家具交互问题
  • 添加了方块实体容器 API
  • 添加了 drawer_block 方块行为及默认配置
  • 添加了 fuel_remainder 物品设置
该功能仍不稳定,请勿在生产环境中使用
webp.133254


  • 修复了当抽屉内物品堆叠数量超过 64 时,漏斗无法传输物品的问题
  • 修复了保存世界时物品堆叠数量变为 1 的问题
  • 修复一次性放入超过存储上限的物品时,手中超出的部分会被消耗并丢失的问题
配置更改
max_storage_count -> max_stacks
1776275066819.webp


Diff:
items:
  default:gui_head_size_1:
    material: player_head
    client_bound_data:
      profile: <arg:player.name>
      hide_tooltip:
        - minecraft:profile
    model:
      type: minecraft:special
      path: minecraft:item/custom/gui_head_size_1
      generation:
        parent: minecraft:item/template_skull
        gui_light: front
        display:
          gui:
            translation: 0,8,0
            scale: 2,2,2
      model:
        type: minecraft:player_head
+     transformation:
+       left_rotation: -1,0,0,0
+       translation: 0.5,0,0.5
添加这些选项以修复头颅在 26.1 或更高版本 GUI 的展示问题

  • 添加了烛台默认配置示例
  • 修复了 26.1+ 调色盘注入
  • 修复了 26.1+ 不能在流体里游泳
  • 修复了抽屉方块行为的一些问题
  • is_randomly_ticking 方块设置现在已弃用,现在由方块行为控制
  • 修复了自定义已放置的地物无法通过 grass_block 方块行为放置的问题
  • 添加了 26.1+ 格式的新特性
  • stem_block 方块行为添加了 fruit_bottom_blocksfruit_bottom_block_tags 选项
  • 硬编码属性 rotation 现在支持数据包中的 rotatemirror
Diff:
      - type: stem_block
        fruit: default:hami_melon
        attached_stem: default:attached_hami_melon_stem
+       fruit_bottom_blocks:
+         - minecraft:farmland
+         - minecraft:dirt
1776448201544.webp


1776520492668.webp

  • 修复插件无法在 1.20.4 及以下版本启动
  • 添加可着色沙发示例

  • 修复客户端侧物品数据没有应用于自定义弹射物
  • set_cooldown 函数添加 t 时间单位

  • 修复 FastAsyncWorldEdit 兼容性

  • 修复了 inject-block-entity 与 Canvas 1.21.11+ 的兼容性问题
  • 修复了重启后无法处理无条件的自定义配方的问题
  • 在玩家加入时重定位 Netty 管道中的处理器顺序,以修复依赖 packetevents 的插件的潜在兼容性问题

附件

更新日志(可能不完整,因为我可能忘记了一些更改)
  • 增加了对 26.1 资源包的支持
  • 不再使用任何 java 反射完成 nms 操作。完全依赖于 asm 生成的代码进行调用
  • 添加了多线程配置读取,大幅度提升插件在解析大量配置时的速度。同时配置文件异常会以更加优雅的方式抛出
  • 更多的异步的配方加载,配方重载不再会在 folia 上导致崩溃
  • use_remainder 现在已经可以为原版物品配置
  • 添加了 healspawn_mythic_mob 函数
  • 修复属性修饰符无法使用 saddle 槽位
  • 优化了 section 类型的区块注入模式
  • 添加了 none 类型的世界存储
  • 家具元素添加了 tint_source 选项,以支持自定义着色源(如地图、药水瓶)
  • 添加了 attack 触发器,on 参数现已支持列表
  • 烧炼配方现已支持条件
  • 添加了 use_remainder 物品数据类型
  • 添加了 simple_storage_furniture 家具行为

  • 为 folia 核心添加了同步方块实体/家具 tick api 支持
  • 小问题修复(如果发现任何错误请报告,我会尽快修复)

  • 重构了与资源包托管相关的代码
  • 修复了若干小问题

1774491375021.webp

  • 添加物品展示柜家具示例(功能类似于物品框,但展示的是掉落物)
  • 修复了若干问题

  • 将实体剔除效率提升了7~9%,并修复了一个错误

  • 重构了自动ID分配器并修复了一些错误
  • 修复了 dispaly_item_furniture 的拼写错误。在本版本中,您需要将其替换为 display_item_furniture

  • 修复了在优化实体剔除版本后,破坏方块光线追踪出现错误的问题。

  • 修复了玩家无法在家具上放置方块的问题
  • 添加了实验性的 ⁨bed_block 方块行为
  • 为锻造升级配方增加了⁨ count ⁨数量支持
  • 改进了方块状态生成
  • 改进了 pack.mcmeta 对重名的叠加资源包合并逻辑
  • hit-times 参数对创造模式玩家不再生效
  • 修复了家具旋转过快时出现的异常问题
  • 修复了方块破坏进度未能正确广播的问题
  • /ce debug item-data 命令新增 --client-side 标志

  • 为锻造升级配方新增 count 支持
  • 如果拥有所需的原料,配方将自动解锁
  • 修复了区块生成时与实体渲染器相关的部分问题
  • 为已放置的地物新增了 dimension-type 选项
  • 为清除物品命令新增了 --match-tag 标志
后退
顶部 底部