传送门(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。

相关条目