Essentia Vibration Chamber

基本信息

属性 值
注册名 thaumicenergistics:essentia.vibration.chamber(BlockEnum.java:25-26)
方块类 thaumicenergistics.common.blocks.BlockEssentiaVibrationChamber
ItemBlock thaumicenergistics.common.items.ItemBlockEssentiaVibrationChamber(自定义,BlockEnum.java:26 指定)
TileEntity thaumicenergistics.common.tiles.TileEssentiaVibrationChamber(TileID thaumicenergistics.TileEssentiaVibrationChamber)
硬度 1.0f(BlockEssentiaVibrationChamber.java:39)
脚步声 Block.soundTypeMetal(BlockEssentiaVibrationChamber.java:42)
爆炸抗性 源码中 setResistance 0 命中,无显式数值可引用
创造标签 thaumicenergistics.ThETab(BlockEssentiaVibrationChamber.java:46)
显示名 Essentia Vibration Chamber(en_US.lang:thaumicenergistics.block.essentia.vibration.chamber.name)

功能

Essentia Vibration Chamber(要素振动室)是 ThE 的要素发电机器:吸入要素(尤其是 Ignis 火与 Potentia 能量),振动消耗要素,向 AE2 网络输出电力。它是 ThA 侧要素网络与 AE2 电力网络之间的转换器。

核心机制(TileEssentiaVibrationChamber 继承 TileEVCBase):

  • TileEVCBase extends AENetworkTile 并同时实现 IEssentiaTransportWithSimulate(要素侧,可吸可吐、支持模拟)与 IAspectSource(ThA 侧,可作为要素源)(abstraction/TileEVCBase.java:38)
  • 实现 IGridTickable + IWailaSource(TileEssentiaVibrationChamber.java:35)—— 按 AE2 网络网格节拍工作
  • 内建要素储量上限 64:MAX_ESSENTIA_STORED = 64(TileEVCBase.java:48),并预计算倒数 MAX_ESSENTIA_STORED_RECIPROCAL = 1/64(:53)用于快速换算
  • 按要素类型决定产电速度(TileEssentiaVibrationChamber.java:132-139):
    • 存 Aspect.FIRE(火)→ 处理时间 = 煤炭燃烧时间 / 2,产电 5.0 AE/t
    • 存 Aspect.ENERGY(能量,即 Potentia)→ 处理时间 = 煤炭燃烧时间 / 1.6,产电 5.0 × 1.6 = 8.0 AE/t
    • 煤炭燃烧时间取自 TileEntityFurnace.getItemBurnTime(new ItemStack(Items.coal)),源码未硬编码该值
    • 其余要素使用基础处理时间 pTime,产电为基准值
  • 处理速度被钳制在 20–200(clampProcessingSpeed(),:150-155)
  • 吸取量受储量上限约束:addEssentia 取 Math.min(amount, MAX_ESSENTIA_STORED - storedAmount)(:326)
  • 提供给 ThA 机器的吸取量随储量线性变化:128 * (1 - 0.75 * stored/64)(TileEVCBase.java:220)—— 存量越满可吸量越小
  • 要素与处理状态持久化:StoredEssentia / PwrPerTick / ProcAspect(TileEVCBase.java:43、TileEssentiaVibrationChamber.java:38)

数值

数值名 值 来源
内建要素容量 64 MAX_ESSENTIA_STORED = 64(TileEVCBase.java:48)
基准产电 5.0 AE/t BASE_POWER_PER_TICK = 5.0(TileEssentiaVibrationChamber.java:43)
Potentia(ENERGY) 产电 8.0 AE/t(5.0 × 1.6) BASE_POWER_PER_TICK * 1.6D(:138)
最小 tick 间隔 10 TICKRATE_MIN = 10(:48)
最大 tick 间隔 40 TICKRATE_MAX = 40(:53)
处理速度下限 20 PROCESS_SPEED_MIN = 20(:58)
处理速度上限 200 PROCESS_SPEED_MAX = 200(:58)
时间膨胀除数 100 DILATATION_DIVISOR = 100(:63)
Ignis 处理时间 煤炭燃烧时间 / 2 :136
Potentia 处理时间 煤炭燃烧时间 / 1.6 :137
供 ThA 吸取量公式 128 × (1 − 0.75 × 存量/64) TileEVCBase.java:220
硬度 1.0 BlockEssentiaVibrationChamber.java:39
爆炸抗性 源码未调用 setResistance(0 命中) —

交互

触发 行为
注入要素 addEssentia(Aspect, amount, side, Actionable),超出 64 上限的部分被拒
存量满 停止接受更多要素(:566)
AE2 断电 停止振动发电
要素被 ThA 机器吸走 供给量按存量线性递减
网格节拍 由 IGridTickable 按 10–40 tick 间隔处理

合成配方

无序奥术合成(Shapeless Arcane),FeatureEssentiaVibrationChamber.java:66-72:

成分 物品
1 VibrationChamber(Thaumcraft 要素振动室)
2 Diffusion Core(本 mod)
3 WardedJar(防护罐)

合成所需要素:WATER 2 + ENTROPY 4 + FIRE 7 + ORDER 4(:59-64)。

研究(FeatureEssentiaVibrationChamber.java:80-110):id thaumicenergistics.TEESSVIBCMBR,研究要素 MECHANISM 5 + MAGIC 3 + WATER 1 + MOTION 3 + ENERGY 5,复杂度 COMPLEXITY_MEDIUM(=2),图标为本方块,4 页(说明页 1 + 配方页 + 说明页 2 + 说明页 3),父研究为 getFirstValidParentKey(false),setConcealed() 隐藏。registerPseudoParents() 为空实现(:76)。

可用性受配置 craft_Essentia_Vibration_Chamber(默认 true)控制(ConfigurationHandler.java:122-126)。

相关条目