配置项(EnderStorage.cfg)

基本信息

属性 值
文件位置 <minecraft>/config/EnderStorage.cfg
解析器 codechicken.lib.config.ConfigFile
时机 preInit 创建文件 → init 读取所有值
写入者 EnderStorage.init (mod 主类) + EnderItemStoragePlugin.loadConfig + EnderLiquidStoragePlugin.loadConfig

总配置(在 EnderStorage.init 中读取)

配置键 类型 默认值 说明
disable-vanilla boolean true 设置为 true 时使原版 ender chest 无法被放置;preInit 末尾调用 EnderStorageRecipe.removeVanillaChest()
disable-vanilla_recipe boolean false 当 disable-vanilla=true 时进一步移除原版 Blocks.ender_chest 合成;非 true 时会重新注入 obsidian+eye_of_ender 的合成配方
anarchy-mode boolean false 启用后:被破坏的 Ender Chest 会丢失 owner 设置(变回 global)并掉落 personalItem;潜行绑定别人的 Ender Pouch 时 owner 强制写为 global
disableFXChest boolean false 禁用 Ender Chest 的末地传送门特效(影响 FPS)
disableFXTank boolean false 禁用 Ender Tank 的末地传送门特效(影响 FPS)
enderTankSize int(bucket 单位) 256 Ender Tank 容量,单位为桶(×1000 mB);实际容量 = enderTankSize * FluidUtils.B mB
allPlayerCanSeePublicInventory boolean false 设置为 true 时,任意第三方客户端 mod(而不是只 OP)可以枚举所有 (owner="global", freq) 的库存
personalItemID string "diamond" 锁扣(subHit 4)使用的"私有化物品"。从 Item.itemRegistry 解析;解析失败 fallback 到 Items.diamond 并把 tag 写回 config

item 分组(EnderItemStoragePlugin.loadConfig)

配置键 类型 默认值 说明
storage-size int 1 单个 Ender Chest / Pouch 物品库存大小。0=3×3=9 / 1=3×9=27 / 2=6×9=54;超过 [0, 2] 范围强制为 1
范围限制 — 0..2 由 `if (configSize < 0

EnderItemStoragePlugin.sizes = {9, 27, 54} 三个常量直接对应三个容量档位。当玩家/配置修改 storage-size 时,服务器在加载每个 EnderItemStorage 时调用 alignSize() 把现有物品按"高→低"或"低→高"压缩到新尺寸。

liquid 分组(EnderLiquidStoragePlugin.loadConfig)

loadConfig 为空实现——液体侧没有任何配置项,所有逻辑由 EnderStorage.enderTankSize 控制。

关系

EnderStorageManager.loadConfig(config) 把同一个 ConfigFile 传给所有已注册的 EnderStoragePlugin,每个 plugin 通过 config.getTag(plugin.identifer()) 拿到自己的子分组,因此 item.storage-size 和未来的 liquid.x 都挂在同一个 cfg 文件下。

行为

  • 文件不存在时 ConfigFile 会自动生成默认值 + 注释。
  • preInit 中创建 ConfigFile 并写入 proxy.preInit(注册保存处理器)。
  • init 中读取所有配置后调用:
    • EnderStorageManager.loadConfig(config)
    • EnderStorageManager.registerPlugin(new EnderItemStoragePlugin())
    • EnderStorageManager.registerPlugin(new EnderLiquidStoragePlugin())
    • proxy.init()(注册方块、物品、合成、PacketCustom)
  • serverStart 中注册 /enderstorage 命令(OP-only)。

相关条目