Galacticraft
[!INFO] Git Commit:
fbdc41b| Updated: 2026-10-02
Galacticraft 是 Minecraft 1.7.10 / Forge 10.13.4.1614 的太空探索模组。本仓库一仓 2 个 modid, 但有 4 个资源域、6 个维度配置项——三者互不对应。
| 属性 | 值 |
|---|---|
| 分类名 | galacticraft(取自仓库名) |
| modid | GalacticraftCore、GalacticraftMars |
| 包名 | micdoodle8.mods.galacticraft(gradle.properties: modGroup) |
| 资源域 | 4 个:galacticraftcore / galacticraftmars / galacticraftmoon / galacticraftasteroids |
| 语言 | 源码 911 个 .java,全部在 micdoodle8/mods/galacticraft/ 下(含 core/asm/GCLoadingPlugin.java,它不是「额外的第 912 个」);0 Scala、0 Kotlin、5 Gradle |
| 源码目录 | /Users/evlos/a/mirror/Galacticraft/ |
一仓 2 个 modid,modid 与类名完全不一致
| modid | 主类 | 常量来源 | 资源域 |
|---|---|---|---|
GalacticraftCore |
GalacticraftCore |
Constants.MOD_ID_CORE |
galacticraftcore |
GalacticraftMars |
GalacticraftPlanets |
Constants.MOD_ID_PLANETS |
galacticraftmars |
@Mod(modid = Constants.MOD_ID_PLANETS) 挂在名为 GalacticraftPlanets 的类上,
但常量值是 GalacticraftMars(core/Constants.java:7-8):
public static final String MOD_ID_CORE = "GalacticraftCore";
public static final String MOD_ID_PLANETS = "GalacticraftMars";
⚠️
Constants里另有MOD_ID_GALAXYSPACE = "GalaxySpace"(:12)、MOD_ID_GRETTECH、MOD_ID_NEW_HORIZONS_CORE_MOD = "dreamcraft"——这些只用于版本检查/依赖判断,本仓库不注册, 不要把它们当成 Galacticraft 的 modid。
资源域 ≠ modid:月球在 Core 下
4 个资源域对应 2 个 modid:
| 资源域 | 归属 modid | 说明 |
|---|---|---|
galacticraftcore |
GalacticraftCore |
氧气管、太阳能板、火箭、机器 |
galacticraftmoon |
GalacticraftCore |
⚠️ 月球内容在 Core,不在 Mars |
galacticraftmars |
GalacticraftMars |
火星方块、Desh 装备 |
galacticraftasteroids |
GalacticraftMars |
⚠️ 小行星带也在 Mars 下 |
实际注册规模(源码实测,集合去重)
| 维度 | 实际数量 | 本 wiki 覆盖 |
|---|---|---|
| 方块 | 73(Core 50 + Mars 10 + Asteroids 13) | 73 |
| 物品 | 85(Core 49 + Mars 36,其中 Asteroids 20) | 85 |
| 实体(非生物) | 17(Core 8 + Mars 4 + Asteroids 5) | 17 |
| 生物( mobs ) | 9(Core 6 + Mars 3) | 9 |
| TileEntity | 55(Core 38 + Mars 10 + Asteroids 7) | 55(0 漏项) |
| 维度配置项 | 6 | 6 |
| 配置 | 3 组 | 1 |
注册项合计 239(73 方块 + 85 物品 + 26 实体 + 55 TileEntity)。 磁盘条目 250,两者差 11 篇非「一类一条」页面:
| 页面 | 数量 | 说明 |
|---|---|---|
tile/tile-entity-ingot-compressor |
1 | 一页覆盖 TileEntityIngotCompressor + TileEntityElectricIngotCompressor(两个注册名) |
tile/tile-entity-landing-pad |
1 | 一页覆盖 TileEntityLandingPad + TileEntityLandingPadSingle(两个注册名) |
tile/tile-entity-oxygen-network |
1 | 氧气系 8 个 TE 的总览;这 8 个另有各自的 1:1 条目,本页不新增覆盖 |
tile/tile-entity-multi |
1 | TileEntityMulti 兼作 5 种多方块结构(NASA 工作台 / 空间站 / 低温仓 / 燃料装填台 / 登陆台) |
tile/tile-entity-treasure-chest |
1 | TileEntityTreasureChest 的注册名随 CompatibilityManager.isAIILoaded() 二选一 |
gui/gui-handlers、network/packet-tables、recipe/recipe-managers |
3 | 体系综述(非注册项) |
setting/config |
1 | 3 个配置管理器综述(非注册项) |
校验:55 个已注册 TileEntity 全部有对应条目,0 个漏项;
53 篇 tile 页面各主 1 个类 + 2 篇各主 2 个类 + 1 篇总览 = 56 篇 tile 页面。
磁盘实测 find data/galacticraft -name '*.md' | wc -l → 250
(73 block + 85 item + 26 entity + 56 tile + 6 dimension + 4 综述/配置)。
⚠️ 「注册类」和「注册所在文件」不是一回事
本分类的方块 / 物品注册分散在 8 个文件里,不只在 GCBlocks / GCItems:
| 模块 | 方块注册 | 物品注册 |
|---|---|---|
| Core 方块 | core/blocks/GCBlocks.java 48 处 + core/GalacticraftCore.java 2(crudeOil、fuel 两种流体块) |
core/items/GCItems.java 47 处 + core/GalacticraftCore.java 2(bucketOil、bucketFuel) |
| Mars 方块 | planets/mars/blocks/MarsBlocks.java 9 处 + planets/mars/MarsModule.java 1(sludge 污泥块) |
planets/mars/items/MarsItems.java 15 处 + planets/mars/MarsModule.java 1(bucketSludge) |
| Asteroids 方块 | planets/asteroids/blocks/AsteroidBlocks.java 13 处 |
planets/asteroids/items/AsteroidsItems.java 20 处 |
只 grep GCBlocks.java 会漏掉 3 个方块(两种油料流体 + 污泥),
只 grep GCItems.java 会漏掉 3 个物品(三个桶)。
这些流体块/桶都带条件门控(BuildCraft Energy / BuildCraft Fluids 存在与否)。
⚠️ 三处「数调用点」陷阱
| 陷阱 | 说明 |
|---|---|
grep registerItem 只看 GCItems.java |
漏掉 MarsItems.java(15 + bucketSludge)、AsteroidsItems.java(20)与 GalacticraftCore.java / MarsModule.java 里的 3 个桶,47 ≠ 85 |
registerItem 辅助方法有三个同名实现 |
GCItems.java:330-332 写死 Constants.MOD_ID_CORE;MarsItems.java:79-81 与 AsteroidsItems.java:114-116 各自写死 Constants.MOD_ID_PLANETS。Mars/Asteroids 不调用 Core 那个方法——所以「Mars 物品被注册到 Core 名下」是不成立的 |
| 单一注册覆盖多个变体 | ItemBasicMars(7 变体)、ItemBasicAsteroids(9)、ItemBasic(21)各自只算 1 个物品,但游戏内是数十种物品——按 names[] 数组下标取名 |
方块(73)
- air-lock-frame -
BlockAirLockFrame - air-lock-seal -
BlockAirLockWall - aluminum-wire -
BlockAluminumWire - arclamp -
BlockBrightLamp - asteroids-block -
BlockBasicAsteroids - beam-receiver -
BlockBeamReceiver - beam-reflector -
BlockBeamReflector - breatheable-air -
BlockBreathableAir - bright-air -
BlockBrightAir - bright-breathable-air -
BlockBrightBreathableAir - cargo -
BlockCargoLoader - cavern-vines -
BlockCavernousVine - cheese -
(未在注册类中直接构造,见源码) - crude-oil-still -
BlockFluidGC - creeper-egg -
BlockCreeperEgg - dense-ice -
BlockIceAsteroids - dish -
BlockDish - distributor -
BlockOxygenDistributor - dummyblock -
BlockMulti - enclosed -
BlockEnclosed - fallen-meteor -
BlockFallenMeteor - fuel -
BlockFluidGC - fuel-loader -
BlockFuelLoader - gc-block-core -
BlockBasic - glowstone-torch -
BlockGlowstoneTorch - hydrogen-pipe -
BlockHydrogenPipe - landing-pad-full -
BlockLandingPadFull - landing-pad -
BlockLandingPad - machine-tiered -
BlockMachineTiered - machine -
BlockMachine - machine2 -
BlockMachine2 - mars-cobblestone-stairs -
BlockStairsGC - mars-dungeon-bricks-stairs -
BlockStairsGC - mars-machine-t2 -
BlockMachineMarsT2 - mars-machine -
BlockMachineMars - mars -
BlockBasicMars - miner-base-full -
BlockMinerBaseFull - miner-base -
BlockMinerBase - moon-bricks-stairs -
BlockStairsGC - moon-stone-stairs -
BlockStairsGC - moon-stone -
(未在注册类中直接构造,见源码) - oxygen-collector -
BlockOxygenCollector - oxygen-compressor -
BlockOxygenCompressor - oxygen-detector -
BlockOxygenDetector - oxygen-pipe -
BlockOxygenPipe - parachest -
BlockParaChest - refinery -
BlockRefinery - rocket-workbench -
BlockNasaWorkbench - sealer -
BlockOxygenSealer - slabgc-double -
BlockSlabGC - slabgc-half -
BlockSlabGC - sludge -
BlockSludge - slimeling-egg -
BlockSlimelingEgg - solar -
BlockSolar - space-station-base -
BlockSpaceStationBase - spin-thruster -
BlockSpinThruster - telemetry -
BlockTelemetry - telepad-fake -
BlockTelepadFake - telepad-short -
BlockShortRangeTelepad - tin-stairs1 -
BlockStairsGC - tin-stairs2 -
BlockStairsGC - treasure-chest -
BlockT1TreasureChest - treasure-t2 -
BlockTier2TreasureChest - treasure-t3 -
BlockTier3TreasureChest - unlit-torch-lit-stone -
BlockUnlitTorch - unlit-torch-lit -
BlockUnlitTorch - unlit-torch-stone -
BlockUnlitTorch - unlit-torch -
BlockUnlitTorch - view-screen -
BlockScreen - walkway-oxygen-pipe -
BlockWalkway - walkway-wire -
BlockWalkway - walkway -
BlockWalkway - wall-gc -
BlockWallGC
物品(85)
- air-fan -
ItemBase - air-vent -
ItemBase - atmospheric-valve -
ItemAtmosphericValve - basic-item-core -
ItemBasic - basic-item-mars -
(无参构造,名称由基类派生) - battery -
ItemBattery - buggy -
ItemBuggy - bucket-fuel -
ItemBucketGC - bucket-oil -
ItemBucketGC - buggymat -
ItemBuggyMaterial - canister-partial-ln2 -
ItemCanisterLiquidNitrogen - canister-partial-lox -
ItemCanisterLiquidOxygen - canister -
ItemCanister - canvas -
ItemBase - bucket-sludge -
ItemBucketGC - carbon-fragments -
ItemCarbonFragments - cheese-curd -
(无参构造,名称由基类派生) - desh-axe -
ItemAxeMars - desh-boots -
ItemArmorMars - desh-chestplate -
ItemArmorMars - desh-helmet -
ItemArmorMars - desh-hoe -
ItemHoeMars - desh-leggings -
ItemArmorMars - desh-pick-slime -
ItemPickaxeStickyMars - desh-pick -
ItemPickaxeMars - desh-spade -
ItemSpadeMars - desh-sword -
ItemSwordMars - engine -
ItemRocketEngineGC - flag -
ItemFlag - fuel-canister-partial -
ItemFuelCanister - grapple -
ItemGrappleHook - heavy-nose-cone -
ItemHeavyNoseCone - heavy-plating -
ItemBase - infinite-battery -
ItemBatteryInfinite - infinite-oxygen -
ItemCanisterOxygenInfinite - item-astro-miner -
ItemAstroMiner - item-tier3-rocket -
ItemTier3Rocket - key-core -
ItemKey - key-mars -
ItemKeyMars - mars-item-basic -
(无参构造,名称由基类派生) - meteor-chunk -
ItemMeteorChunk - meteoric-iron-ingot -
ItemMoon - meteoric-iron-raw -
ItemMeteoricIron - methane-canister-partial -
ItemCanisterMethane - nose-cone -
ItemBase - oil-canister-partial -
ItemOilCanister - oil-extractor -
ItemOilExtractor - orion-drive -
ItemOrionDrive - oxygen-concentrator -
ItemBase - oxygen-gear -
ItemOxygenGear - oxygen-mask -
ItemOxygenMask - oxygen-tank-heavy-full -
ItemOxygenTank - oxygen-tank-light-full -
ItemOxygenTank - oxygen-tank-med-full -
ItemOxygenTank - oxygen-tank-super-heavy-full -
ItemOxygenTank - oxygen-tank-ultra-heavy-full -
ItemOxygenTank - parachute -
ItemParaChute - rocket-fins -
ItemBase - schematic-core -
ItemSchematic - schematic-mars -
ItemSchematicTier2 - sensor-glasses -
ItemSensorGlasses - sensor-lens -
ItemBase - spaceship-tier2 -
ItemTier2Rocket - spaceship -
ItemTier1Rocket - standard-wrench -
ItemUniversalWrench - steel-axe -
ItemAxeGC - steel-boots -
ItemArmorGC - steel-chestplate -
ItemArmorGC - steel-helmet -
ItemArmorGC - steel-hoe -
ItemHoeGC - steel-leggings -
ItemArmorGC - steel-pickaxe -
ItemPickaxeGC - steel-pole -
ItemBase - steel-shovel -
ItemSpadeGC - steel-sword -
ItemSwordGC - thermal-padding -
ItemThermalPadding - titanium-axe -
ItemAxeAsteroids - titanium-boots -
ItemArmorAsteroids - titanium-chestplate -
ItemArmorAsteroids - titanium-helmet -
ItemArmorAsteroids - titanium-hoe -
ItemHoeAsteroids - titanium-leggings -
ItemArmorAsteroids - titanium-pickaxe -
ItemPickaxeAsteroids - titanium-shovel -
ItemSpadeAsteroids - titanium-sword -
ItemSwordAsteroids
实体(26)
- alien-villager -
EntityAlienVillager - astro-miner -
micdoodle8.mods.galacticraft...EntityAstroMiner - buggy -
micdoodle8.mods.galacticraft...EntityBuggy - cargo-rocket -
micdoodle8.mods.galacticraft...EntityCargoRocket - celestial-screen -
micdoodle8.mods.galacticraft...EntityCelestialFake - creeper-boss -
EntityCreeperBoss - entry-pod-asteroids -
micdoodle8.mods.galacticraft...EntityEntryPod - evolved-creeper -
EntityEvolvedCreeper - evolved-skeleton-boss -
EntitySkeletonBoss - evolved-skeleton -
EntityEvolvedSkeleton - evolved-spider -
EntityEvolvedSpider - evolved-zombie -
EntityEvolvedZombie - gcflag -
micdoodle8.mods.galacticraft...EntityFlag - grapple-hook-gc -
micdoodle8.mods.galacticraft...EntityGrapple - lander -
micdoodle8.mods.galacticraft...EntityLander - landing-balloons -
micdoodle8.mods.galacticraft...EntityLandingBalloons - meteor-chunk -
micdoodle8.mods.galacticraft...EntityMeteorChunk - meteor -
micdoodle8.mods.galacticraft...EntityMeteor - para-chest -
micdoodle8.mods.galacticraft...EntityParachest - projectile-tnt -
micdoodle8.mods.galacticraft...EntityProjectileTNT - slimeling -
EntitySlimeling - sludgeling -
EntitySludgeling - small-asteroid-gc -
micdoodle8.mods.galacticraft...EntitySmallAsteroid - spaceship-t2 -
micdoodle8.mods.galacticraft...EntityTier2Rocket - spaceship -
micdoodle8.mods.galacticraft...EntityTier1Rocket - tier3-rocket-gc -
micdoodle8.mods.galacticraft...EntityTier3Rocket
维度(6)
- asteroids(GalacticraftMars)
- mars(GalacticraftMars)
- moon(GalacticraftCore)
- overworld-orbit-static(GalacticraftCore)
- overworld(GalacticraftCore)
- space-station(GalacticraftCore)
配置(1)
依赖范围
| 依赖 | relation.md 状态 | 处理 |
|---|---|---|
| NotEnoughItems | 无此行 → 不在收录范围 | 明确写出,未建分类 |
| gtnhlib | 有行,尚未成文 | 可留前向引用,本页未引用 |
| BuildCraft|Core / |Energy | 已登记(buildcraft),✓ 完成 |
见下 |
| Mantle | 已登记,✓ 完成 | 软依赖 |
| PlayerAPI | 无此行 → 不在收录范围 | 明确写出,未建分类 |
| IC2 / TConstruct | 无此行 → 不在收录范围 | after: 软依赖,明确写出 |
GalacticraftCore 的 @Mod(dependencies = ...)(GalacticraftCore.java:166)原文:
required-after:NotEnoughItems;before:GalaxySpace;after:IC2;after:TConstruct;after:Mantle;
after:BuildCraft|Core;after:BuildCraft|Energy;after:PlayerAPI@[1.3,);after:gtnhlib@[0.3.1,);
注意它是 after:BuildCraft|Core / after:BuildCraft|Energy——依赖 BuildCraft 的两个具体 modid,
而 BuildCraft|Core 本身带 | 分隔符。
源码缺陷汇总
| # | 缺陷 | 位置 |
|---|---|---|
| 1 | modid GalacticraftMars 挂在名为 GalacticraftPlanets 的类上,MOD_ID_PLANETS 常量名与值不一致 |
core/Constants.java:8、planets/GalacticraftPlanets.java:37 |
| 2 | registerItem(Item) 有三份同名实现且各自硬编码不同 modid:GCItems → MOD_ID_CORE,MarsItems / AsteroidsItems → MOD_ID_PLANETS。同名不同实现,grep 极易张冠李戴 |
core/items/GCItems.java:330-332、planets/mars/items/MarsItems.java:79-81、planets/asteroids/items/AsteroidsItems.java:114-116 |
| 3 | 三个火星小怪(Sludgeling / Slimeling / CreeperBoss)传入完全相同的背部/腹部颜色 255,0,50,0 / 255,0,150,0,与各自生物无关(复制粘贴) |
planets/mars/MarsModule.java:255-272 |
| 4 | EntitySkeletonBoss 的注册名是 EvolvedSkeletonBoss——类名没有 Evolved,注册名有 |
GalacticraftCore.java:750 |
| 5 | 变量名 infiniteBatery——Batery 少了 t(注册名本身拼写正确,是 infiniteBattery) |
core/items/GCItems.java:61、:120、:228、:318 |
| 6 | 资源域 galacticraftmoon / galacticraftasteroids 与 modid 划分不对应,按资源域推断 modid 必错 |
src/main/resources/assets/ |
| 7 | 存在被注释掉的实体注册(EntityBubble、EntityTerraformBubble),naive grep 会把它们算进去 |
GalacticraftCore.java:764-765、MarsModule.java:274-276 |
| 8 | 6 个 unlocalizedName 各被两个不同 Item 类共用:boots / chestplate / helmet / leggings(GC 钢装 vs 小行星钛装)、key(ItemKey vs ItemKeyMars)、schematic(ItemSchematic vs ItemSchematicTier2)。因 modid 不同(GalacticraftCore:* vs GalacticraftMars:*)不冲突,但按 unlocalizedName 反查类必然张冠李戴 |
GCItems.java:295-298、AsteroidsItems.java:97-100;GCItems.java:313 vs MarsItems.java:75;GCItems.java:312 vs MarsItems.java:76 |
| 9 | idDimensionOverworld 维度注册时传的是原版 net.minecraft.world.WorldProvider,不是任何 GC 的 WorldProviderSpace;该类实际位于 api/prefab/world/gen/,不是 core/dimension/ |
GalacticraftCore.java:293、api/prefab/world/gen/WorldProviderSpace.java:26 |
| 10 | 两个「注册名藏在方块/物品自己的构造器里」的例子:GCBlocks 写的是无参 new BlockBasicMoon() / new BlockCheese(),注册名 moonBlock / cheeseBlock 来自各自构造器内的 setBlockName(...),在 GCBlocks.java 里 grep 不到 |
GCBlocks.java:126-127;BlockBasicMoon.java:54、BlockCheese.java:32 |
| 11 | MarsItems.marsItemBasic 是全分类唯一没有 setUnlocalizedName 的注册物品,注册名由 Item 基类默认实现兜底成 item.itemBasicMars |
MarsItems.java:34、ItemBasicMars.java:71-77 |
| <!-- AUTO-INDEX:START --> |
完整索引(自动生成)
本节由
tools/sync_catpage_index.py从磁盘实际文件生成,共 250 个条目。 上面各节是人工撰写的概览;任何未在上面出现的条目都在这里。 重新生成:删掉本节两个<!-- AUTO-INDEX -->标记之间的内容后重跑脚本。
block/(73)
全部 73 个条目已在上文列出。
dimension/(6)
全部 6 个条目已在上文列出。
entity/(26)
全部 26 个条目已在上文列出。
gui/(1)
| 条目 | 条目 | 条目 | 条目 |
|---|---|---|---|
| Galacticraft GUI 层:2 个 IGuiHandler + 14 个 GUI ID |
item/(85)
全部 85 个条目已在上文列出。
network/(1)
| 条目 | 条目 | 条目 | 条目 |
|---|---|---|---|
| Galacticraft 封包层:3 个枚举式包表,共 80 个包类型 |
recipe/(1)
| 条目 | 条目 | 条目 | 条目 |
|---|---|---|---|
| Galacticraft 配方体系:3 个 RecipeManager + 4 个 API 级配方库 |
setting/(1)
全部 1 个条目已在上文列出。
tile/(56)
<!-- AUTO-INDEX:END -->