天境(The Aether)维度

基本信息

属性 值
注册维度 ID 4(可配置,见「World Identification → Aether Dimension ID」)
存档目录 Dim-Aether
维度内部名 the_aether
WorldProvider com.gildedgames.the_aether.world.AetherWorldProvider
区块管理器 WorldChunkManagerAether
区块生成器 ChunkProviderAether
唯一生物群系 AetherBiome(默认 ID 127,可配置)

功能

天境是模组注册的唯一维度,由 AetherWorld.initialization() 在主模组 init 阶段注册:

  • DimensionManager.registerProviderType(AetherConfig.getAetherDimensionID(), AetherWorldProvider.class, false)(AetherWorld.java:38)
  • DimensionManager.registerDimension(AetherConfig.getAetherDimensionID(), AetherConfig.getAetherDimensionID())(AetherWorld.java:39)

AetherWorldProvider 的关键环境设定:

方法 返回 效果
canCoordinateBeSpawn false(:132-133) 世界生成器不在天境放刷怪笼
canRespawnHere false(:137-138) 玩家不能直接在天境重生
getRespawnDimension 床位置为 null 时返回 0,否则返回天境 ID(:125-129) 有床则睡在床所在维度,无床则回落主世界
canDoLightning / canDoRainSnowIce false(:146-147、:150-151) 天境不下雨雪、不打雷
isSkyColored false(:191-192) 关闭原版天空染色
getHorizon 0.0(:196-197) 地平线距离为 0,配合浮空岛视觉
getCloudHeight -5F(:201) 云层高度设在基岩之下
getVoidFogYFactor 100(:181-182) 虚空雾衰减系数
getWorldHasVoidParticles false(:212-213) 无虚空粒子
getSaveFolder "Dim-Aether"(:176) 存档落在 saves/Dim-Aether
getDimensionName "the_aether"(:206) 内部标识符

雾色为 0x9393BC(AetherWorldProvider.java:156),并按太阳角度做晨昏明暗调制。

永昼

天境默认处于永昼:时间从 6000(正午)起步(AetherWorldProvider.java:25,private long aetherTime = 6000;)。

calculateCelestialAngle(AetherWorldProvider.java:37 起)在 AetherConfig.eternalDayDisabled() 为 false 时生效:

  • 若 AetherData.isEternalDay() 为真且尚未进入追赶阶段,则每 tick 把 aetherTime 减 1(对 24000 取模),直到与 worldTime % 24000 对齐
  • 对齐后置 shouldCycleCatchup = true,并通过 AetherNetwork.sendToAll(new PacketSendTime(...)) 同步给客户端
  • 若 isEternalDay() 为假,则把 aetherTime 直接重置为 6000

关闭永昼后(配置项「Disables eternal day…」,AetherConfig.java:136-140)天境恢复正常昼夜循环。

数值

数值名 值 来源
默认维度 ID 4 AetherConfig.java:76-77
默认生物群系 ID 127 AetherConfig.java:78-79
永昼基准时间 6000 AetherWorldProvider.java:25
日周期长度 24000 AetherWorldProvider.java 追赶逻辑中的 24000L
雾基准色 0x9393BC AetherWorldProvider.java:156
云层高度 -5F AetherWorldProvider.java:202

交互

进入天境的方式见 天境传送门。在非天境维度右键天境方块会被 AetherWorldProvider 判定并拒绝:

  • ItemSkyrootBucket 的右键逻辑检查 player.dimension == AetherConfig.getAetherDimensionID()
  • 玩家在主世界右键日祭坛只收到 gui.sun_altar.message 聊天提示(BlockSunAltar.java:102-104)

相关条目