配置项(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)。
相关条目
- EnderStorage API -
EnderStoragePlugin.loadConfig接口 - /enderstorage 命令 - OP 远程开库存
- EnderStorageRecipe -
addNormalRecipies+removeVanillaChest - Ender Chest -
anarchy-mode影响掉落 - Ender Tank -
enderTankSize决定容量 - ItemEnderStorage -
personalItem锁扣