维度变体
控制玩家出生维度与维度自由度的 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 命令(管理地狱入侵刷怪黑名单),见 命令。