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):
- 按
ticksPerOperation间隔(默认 200 tick = 10 秒)消耗euPerOperation(默认 32 EU) - 执行
scanLeaves()(第 78 行)扫描周围方块 - 扫描半径取
ConfigMachines.collector.scanRadius(默认 3,可调 1–8) - 判定条件为
block.isLeaves(worldObj, x, y, z) || block instanceof BlockSapling(第 89 行) —— 即树叶与树苗都算,熔岩、苔石等非植物方块不算 - 缓存叶片数
cachedLeafCount,每片贡献oxygenPerLeaf(默认 10)氧气(第 70 行) - 氧气写入内部缓冲,上限
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 充能。
相关条目
- Oxygen Pylon(氧气塔) - 把氧气分发给范围内的玩家
- Oxygen Filler(氧气填充器) - 给玩家氧气罐充能
- 发射台与空间站结构 - 供氧设施的摆放位置