Overworld Overhead(主世界上空)
基本信息
| 属性 | 值 |
|---|---|
| 维度 ID(默认) | 0 |
| 所属 modid | GalacticraftCore |
| WorldProvider | 原版 net.minecraft.world.WorldProvider(GalacticraftCore.java:293) |
| 传送类型 | TeleportTypeOverworld,绑定 WorldProviderSurface(GalacticraftCore.java:337) |
| 火箭 GUI | WorldProviderSurface → textures/gui/overworldRocketGui.png(GalacticraftCore.java:343-345) |
| 天体 | Planet("overworld"),父恒星系 solarSystemSol(GalacticraftCore.java:290-291) |
说明
主世界「上空」视图,配置项 idDimensionOverworld,默认 0——与原版主世界同 ID。
⚠️ 这一维度 GC 根本不换 provider,用的就是原版 WorldProvider。
GalacticraftCore.java:293:
planetOverworld.setDimensionInfo(ConfigManagerCore.idDimensionOverworld, WorldProvider.class, false)
.setTierRequired(1).setAllowSatellite(true);
所以本维度没有 core/dimension/WorldProviderSpace.java 这回事——该文件根本不在
core/dimension/ 下,真实路径是 api/prefab/world/gen/WorldProviderSpace.java:26,
而且它是 public abstract class WorldProviderSpace,只被轨道类继承,
没有被 idDimensionOverworld 用到。
GC 在这一维度上做的只是天体元数据登记(setDimensionInfo + GalaxyRegistry.registerPlanet),
判定「玩家在不在太空」靠 WorldUtil 里对 ConfigManagerCore.idDimensionOverworld 的比较
(例如 WorldUtil.java:1714),而不是靠自定义 WorldProvider 的类型。
把 idDimensionOverworld 改成非 0 才能让「主世界上空」成为一个独立维度——
api/world/SpaceStationType.java:18 的注释正是这么说的。
⚠️ 维度 ID 全部来自配置文件,不是硬编码注册:
-28idDimensionMoon—core/util/ConfigManagerCore.java:174-27idDimensionOverworldOrbit—ConfigManagerCore.java:180-26idDimensionOverworldOrbitStatic—ConfigManagerCore.java:186-29dimensionIDMars—planets/mars/ConfigManagerMars.java:54-30dimensionIDAsteroids—planets/asteroids/ConfigManagerAsteroids.java:59
改配置会改变维度 ID(均标记 setRequiresMcRestart(true))。
相关条目
- Galacticraft 分类页 - 2 个 modid、4 个维度的总览与注册真源