Oxygen Collector(氧气采集器)

基本信息

属性 值
注册名 galaxia:oxygen_collector
枚举常量 OXYGEN_COLLECTOR(GalaxiaBlocksEnum.java:59)
TileEntity com.gtnewhorizons.galaxia.registry.block.tile.machine.TileEntityOxygenCollector
基类 BlockGalaxiaMachine(registry/block/machine/BlockGalaxiaMachine.java:18)
材质 Material.iron
硬度 3.0
爆炸抗性 10.0
采集等级 镐 level 1
GUI ModularUI(GuiFactories,见基类)

硬度和抗性在 BlockGalaxiaMachine 构造器中统一设置(BlockGalaxiaMachine.java:32-34),三个氧气机器共享同一套数值。

功能

氧气采集器是 Galaxia 氧气链条的生产端:消耗 EU,把周围空气中的植物转化为可存储的氧气单位。

工作循环(TileEntityOxygenCollector.java):

  1. 按 ticksPerOperation 间隔(默认 200 tick = 10 秒)消耗 euPerOperation(默认 32 EU)
  2. 执行 scanLeaves()(第 78 行)扫描周围方块
  3. 扫描半径取 ConfigMachines.collector.scanRadius(默认 3,可调 1–8)
  4. 判定条件为 block.isLeaves(worldObj, x, y, z) || block instanceof BlockSapling(第 89 行) —— 即树叶与树苗都算,熔岩、苔石等非植物方块不算
  5. 缓存叶片数 cachedLeafCount,每片贡献 oxygenPerLeaf(默认 10)氧气(第 70 行)
  6. 氧气写入内部缓冲,上限 maxOxygenBuffer(默认 20000)

叶片数在周期开始时缓存一次(cachedLeafCount = scanLeaves(),第 60 行),周期内不再重扫 —— 玩家在周期中途砍树不会减少本周期产出。

数值

数值 默认值 可调范围 配置键
每次操作耗能 32 EU — machines.collector.eu_per_op
操作间隔 200 tick(10 秒) 20–6000 machines.collector.ticks_per_op
扫描半径 3 格 1–8 machines.collector.scan_radius
每片叶/树苗产氧 10 1–1000 machines.collector.oxygen_per_leaf
氧气缓冲上限 20000 100–1000000 machines.collector.max_oxygen
能量缓冲上限 2000 EU — machines.collector.max_energy

供氧链路

采集器只负责产出氧气,氧气必须送到 Oxygen Pylon 才能补给玩家; 玩家携带的氧气装备由 Oxygen Filler 充能。

相关条目