回声碎片

回声碎片

在合成台中用8个回响碎片围住一个音乐唱片来复制它——一种具有主题性且近乎可再生的方式来复制稀有唱片。以服务器插件(Paper/Spigot/Bukkit/Purpur)和Fabric模组形式提供。自动适配所有唱片。

回响碎片

通过在合成表中用回响碎片包围唱片来复制它们。 将唱片放在中央,用8个回响碎片围成一圈,你就能取回原唱片 并额外获得一份复制品——回响碎片会被消耗。这是一种主题化且近乎可再生的方式来复制稀有唱片,因为最新的唱片和回响碎片都来自深暗之域。

该物品以两种形式提供(机制相同):

  • 服务器插件(Paper / Spigot / Bukkit / Purpur)
  • Fabric模组(客户端+服务端数据包配方)

运作方式

S S S      S = 回响碎片
S D S      D = 任意音乐唱片
S S S      结果 = 复制该唱片

音乐唱片不可堆叠,因此原唱片会与复制品一同返还给你——使用8个回响碎片最终获得 2张唱片(可配置)。该机制适用于游戏内所有音乐唱片,包括最新版本。

插件

  • 自动为服务器上每一个音乐唱片注册复制配方(向前兼容:未来更新的新唱片会自动覆盖)。
  • config.yml:
    • output-amount(默认 2)——每次合成最终获得的唱片总数(原唱片会被返还,因此 2 表示净增1张)。
    • allow-only / deny——限制可复制的唱片(使用不含 MUSIC_DISC_ 前缀的唱片名称,例如 creator、precipice、5)。
  • /echoshards 显示信息;/echoshards reload 重载配置(权限节点 echoshards.admin,默认管理员拥有)。

Fabric模组

  • 纯数据包配方(每个唱片一个 crafting_shaped 配方)加上一个极简的初始化器。
  • 需要 Fabric API(其资源加载器模块负责加载模组自带的数包——缺少该模块时配方会静默失效)。
  • 复制的唱片带有 max_stack_size: 2 组件,这使得数量为2的结果成为合法配方(唱片通常不可堆叠)。复制品之间可以互相堆叠,但不会与原始唱片堆叠;唱片机正常识别它们,复制后的唱片也能用于进一步复制。
  • 覆盖完整的 1.21.11 唱片集。

兼容性

按版本构建(参见 ../MODDING_GUIDE.md):

  • 插件,1.21.x: EchoShards-1.0.0.jar——基于 1.21.1 API 构建(Java 21,class 65),api-version 1.21,在 Paper 1.21.11 上加载测试。兼容 1.21.1-1.21.11。无 Paper 专用类,无 NMS,无依赖。
  • 插件,26.1.x: EchoShards-1.0.0-26.1.jar——基于 spigot-api 26.1.2 构建(Java 25,class 69)。兼容 26.1-26.1.2。
  • Fabric模组,1.21.x: EchoShards-fabric-1.0.0.jar——Minecraft 1.21.11,Fabric Loader,官方 Mojang 映射。

已知缺陷/诚实声明

  • 插件在 Paper 1.21.11 上进行了无头加载测试(启用了21个唱片配方的注册);未在真实客户端中进行全面QA测试。
  • 模组(2026-06-10 通过 fabric/recipe-verify.ps1 验证):所有21个配方在Fabric 1.21.11 开发服务器上使用合成器装置进行了无头功能性合成——每个配方均触发了真实的 RecipeManager 匹配,并以数量2生成对应唱片(fabric/recipe-status.txt 包含每个唱片的明细)。未在真实客户端GUI中手工测试(构建环境无客户端),且仅在 1.21.11 上测试。
  • 由于唱片不可堆叠,插件通过合成事件(干净利落地)返还复制品。模组的数量2结果需要 max_stack_size: 2 组件才能成为合法配方(严格的 1.20.5+ 物品编解码器否则会拒绝),因此模组复制的唱片会成对堆叠,且不与原始唱片堆叠。建议:服务器使用插件,单机/客户端使用模组。

原始概念来自 Reddit 用户 u/Megatrans69(r/minecraftsuggestions)。由 BeansNToast 制作。