口袋世界
基本信息
| 属性 | 值 |
|---|---|
| 维度名 | Pocket Plane(口袋平面) |
| 维度 ID | 69(可配置,见 pocket_plane_dim) |
| 内部 provider ID | 69(providerID,与维度 ID 是两个独立字段) |
| WorldProvider | com.kentington.thaumichorizons.common.lib.WorldProviderPocketPlane |
| ChunkProvider | ChunkProviderPocketPlane |
| 注册位置 | ThaumicHorizons.preInit(common/ThaumicHorizons.java:501-502) |
| 启用开关 | 配置项 enablePocketPlane(默认 true),需重启 |
| 传送门方块 | ThaumicHorizons:portalTH(BlockPortalTH)、ThaumicHorizons:gatewayTH(BlockGatewayPortal) |
| 入口位置 | getEntrancePortalLocation() 返回 null(WorldProviderPocketPlane.java:38-40) |
功能
口袋世界是本模组的独立维度,用来承载平面理论(planar)研究线。注册只有两行(common/ThaumicHorizons.java:501-502):
501: DimensionManager.registerProviderType(providerID, WorldProviderPocketPlane.class, true);
502: DimensionManager.registerDimension(dimensionPocketId, providerID);
第三参数 true 表示该 provider 类型在维度卸载时保持注册(doNotUnregister)。providerID 与 dimensionPocketId 是两个独立静态字段(common/ThaumicHorizons.java:291-292),前者硬编码为 69 不可配置,后者读自配置。
维度环境(WorldProviderPocketPlane)
| 方法 | 返回 / 设置 | 行 |
|---|---|---|
registerWorldChunkManager() |
new WorldChunkManagerHell(BiomeGenBase.hell, 0.0f),并设 dimensionId = ThaumicHorizons.dimensionPocketId、hasNoSky = true |
22-26 |
createChunkGenerator() |
new ChunkProviderPocketPlane(this.worldObj, this.worldObj.getSeed()) |
28-30 |
getAverageGroundLevel() |
128 | 32-34 |
getEntrancePortalLocation() |
null |
36-38 |
getFogColor()(客户端) |
Vec3.createVectorHelper(0.02734375, 0.01171875, 0.16015625) —— 近乎纯黑、略带紫的暗色雾 |
41-42 |
generateLightBrightnessTable() |
全表 16 档按 (1-f2)/(f2*3+1)*(1-f)+f(f=0.3f)重写,压暗整体亮度 |
46-51 |
isSurfaceWorld() |
false |
53-55 |
isSkyColored()(客户端) |
false |
58-60 |
hasNoSky = true + 压暗的光照表 + 非天空色 + 极暗雾色,共同构成「悬浮虚空、无天光」的平面质感。
维度内容与门控
口袋世界的内容整体受 enablePocket 开关控制。common/ThaumicHorizons.java:2064 的 if (enablePocket) { 块覆盖 2064–2261 行,其中注册了 4 条研究(pocketPlane、planarClouds、leviathan、planarKeystone)及其全部注入配方。
配置项 enablePocketPlane 自带的注释原文(common/ThaumicHorizons.java:4028)明确警告:
Enable pocket plane content (currently incomplete - many aspects will not generate the cool stuff they are supposed to). World backups are highly suggested.
即作者自述该维度内容尚不完整,许多要素不会生成预期内容,并强烈建议备份世界。
除研究线外,口袋世界还影响:
TileVortex(Planar Vortex,common/tiles/TileVortex.java:199):当ThaumicHorizons.enablePocket为真且涡口内的物品是 TC4 的ConfigItems.itemEldritchObject时触发口袋世界逻辑;:97通过DimensionManager.getWorld(ThaumicHorizons.dimensionPocketId)取目标世界。BlockVortex.java:141:MinecraftServer.getServer().worldServerForDimension(ThaumicHorizons.dimensionPocketId)。BlockPortalTH.java:97:以world.provider.dimensionId == ThaumicHorizons.dimensionPocketId判断是否已处于口袋维度;:179、:181在创建传送连接时取该维度的WorldServer。TileTransductionAmplifier.java:51:同样用该 ID 做维度判定。
数值
| 项 | 值 | 证据 |
|---|---|---|
| 默认维度 ID | 69 | common/ThaumicHorizons.java:291(字段初值)、gradle.properties 无关;配置默认值同为 69(:4021) |
| 默认 provider ID | 69 | common/ThaumicHorizons.java:292 |
| 平均地表高度 | 128 | WorldProviderPocketPlane.java:32-34 |
| 雾色 RGB | (0.02734375, 0.01171875, 0.16015625) | WorldProviderPocketPlane.java:42 |
| 光照表最低值 f | 0.3f | WorldProviderPocketPlane.java:46 |
| 口袋维度研究复杂度 | pocketPlane 18、planarClouds 20、leviathan 20、planarKeystone 20 |
见 研究列表 |
| 传送点 | pocketPlane 4 个、planarKeystone 5 个 |
common/ThaumicHorizons.java:2164-2165 |
相关方块
| 注册名 | 名称 | 作用 |
|---|---|---|
portalTH |
(无语言条目) | 普通传送门,不可破坏(setBlockUnbreakable(),common/blocks/BlockPortalTH.java:33) |
gatewayTH |
Planar Gateway | 平面网关 |
vortexTH |
Planar Vortex | 平面涡口,把实体/物品送往口袋维度 |
voidTH |
Planar Boundary | 平面边界 |
BlockPortalTH 继承 BlockBreakable(common/blocks/BlockPortalTH.java:28),构造函数只做三件事:super("portal", ThaumicHorizons.portal, false)、setTickRandomly(true)、setBlockUnbreakable()(:30-33),没有调用 setBlockName,因此沿用父类默认未本地化名,语言表中无对应条目。
BlockVortex 与 BlockCloud 各有两个实例:vortexTH 有 meta 0「Planar Vortex」与 meta 1「Planar Vortex (Creative)」(语言键 tile.ThaumicHorizons_vortex.0/1.name);cloudTH 有 10 个 meta(Cloud / Plasma Cloud / Thundercloud / Acid Cloud / Alloy Cloud / Tumorous Cloud / Vis Cloud / Glyph Cloud / Spore Cloud / Animus Cloud,语言键 tile.ThaumicHorizons_cloud.0-.9.name)。BlockCrystal 有 16 个 meta(白/橙/紫/蓝/棕/绿/红/黑等 16 色 Crystal)。
合成配方
口袋世界线的核心道具配方受 GregTech 是否安装影响,但两个分支都提供完整配方(详见 第三方模组集成):
| 道具 | GT5 分支 | 无 GT5 分支 |
|---|---|---|
Planar Keystone(keystoneTH) |
:2077-2095 注入等级 12,要素 TRAVEL 128 / VOID 64 / EXCHANGE 48 / AURA 32 / MIND 16 / ELDRITCH 64,基座 itemPlanarConduit,注入物含 GT 的 gemExquisite Glass 与 lens InfusedOrder |
:2131-2140 注入等级 6,要素 TRAVEL 32 / VOID 32 / EXCHANGE 16,基座 itemPlanarConduit,注入物为石英与魂魄碎片 |
| Planar Keystone(第二配方) | :2096-2110 注入等级 9,要素 TRAVEL 64 / VOID 48 / MECHANISM 32 / ELDRITCH 32,基座 Items.ender_eye |
:2141-2151 注入等级 6,要素 TRAVEL 24 / VOID 24 / ELDRITCH 12,基座 Items.diamond |
Keystone Receptacle(slotTH) |
:2111-2129 注入等级 8,要素 VOID 32 / TRAVEL 24 / MECHANISM 24 / ELDRITCH 24,基座 itemPlanarConduit,注入物为 GT 的 plateDense Void/Titanium/Enderium/InfusedGold 与 screw Titanium |
:2152-2161 注入等级 8,要素同上,基座 itemPlanarConduit,注入物为金锭与 itemResource meta 16 |
三组配方的注册名分别是 "pocketPlane"、"planarKeystone"、"planarKeystone",同名的 planarKeystone 有两条不同配方(分别产出 Planar Keystone 与 Keystone Receptacle)。