精华冷凝器 Essentia Condenser
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | gadomancy:BlockEssentiaCompressor(同时注册 ItemBlockEssentiaCompressor,RegisteredBlocks.java:107-108) |
| TileEntity | TileEssentiaCompressor(RegisteredBlocks.java:150) |
| 显示名 | Essentia Condenser(en_US.lang:231)——方块名与类名(Compressor)不一致 |
| 材质 | Material.wood(BlockEssentiaCompressor.java:38) |
| 硬度 | 5F(BlockEssentiaCompressor.java:39) |
| 爆炸抗性 | 20F(BlockEssentiaCompressor.java:40) |
| Thaumic Energistics 接口 | IAspectStorage,通过 Forge @Optional.Interface 声明(TileEssentiaCompressor.java:63) |
功能
精华冷凝器把多个精华罐的容量合并进同一份存储,并随规模增长。TileEssentiaCompressor 维护一个 incSize 计数器记录已并入的冷凝器数量(TileEssentiaCompressor.java:109)。
容量公式(TileEssentiaCompressor.java:277-278):
* ((TileEssentiaCompressor.MAX_ASPECT_STORAGE - TileEssentiaCompressor.STD_ASPECT_STORAGE)
/ TileEssentiaCompressor.MAX_SIZE);
即每并入一台冷凝器,各要素可用容量增加 (3000 - 200) / 8 = 350。
结构
冷凝器没有 RegisteredMultiblocks 模式,而是用纵向直列判定:代码检查下方与自身是否为 RegisteredBlocks.blockEssentiaCompressor(TileEssentiaCompressor.java:538、549),并维护 getMultiblockYIndex()(TileEssentiaCompressor.java:605)。
研究页(RegisteredRecipes.java:723-731)展示的结构为 1 / 3 / 1 三行、合计 3 台冷凝器。
此外它还能在结构中识别 Thaumcraft 基座:TileEssentiaCompressor.java:220 要求方块是 blockStoneMachine 且其 TileEntity 为 TilePedestal。
Thaumic Energistics 兼容
TileEssentiaCompressor 实现了 thaumicenergistics.api.storage.IAspectStorage(导入见 TileEssentiaCompressor.java:50),并用两个 @Optional.Method(modid = "thaumicenergistics") 方法暴露给 TE(TileEssentiaCompressor.java:135、147)。因注解带 modid,未安装 TE 时该类不会被链接,Thaumcraft 与 Gadomancy 均可正常运行。
数值
| 数值名 | 值 |
|---|---|
MAX_SIZE |
8 台(TileEssentiaCompressor.java:67) |
MAX_ASPECT_STORAGE |
3000(TileEssentiaCompressor.java:68) |
STD_ASPECT_STORAGE |
200(TileEssentiaCompressor.java:68) |
| 单台增量 | 350((3000-200)/8) |
| 满容量(8 台) | 200 + 8 × 350 = 3000 |
| 扩容判定间隔 | 每 40 tick 检查一次(TileEssentiaCompressor.java:109 的 ticksExisted % 40) |
| 硬度 | 5.0 |
| 爆炸抗性 | 20.0 |
| 启动要素 | WATER 140 / EARTH 80 / AIR 150 / ORDER 20 / ENTROPY 140(RegisteredRecipes.java:60-62) |
交互
| 触发 | 行为 |
|---|---|
| 放置 / 破坏 | 纵向相邻的冷凝器合并计数,破坏时重新计算 incSize |
| 精华输入 | 写入 IAspectStorage 提供的共享存储 |
| 40 tick 周期 | 重新计算扩容 |
合成配方
奥术配方 recipeEssentiaCompressor(RegisteredRecipes.java:111 声明),研究 ESSENTIA_COMPRESSOR(RegisteredResearches.java:597),研究页列出 1/3/1 三台结构(RegisteredRecipes.java:723-731)。
相关条目
- 方块族:BlockStoneMachine - 结构中可放置基座(meta 1)
- Thaumic Energistics 集成 -
IAspectStorage钩子 - 研究树 -
ESSENTIA_COMPRESSOR