Chest Loader

Chest Loader

原味风格、仅服务器端且兼容原版客户端的下界传送门区块加载器,存放在箱子中。

箱子加载器

箱子加载器是一款服务端 Fabric 模组,可将箱子或木桶转变为由原版物品制成的区块加载器。原版客户端无需安装模组即可加入游戏。

本文档亦提供中文版。

支持的 Minecraft 版本

  • 26.2

安装方法

从发布页面或 CurseForge 下载 JAR 文件。

在服务器上安装 Fabric Loader,然后将 Fabric API 和 Chest Loader 的 JAR 文件放入服务器的 mods 目录。客户端无需安装 Chest Loader 或 Fabric API。

对于单人游戏,请在本地游戏实例中安装相同文件。

使用方法

将配置好的图案放入箱子或木桶中,然后打开容器。默认图案需要至少十个黑曜石、至少四个(放在同一格内的)充能铁轨,以及一个矿车:

O O O O
O R M O
O O O O

O 代表黑曜石,R 代表充能铁轨,M 代表矿车。图案之外的每个格子必须为空。图案可以放置在任意合适的列中。充能铁轨和矿车的位置可以互换。

加载器会保持其所在维度中 7×7 的区块区域保持加载状态。中央的 3×3 区块区域会处理实体。服务器重启后,加载器仍会保持激活状态。

当容器关闭时,如果图案中有物品被取出,加载器便会停用。漏斗引起的变动可能需要一个扫描周期才能被检测到。

配置

Chest Loader 在首次启动时会创建 config/chestloader.json 文件:

{
  "patterns": [
    {
      "name": "obsidian-frame",
      "dimensions": ["minecraft:overworld", "minecraft:the_nether"],
      "shape": [
        "OOOO",
        "ORMO",
        "OOOO"
      ],
      "keys": {
        "O": { "items": ["minecraft:obsidian"], "min": 1 },
        "R": { "items": ["minecraft:powered_rail"], "min": 4 },
        "M": {
          "items": [
            "minecraft:minecart",
            "minecraft:chest_minecart",
            "minecraft:hopper_minecart",
            "minecraft:furnace_minecart"
          ],
          "min": 1,
          "max": 1
        }
      },
      "slide": true,
      "mirror": true
    }
  ],
  "ticketLevel": 30,
  "scanIntervalTicks": 200,
  "maxLoadersPerDimension": 32,
  "maxLoadersTotal": 128,
  "notifyOnActivate": true,
  "particleOnActive": true
}

patterns 中的每个条目定义一种可接受的布局。

  • shape 逐行绘制布局。. 或空格表示该格子必须为空。其他字符引用 keys 中的条目。
  • keys 列出了每格可接受的物品以及最小和最大数量。
  • slide 允许图案放置在任意合适的位置。图案之外的格子必须保持为空。
  • mirror 也接受图案的水平镜像。
  • dimensions 列出该图案可生效的维度。添加 minecraft:the_end 可在末地启用。

你可以在 patterns 中添加更多条目,以支持其他布局或维度。

ticketLevel 控制加载范围。默认值 30 会加载 7×7 的区域,并带有 3×3 的实体处理中心。值 32 和 33 不会在中心区域处理实体。

scanIntervalTicks 控制模组检查激活加载器以应对漏斗变动的频率。maxLoadersPerDimension 和 maxLoadersTotal 用于限制激活加载器的数量。两个反馈选项控制激活消息和传送门粒子效果。

命令

/chestloader list
/chestloader disable <x> <y> <z> [dimension]
/chestloader enable <x> <y> <z> [dimension]
/chestloader check <x> <y> <z>

list 显示所有被追踪的加载器,并在聊天中提供可点击的启用或禁用按钮。disable 会释放其所在的区块,但会在列表中保留该加载器。enable 可随时从任意位置恢复它。这些命令需要权限等级 1。

check 会评估指定位置的容器。此命令需要权限等级 2。

限制

  • 激活的加载器会占用整个容器,因此无法将该容器用于存储。
  • 区块加载不会绕过 Minecraft 的生物生成和消失距离规则。附近没有玩家时,加载器无法运行刷怪塔。
  • 如果机器需要实体处理,请将其放置在中央 3×3 的区块内。
  • 如果禁用的加载器在其区块未加载时被破坏,它可能会保留在 list 中,直到该区块被加载或有人尝试启用它。

构建与测试

安装 JDK 25,然后运行:

./gradlew test
./gradlew runGameTest
./gradlew build

构建好的 JAR 文件会输出到 build/libs/ 目录。

许可证

Apache License 2.0