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):

  1. 10×7×10 的砂岩主室与楼梯井。
  2. 楼梯、梯子、橙色羊毛墙饰与地毯、门框。
  3. 一座完整的星门:在局部 (5+i, 1+j, 2)、i ∈ [-2,2]、j ∈ [0,4] 的位置循环铺设方块——(0,0) 放底座,外框放外环方块,meta 由 (i + j + 1) & 1 决定导标/外环,其余镂空为空气(worldgen/FeatureUnderDesertPyramid.java:90-104)。
  4. 放置控制器 DHD 在 (5, 1, 7)(worldgen/FeatureUnderDesertPyramid.java:108)。
  5. 直接给底座写入 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 注入,与原版沙漠金字塔同批。
  • 玩家挖掘:遗迹内所有方块都是普通方块,挖掉即消失,没有战利品表。
  • 注意:本功能默认关闭。开启后只影响此后新生成的金字塔,已生成的结构不会被回填。

相关条目