Galaxia
[!INFO] Git Commit:
a9128e9| Updated: 2026-10-02
📌 本页原记的 commit
ef612c0在Evlos/mirror/Galaxia中不存在 (git cat-file -t ef612c0→Not a valid object name)。已更正为审计时的实际 HEADa9128e9(map GTNH celestial systems and complete planetary resources (#386))。
Galaxia 是 GregTech 5 的太空探索附属 mod,由 GTNewHorizons 维护。主题是把玩家从地面送上月球 → 火星 → Tenebrae(小卫星),沿途通过氧气系统维持生命,并在终点建造火箭与深空空间站。整条流程分为三段地面/轨道设施:月面研究前哨站(Research Outpost)、发射台(Launchpad)、空间站(Gantry)。
依赖声明(@Mod,core/Galaxia.java:22):
acceptedMinecraftVersions = "[1.7.10]"
dependencies = "required-after:gregtech;after:gtnhlib"
即 必需前置 GregTech 5,GTNHLib 可选。
注册总览(别只看两个枚举)
Galaxia 的注册面远大于 GalaxiaBlocksEnum + GalaxiaItemList 这两个枚举,
总计 121 方块 / 40 物品:
| 来源 | 方块 | 物品 | 初始化位置 |
|---|---|---|---|
registry/block/GalaxiaBlocksEnum.java |
70(13 带 TileEntity + 57 无) | — | core/CommonProxy.java:87 |
registry/block/PlanetBlocks.java |
51(月面 9 / 火星 14 / Tenebrae 10 / 冻结带 6 / 小行星壳 8 + 4 流体方块) | — | core/CommonProxy.java:88 |
registry/items/GalaxiaItemList.java |
— | 36 | core/CommonProxy.java:86 |
FluidFiniteBuilder(桶) |
— | 4 | PlanetBlocks.java:343-361 |
下面「机器方块」「结构方块」两节统计的是枚举里的 70 个;
PlanetBlocks的 51 个另由 5 张地表方块总表 + 4 个流体方块条目覆盖 (见完整索引)。全 mod 不定义任何合成配方 (无CraftingManager/ShapedRecipes,也无配方 JSON)。
重要实现细节:注册名 ≠ 枚举常量名
Galaxia 全部方块/物品通过 Java enum 注册,注册名取 字符串参数的最后一个 / 段(registry/items/GalaxiaItemList.java:97-99):
int last = textureAndName.lastIndexOf('/');
this.registryName = (last >= 0) ? textureAndName.substring(last + 1) : textureAndName;
BlockCasing(block/base/BlockCasing.java:22-23)与 BlockConfigurable(block/base/BlockConfigurable.java:26-27)用同样规则。因此:
- 枚举常量
ITEM_TELEPORTER("tool/teleporter")→ 实际注册名galaxia:teleporter - 枚举常量
LAUNCHPAD_CASING(new BlockConfigurable("machine/launchpad"))→galaxia:launchpad - 枚举常量
FUMAROLE(...)→galaxia:tenebrae_fumarole(注册名与常量名完全无关)
查 /give 物品时必须用注册名,不能用枚举常量名。
机器方块(13 个带 TileEntity)
全部 13 个机器注册在 GalaxiaBlocksEnum(registry/block/GalaxiaBlocksEnum.java:49-61)。
- Oxygen Collector(氧气采集器) - 扫描半径内树叶/树苗并转化为氧气,配置项可调扫描半径与每片叶子产氧量
- Oxygen Filler(氧气填充器) - 把氧气缓冲灌入玩家氧气罐与面罩
- Oxygen Pylon(氧气塔) - 按周期向范围内玩家推送氧气,是「供氧区」的核心
- Silo Controller(发射井控制器) - 发射台流程的起点方块
- Station Controller(空间站控制器) - 空间站核心,持有氧气衰减与气闸状态
- Airlock Controller(气闸控制器) - 气闸主控,配合气闸门工作
- Module Assembler Controller(模块装配器) - 组装火箭模块的机器
- Gantry Block(龙门吊基座) - 空间站建造的承重方块,硬度 1.5 / 抗性 10
- Gantry Terminal(龙门吊终端) - 龙门吊的操作终端
- Hammer Cannon(锤击炮) - 发射台上的锤击机构
- Hammer Target(锤击目标) - 锤击炮的配套目标方块
- Rocket Trophy(火箭奖杯) - 成就性质方块
- Tenebrae Fumarole(喷气孔) - Tenebrae 火山喷气装饰方块
结构方块(57 个无 TileEntity)
空间站外壳
galaxia:space_station_glass、galaxia:space_station_panel、galaxia:space_station_block、
galaxia:cooling_coil、galaxia:heating_coil、galaxia:air_purifier、galaxia:wither_blocker、galaxia:oxygenator
发射台(Launchpad)
galaxia:launchpad、galaxia:launchpad_framebox、galaxia:launchpad_reinforcement、
galaxia:launchpad_assembling_casing、galaxia:launchpad_sheeting
锈蚀工业方块
galaxia:rusty_scaffolding、galaxia:rusty_panel、galaxia:rusty_sheetmetal、galaxia:rusty_iron_block
资源方块
galaxia:block_of_pyrite、galaxia:block_of_cheese、galaxia:block_of_cinnabar、
galaxia:meteoric_iron_block、galaxia:raw_sulfur_block、galaxia:enchanted_block_of_cinnabar
特殊
galaxia:airlock_door(气闸门,继承 BlockOpenable,硬度 2.0 / 抗性 10)、
galaxia:airlock_casing、galaxia:research_outpost_casing、galaxia:bleeding_obsidian(硬度 16 / 抗性 500)
月面装饰方块(30 个 = 6 系 × 5 变体)
以 moon_ 为前缀,材质分 6 系 × 5 变体,枚举定义在 GalaxiaBlocksEnum.java:87-116(// -- MOON -- 分节):
变体(5,注册名一律用复数):bricks / smooth / tiles / small_bricks / fancy_bricks
枚举常量名则不统一:andesite、basalt、tektite、breccia 四系用单数常量 (
MOON_ANDESITE_BRICK…),gabbro、anorthosite 两系用复数常量 (MOON_GABBRO_BRICKS…)。注册名与常量名都要按各自规则数。 逐条对照见 月面装饰方块。
- 铁镁质系:
moon_andesite_*、moon_basalt_* - 玻璃质系:
moon_tektite_*、moon_anorthosite_* - 碎屑岩系:
moon_breccia_*、moon_gabbro_*
⚠️ 本节此前写成「5 系 × 6 变体」并列出
moon_olivine_*/moon_apatite_*/moon_diopside_*, 三个系列在 1.7.10 源码中完全不存在(全仓diopside命中 0),属凭空造物,已订正。真实身份辨析(避免再次混淆):
olivine出现在asteroid_belt/olivine_asteroid_shell(PlanetBlocks.java:315)——小行星带方块,不是月面ore.mix.olivine/ore.small.olivine/ore.mix.apatite出现在CelestialRegistry.java——矿物矿脉生成项,不是方块月面装饰方块均无 TileEntity,仅提供建材外观,不影响功能。
物品列表
以下 17 个物品有独立条目:
工具(4)
- Teleporter(传送器) - 核心传送物品,注册名
teleporter(无item_前缀) - Galactic Map(银河地图) - 星球地图与传送目的地选择
- Rocket Schematic(火箭图纸) - 注册名
schematic,不含rocket前缀 - Kinetic Tether(动能系绳) - 注册名
kinetic_tether
氧气装备(5)
- Oxygen Tank T1 - 容量 1000
- Oxygen Tank T2 - 容量 4000
- Oxygen Tank T3 - 容量 16000
- Creative Oxygen Tank - 容量
Integer.MAX_VALUE,纹理路径却是gear/oxygen_tank_4(游戏内名以 lang 为准,文件名沿用枚举常量) - Oxygen Mask(氧气面罩) - 不能被 Oxygen Filler 充能
环境防护(7)
- Spore Filter(孢子滤清器) - 过滤孢子
- Protection Shield - Pressure High - 构造参数
(4, 0, 0) - Protection Shield - Pressure Low - 构造参数
(0, 1, 0) - Protection Shield - Radiation - 构造参数
(0, 0, 10) - Thermal Protection - Cold - 构造参数
(0, 100) - Thermal Protection - Hot - 构造参数
(100, 0) - Wither Protection(凋灵防护) - 防凋灵
反应控制(1)
- Reaction Control System(反作用控制系统) - 枚举常量带
_T1但注册名不带
原有 19 个无独立条目的对象(现只剩 1 个仍未成文)
矿石与世界生成材料(15):
galaxia:moon_dust、galaxia:moon_tektite_shard、galaxia:mars_dust、galaxia:mars_tektite_shard、
galaxia:mars_ice_cubes、galaxia:cinnabar_scale、galaxia:enchanted_cinnabar_scale、galaxia:amber_shard、
galaxia:psychedelic_amber_shard、galaxia:pyrite_cubes、galaxia:hematite_dust、galaxia:hematite_ingot、
galaxia:meteoric_iron_ingot、galaxia:meteoric_iron_shard、galaxia:raw_meteoric_iron
零件(3):galaxia:heavy_duty_plate_base、galaxia:satellite_dish、galaxia:borosilicate_glass_bar
装饰(1):galaxia:galaxia_logo
本节标题原写「21 个」,但下列三组实际只有 15 + 3 + 1 = 19 个,已订正为 19。 其中除
galaxia_logo外,其余 18 个现均已补出独立条目(见上文自动索引与 「原有 21 个无独立条目的对象」小节)——galaxia_logo是唯一仍无条目的对象。列表原把第 9 项写成
galaxia:enchanted_amber_shard,那是不存在的注册名, 与紧随其后的 ⚠️ 警告自相矛盾;已改为真实注册名galaxia:psychedelic_amber_shard。
⚠️
ENCHANTED_AMBER_SHARD的注册名是psychedelic_amber_shard,不是enchanted_amber_shard。GalaxiaItemList.java:52写的是ENCHANTED_AMBER_SHARD("ore/psychedelic_amber_shard"), 而注册名取路径最后一段(同文件:98-99的注册规则),lang 键也是item.galaxia.psychedelic_amber_shard.name。 本节此前把注册名写成enchanted_amber_shard,恰好与纹理路径搞反了 —— 三处命名互不相同: 枚举名ENCHANTED_AMBER_SHARD/ 纹理与注册名psychedelic_amber_shard/ 显示名Enchanted Amber Shard。
机器数值(配置项)
全部机器参数可在 core/config/ConfigMachines.java 调整,默认值如下:
| 机器 | 每次操作耗能 | 操作间隔 (tick) | 其他默认值 |
|---|---|---|---|
| Oxygen Collector | 32 EU | 200(10 秒) | 扫描半径 3、每片叶/树苗 10 氧气、氧气上限 20000、能量上限 2000 EU |
| Oxygen Pylon | 64 EU | 20(1 秒) | 每玩家每周期 100 氧气、氧气上限 20000、能量上限 4000 EU |
| Oxygen Filler | 32 EU | 40(2 秒) | 每次转移 200 氧气、氧气上限 10000、能量上限 2000 EU |
能量制式可在 ConfigMachines.energy.useRF 切换为 RF,换算比例 rfPerEU = 4(4 RF = 1 EU),范围 1–100。
空间站氧气衰减
registry/celestial/station/TileStation.java:49-50 定义:
| 常量 | 值 | 作用 |
|---|---|---|
OXYGEN_FACTOR |
1 | 氧气系数 |
OXYGEN_DECAY_RATE |
1 | 每 tick 衰减量(TileStation.java:345) |
相关条目
- gregtech - 硬依赖,
@Mod(dependencies = "required-after:gregtech;after:gtnhlib")(core/Galaxia.java:27) - baubles-expanded - 编译期依赖
Baubles-Expanded:2.2.21-GTNH(dependencies.gradle:66);氧气罐、防护面罩、孢子过滤器等护符物品实现baubles.api.expanded.IBaubleExpanded
gtnhlib(dependencies.gradle:39的GTNHLib:0.11.33)是第三个依赖, 但本 wiki 没有gtnhlib分类页,故此处不给链接。
多方块结构列表
Galaxia 全部 5 个多方块结构均基于 StructureLib 实现(GalaxiaMultiblockBase):
- 发射井(Silo) - 12×8 发射台主体,含 3 个龙门吊终端候选位(实际只有 1 个生效)
- 模块装配器(Module Assembler) - 3×3×5 装配结构,串行装配火箭模块
- 气闸(Airlock) - 5×5 气闸,外壳 casing 环 + 内部 3×3 气闸门
- 锤击炮(Hammer Cannon) - 5×5×5 发射台锤击机构
- 锤击目标(Hammer Target) - 锤击炮的配套承接结构
- 多方块结构索引 - 全部多方块的符号约定与控制器对照表 <!-- AUTO-INDEX:START -->
完整索引(自动生成)
本节由
tools/sync_catpage_index.py从磁盘实际文件生成,共 95 个条目。 上面各节是人工撰写的概览;任何未在上面出现的条目都在这里。 重新生成:删掉本节两个<!-- AUTO-INDEX -->标记之间的内容后重跑脚本。
block/(50)
上文已链出 13 个;以下 37 个为新增补齐:
item/(39)
上文已链出 16 个;以下 23 个为新增补齐:
structure/(6)
全部 6 个条目已在上文列出。
<!-- AUTO-INDEX:END -->