传送门(Underworld Portal / Temporal Gate)
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | utilitiesinexcess:underworld_portal / utilitiesinexcess:temporal_gate |
| 类 | BlockPortalUnderWorld(extends BlockContainer)/ BlockPortalEndOfTime(extends Block) |
| 注册方块数 | 2 |
| 目标维度 | 深渊世界(dim 10)/ 终末之时(dim 11) |
| TileEntity | 仅 underworld_portal 有(TileEntityPortalUnderWorld) |
功能
两个方块分别通往本模组自带的两个自定义维度。二者的注册门是双重条件:BlockConfig.enable*Portal && <Dimension>Config.INSTANCE.enable*——即传送门方块与目标维度可以分别关闭(ModBlocks.java:168-169)。这是刻意的设计,两个开关的注释都写着"Can be disabled without disabling the … dimension"(BlockConfig.java:289-299)。
数值
| 注册名 | 枚举常量 | 目标维度 | 维度 ID | 开关(方块) | 开关(维度) |
|---|---|---|---|---|---|
underworld_portal |
UNDERWORLD_PORTAL |
深渊世界 | 10 | BlockConfig.enableUnderWorldPortal |
UnderWorldConfig.INSTANCE.enableUnderWorld |
temporal_gate |
END_OF_TIME_PORTAL |
终末之时 | 11 | BlockConfig.enableEndOfTimePortal |
EndOfTimeConfig.INSTANCE.enableEndOfTime |
维度 ID 来源:UnderWorldConfig.java:18-20(underWorldDimensionId = 10)与 EndOfTimeConfig.java:19-21(endOfTimeDimensionId = 11)。四个开关全部默认 true。
ModDimensions 用的是三参构造 (isEnabled, id, provider),内部转发为 this(isEnabled, id, id, provider, false),因此 providerType ID 与 dimension ID 相同(10 / 11),且 keepLoaded 恒为 false(ModDimensions.java)。
交互
| 触发 | 行为 |
|---|---|
| 站在门内 | 传送到目标维度(具体触发条件见各 WorldProvider) |
| 放置 | 由 BlockPortalUnderWorld / BlockPortalEndOfTime 的放置判定控制 |
| 破坏 | underworld_portal 掉落自身;temporal_gate 使用自定义 BlockPortalEndOfTime.ItemBlockPortalEndOfTime |
合成配方
| 产物 | 配方 | 开关 |
|---|---|---|
underworld_portal |
qiq / iui / qiq:q=压缩圆石 meta 3、i=反转金属锭(任意 meta)、u=压缩圆石 meta 4 |
RecipeConfig.enableUnderworldPortalRecipe |
temporal_gate |
qeq / ece / qeq:q=装饰方块 meta 2(Burnt Quartz)、e=装饰方块 meta 11(Carved ‘Eminence’ Stone)、c=时钟 |
RecipeConfig.enableEndOfTimePortalRecipe |
来源:RecipeLoader.java:381-392、:513-524。两个开关默认全为 true。