结构生成
RTG 只覆写两个原版结构生成器,不新增任何结构。
rtg/world/gen/structure/ 下就这 2 个文件:
| 类 | 对应原版 | 作用 |
|---|---|---|
MapGenVillageRTG |
MapGenVillage |
让村庄在 RTG 地形上正确落地 |
MapGenScatteredFeatureRTG |
MapGenScatteredFeature |
让散落地物(大型岩、稀疏物件)适配 RTG 地形 |
两者都是原版 StructureGenerator 的子类,作用是在 RTG 改过地形高度之后,
把原版那套「先铺草方块再放结构」的逻辑替换掉,否则村庄会悬空或埋地。
村庄
村庄受 群系配置属性 的
allowVillages 逐群系控制,源码默认值 true——即默认所有群系都允许村庄。
MapGenVillageRTG 读取群系的 allowVillages,
为 false 的群系直接跳过村庄尝试。
村庄本身是原版村庄:Nether 传送门铁栅栏、谷仓、图书馆、牧师/铁匠/农民
等村民职业、篝火堆、告示牌等,全部沿用原版 MetaVillageVillagePiece 家族。
RTG 只改它的选址与落地高度。
RTG 不生成的东西
以下均没有,因此不建条目:
| 类别 | 依据 |
|---|---|
| 矿脉 / 矿物 | grep -rn 'getOre|OreVein|oreVein' src/main/java 无输出。RTG 自身不做任何矿脉生成,矿物完全由原版与 GTNH 其它矿工 mod 负责 |
| 地牢 / 遗迹 / 洞穴结构 | feature/ 下无对应 WorldGen;洞穴只由 MapGenCavesRTG 噪声挖出,不是结构 |
| 天文台 / 丛林神庙 / 沙漠神庙 | 交给原版 MapGenStructure 与 IGroupGenerator 体系,RTG 未改 |
| 村庄装饰(道路、水井) | 沿用原版 MetaVillageVillagePiece |
RTG 也没有任何 StructureStart 的自定义 NBT 键,
不写 MapGenStructureData,因此不会破坏 GTNH 其它模组读取村庄数据的逻辑。
与其它分类的关系
- realistic-world-gen — 同主题的另一款世界生成 mod,与 RTG 互斥
(见 世界类型 的
Loader.isModLoaded("RWG")硬检查)。 - gregtech / railcraft 等矿工与铁路 mod 提供的矿脉、 隧道结构不受 RTG 影响。