月面地表方块总表(9 个)
PlanetBlocks.java 的 /* MOON blocks */ 分节注册了 9 个月面地表方块
(PlanetBlocks.java:17-70)。它们由 PlanetBlockBuilder 构造,
类初始化由 core/CommonProxy.java:88 的 PlanetBlocks.init() 触发。
这 9 个方块与 GalaxiaBlocksEnum 里那 30 个 moon_*_bricks 装饰方块
(月面装饰方块总表(30 个))是两套完全不同的东西:
本表的 9 个会被月面维度世界生成真的铺进世界里、可挖可掉;
装饰方块那 30 个零世界生成引用。
注册名与源码
| 注册名 | 显示名 | 方块类 | 硬度 | 采集工具/等级 | 掉落 | 源码行 |
|---|---|---|---|---|---|---|
galaxia:moon_regolith |
Lunar Regolith | BlockPlanetGalaxiaFalling |
1.0F | 镐 / 1 | 自身 | PlanetBlocks.java:17 |
galaxia:moon_magma |
Lunar Magma | BlockPlanetGalaxiaGeneral |
0.5F | 镐 / 0 | 自身 | PlanetBlocks.java:24 |
galaxia:moon_gabbro |
Lunar Gabbro | BlockPlanetGalaxiaGeneral |
1.5F | 镐 / 1 | 自身 | PlanetBlocks.java:30 |
galaxia:moon_breccia |
Lunar Breccia | BlockPlanetGalaxiaGeneral |
1.5F | 镐 / 1 | 自身 | PlanetBlocks.java:36 |
galaxia:moon_basalt |
Lunar Basalt | BlockPlanetGalaxiaGeneral |
1.5F | 镐 / 1 | 自身 | PlanetBlocks.java:42 |
galaxia:moon_anorthosite |
Lunar Anorthosite | BlockPlanetGalaxiaGeneral |
1.5F | 镐 / 1 | 自身 | PlanetBlocks.java:48 |
galaxia:moon_andesite |
Lunar Andesite | BlockPlanetGalaxiaGeneral |
1.5F | 镐 / 1 | 自身 | PlanetBlocks.java:54 |
galaxia:moon_obsidian |
Lunar Obsidian | BlockPlanetGalaxiaGeneral |
50.0F | 镐 / 3 | 自身 | PlanetBlocks.java:60 |
galaxia:moon_tektite |
Lunar Tektite | BlockPlanetGalaxiaGeneral |
2.0F | 镐 / 1 | Lunar Tektite Shard | PlanetBlocks.java:66 |
共同属性
| 属性 | 值 |
|---|---|
| 材质 | Material.rock(BlockPlanetGalaxiaGeneral.java:28、BlockPlanetGalaxiaFalling.java:26) |
| TileEntity | 无 |
| 纹理路径 | galaxia:<注册名前的维度段>/<注册名>(如 galaxia:moon/moon_basalt) |
| 爆炸抗性 | 源码未定义 —— PlanetBlockBuilder 没有任何 resistance setter,全文未调用 setResistance;抗性落到 vanilla Block 基类默认行为 |
| 滑度 | 字段存在但从未生效 —— PlanetBlockBuilder.java:22 定义 slipperiness = 0.6F,传入构造器后仅赋给字段,三个方块类都没有任何方法读取它 |
| 创造模式页签 | Galaxia.creativeTab(PlanetBlockBuilder.java:127,注册名与 Block 构造器里重复设置一次) |
| 是否多方块一部分 | 否 |
| 合成配方 | 无。全 mod 无 addRecipe / 配方 JSON |
是否需要特殊环境才能放置
不需要。 三个 Planet 方块类(BlockPlanetGalaxiaGeneral、
BlockPlanetGalaxiaFalling、BlockPlanetTransparentGalaxia)都没有覆写
canPlaceBlockAt,也没有任何维度判定;全 mod 搜索 BlockPlaceEvent /
canPlaceBlockAt 只命中 BlockGantry(发射架)与 BlockUpdatable,
与本表无关。
所以这 9 个方块在主世界、太空、月面维度都能正常放置。 「月面地表方块」指的是世界生成会把它们铺在月面, 而不是「只有月面才能放」。
在 GTNH 里的实际用途
月面是 Galaxia 三个真正接了世界生成的维度之一
(CelestialRegistry.java:618 的 .worldGeneration(Moon::configureWorldProvider))。
9 个方块里 8 个被世界生成引用,1 个没有:
| 方块 | 月面世界生成中的角色 | 源码 |
|---|---|---|
moon_regolith |
陆块生物群系的 topBlock(地表顶层,Moon.java:217);陨石坑的判定条件之一(:227、:288) |
Moon.java:217、:227、:288 |
moon_andesite |
陆地生物群系 height > 32 的填充岩(:209、:221);地下石笋来源(:237-239);汞泉与晶洞的触发条件(:251、:258) |
Moon.java:209、:221、:237-239、:251、:258 |
moon_anorthosite |
陆地生物群系 height <= 32(深层)的填充岩(:210、:220);地下石笋来源(:231-234);晶簇触发条件(:244) |
Moon.java:210、:220、:231-234、:244 |
moon_basalt |
海洋生物群系的 topBlock(:277)与深层填充岩(:269、:281);陆地/海洋海洋填充(:263、:291);陨石坑判定条件(:227、:288) |
Moon.java:263、:269、:277、:281、:291 |
moon_gabbro |
海洋生物群系 height <= 32 的填充岩(:270、:280) |
Moon.java:270、:280 |
moon_magma |
海洋裂隙填充(oceanCracks(0.3F, MOON_MAGMA, 4),:292);陨石坑替换方块(:65、:77) |
Moon.java:65、:77、:292 |
moon_obsidian |
海洋的 oceanFiller 与 seabed(陆块生物群系海洋高度 1,:263;海洋生物群系海平面 56,:291) |
Moon.java:263、:291 |
moon_tektite |
CraterFeature 的 tektite,即陨石坑撞击点替换成的方块(陆地稀有度默认,:226;海洋稀有度 64,:286-287) |
Moon.java:226、:286-287 |
moon_breccia |
无任何世界生成引用 —— 静态导入列表(Moon.java:3-10)里就没有它,全文 0 命中 |
— |
moon_tektite 的地壳系统值得单说:月面 createLandBiome 挂了一个
GeodeFeature(稀有度 32,高度 16-96,条件是 moon_anorthosite 或 moon_andesite,
Moon.java:253-261),但它的 shell / crystal 用的是 vanilla Blocks.glass(:259)和
Blocks.stained_glass(:260),不是 Galaxia 自己的方块。
同一个 createLandBiome 还挂了 CrystalClusterFeature,
晶簇是 GalaxiaBlocksEnum.BLOCK_OF_CINNABAR
(Block of Cinnabar(辰砂块),Moon.java:241-246,方块本身在 :245)。
⚠️ 本表的
Moon.java行号此前整体偏小 1 行(如moon_regolith写成:216、 实为:217),已按源码逐条订正;表中的角色描述经复核全部正确,未作改动。
掉落
只有 moon_tektite 的掉落不是自身 —— 它掉
Lunar Tektite Shard(PlanetBlocks.java:67)。
其余 8 个 .dropSelf(),掉自身。
moon_regolith 是 BlockFalling(受重力下落),另外 8 个是普通方块。
相关条目
同属 PlanetBlocks 地表方块:
- 火星地表方块总表(14 个) - 另一个已接世界生成的行星
- 冻结带方块总表(6 个) - 第三个已接世界生成的维度
- Liquid Mercury(水银) -
Moon.java:250在月面地下生成的水银泉
月面其它东西:
- 月面装饰方块总表(30 个) - 另一套
moon_*_bricks,无世界生成 - Block of Cinnabar(辰砂块) - 月面晶簇实际产出的方块
- Lunar Tektite Shard - 挖
moon_tektite的掉落