维度变体

控制玩家出生维度与维度自由度的 2 个变体。

CUSTOM_DIM_START

Custom Starting Dimension —— 把出生维度换成别的维度。实现类 variants/invasive/DiffDimStart.java。

目标维度 ID 由配置 GeneralConfig.startingDimID 决定,默认 0(即主世界,@Config.DefaultInt(0))。

涉及 2 个 mixin:

MixinBuilder 挂载 条件
SET_INITIAL_SPAWN_DIMENSION MixinServerConfigurationManager_ChangeInitialSpawnDimension CUSTOM_DIM_START + !disableVariants
ALLOW_RESPAWN_IN_DIMENSION MixinWorldProvider_AllowRespawnInDimension CUSTOM_DIM_START 或 VOID_ISLAND

MixinWorldProvider_AllowRespawnInDimension 让玩家能在该维度重生而不被拉回主世界(否则被锁维度时无法复活)。它同时服务于 VOID_ISLAND。

SET_EXACT_SPAWN_LOCATION

MixinWorldProvider_SetExactSpawn(builder SET_EXACT_SPAWN_LOCATION)取消出生点随机偏移,并把 y 固定为 65。builder 描述为 “Set exact spawn location without variance and y = 65”,其条件为 SKYGRID 或 VOID_ISLAND。

DIMLOCKED

Dimlocked —— 把玩家锁死在一个指定维度,无法离开;出生与重生都在该维度。实现类 variants/invasive/DimLocked.java。

它是组合变体:composedOf = { CUSTOM_DIM_START, NO_ROCKET },incompatible = { NO_RECIPE_ADDITIONS }。

锁定的维度由 startingDimID 指定。本地化描述给出的示例包括:

  • 下界 -1
  • 末地 1
  • Ross128B 64

本地化文本明确写道:「All Dimlocks outside of a dimension that has a required resource will have alternative sources for that resource, i.e. chaos shards if not in the End, Nether Air if not in the Nether, etc.」——即锁到哪个维度,就会为该维度缺失的太空资源提供替代来源。

涉及 mixin

MixinBuilder 挂载 作用
LOCK_TO_DIMENSION_TRAVEL_TO_DIM MixinEntityPlayerMP_LockDimension 拦截传送
LOCK_TO_DIMENSION_TRANSFER_PLAYER_TO_DIM MixinServerConfigurationManager_LockDimension 拦截跨维度玩家转移
ALLOW_RESPAWN_IN_DIMENSION MixinWorldProvider_AllowRespawnInDimension 允许在被锁维度重生

资源替代配方

MixinBuilder 挂载 条件
ADD_SEMINING_RECIPE MixinSpaceMiningRecipes_AddSEminingrecipe DIMLOCKED + startingDimID != 100 + 需 GREGTECH
REMOVE_ORECHID_IGNEM_DIMRESTRICTION MixinSubTileOrechidIgnem_LetOrechidIgnemRunBesidesNether DIMLOCKED 且 NO_QUEST_REWARDS + startingDimID != -1 + 需 BOTANIA

ADD_SEMINING_RECIPE 添加自定义太空采矿配方;startingDimID != 100 排除了维度 ID 100。

REMOVE_ORECHID_IGNEM_DIMRESTRICTION 解除 Botania 的 SubTileOrechidIgnem(点火种矿)维度限制,使其可在下界之外运行。它要求同时激活 NO_QUEST_REWARDS,且 startingDimID != -1(即锁定下界时不需要该替代配方)。

两个 builder 都是 Phase.LATE。

变体激活时还会注册 /demoninvasionblacklist 命令(管理地狱入侵刷怪黑名单),见 命令。

相关条目