Structure Under Desert Pyramid
基本信息
| 属性 | 值 |
|---|---|
| 类 | gcewing.sg.worldgen.FeatureUnderDesertPyramid(worldgen/FeatureUnderDesertPyramid.java:21),共 112 行 |
| 父类 | net.minecraft.world.gen.structure.StructureComponent |
| 注册名 | SGCraft:FeatureUnderDesertPyramid(SGCraft.java:341) |
| 默认开关 | 关闭(worldgen/FeatureGeneration.java:23,配置 options.augmentStructures) |
| 宿主结构 | ComponentScatteredFeaturePieces.DesertPyramid(worldgen/SGStructureMap.java:25) |
功能
这不是一个独立的世界生成器,而是给原版沙漠金字塔"打补丁":FeatureGeneration.onInitMapGen 监听 InitMapGenEvent,当 e.type == SCATTERED_FEATURE 时把该生成器的 structureMap 字段替换成 SGStructureMap(worldgen/FeatureGeneration.java:33-50)。SGStructureMap 覆写 put,每放进去一个 StructureStart 就扫描它的组件列表,为每个 DesertPyramid 追加一个 FeatureUnderDesertPyramid(worldgen/SGStructureMap.java:16-41)。
反射字段 structureMap 同时查找 MCP 名 structureMap 与 SRG 名 field_75053_d(worldgen/FeatureGeneration.java:26)。如果 SCATTERED_FEATURE 的生成器不是 MapGenStructure,只会打一条 warn 而不改写(worldgen/FeatureGeneration.java:39-42)。
遗迹内容
FeatureUnderDesertPyramid 把包围盒设在原金字塔中心正下方 7 格处,大小 11 × 8 × 14(worldgen/FeatureUnderDesertPyramid.java:38-43)。addComponentParts 依次建造(worldgen/FeatureUnderDesertPyramid.java:46-110):
- 10×7×10 的砂岩主室与楼梯井。
- 楼梯、梯子、橙色羊毛墙饰与地毯、门框。
- 一座完整的星门:在局部
(5+i, 1+j, 2)、i ∈ [-2,2]、j ∈ [0,4]的位置循环铺设方块——(0,0)放底座,外框放外环方块,meta 由(i + j + 1) & 1决定导标/外环,其余镂空为空气(worldgen/FeatureUnderDesertPyramid.java:90-104)。 - 放置控制器 DHD 在
(5, 1, 7)(worldgen/FeatureUnderDesertPyramid.java:108)。 - 直接给底座写入
hasChevronUpgrade = true(worldgen/FeatureUnderDesertPyramid.java:105-107)——绕过物品流程,是世界内免费获得 导标升级 的途径。
数值
| 配置键 | 默认值 | 含义 | 来源 |
|---|---|---|---|
options.augmentStructures |
false |
整体开关,false 时 onInitMapGen 直接 return |
worldgen/FeatureGeneration.java:23、:34-36 |
debug.debugStructures |
false |
打印注入日志 | worldgen/FeatureGeneration.java:24、:30 |
| 几何 | 值 | 来源 |
|---|---|---|
| 遗迹包围盒 | 中心 X/Z 各 ±5,Y 从 minY-7 到 minY,高 8,Z 向 +8 |
worldgen/FeatureUnderDesertPyramid.java:42 |
| 主室 | 10 × 7 × 10 | worldgen/FeatureUnderDesertPyramid.java:67 |
| 星门底座世界坐标 | box.minX+5, box.minY+1, box.minZ+2 |
worldgen/FeatureUnderDesertPyramid.java:105 |
交互
- 自动生成:世界生成阶段由
SGStructureMap注入,与原版沙漠金字塔同批。 - 玩家挖掘:遗迹内所有方块都是普通方块,挖掉即消失,没有战利品表。
- 注意:本功能默认关闭。开启后只影响此后新生成的金字塔,已生成的结构不会被回填。
相关条目
- Stargate Chevron Upgrade - 遗迹中免费获得
- Star Gate 多方块结构 - 遗迹内建造的就是它
- Naquadah 矿石世界生成 - 同一
registerWorldGenerators阶段 - 配置项 -
options.augmentStructures/debug.debugStructures