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 全部来自配置文件,不是硬编码注册:

  • -28 idDimensionMoon — core/util/ConfigManagerCore.java:174
  • -27 idDimensionOverworldOrbit — ConfigManagerCore.java:180
  • -26 idDimensionOverworldOrbitStatic — ConfigManagerCore.java:186
  • -29 dimensionIDMars — planets/mars/ConfigManagerMars.java:54
  • -30 dimensionIDAsteroids — planets/asteroids/ConfigManagerAsteroids.java:59

改配置会改变维度 ID(均标记 setRequiresMcRestart(true))。

相关条目