命令

Variable Horizons 在 CommonProxy.serverStarting(FMLServerStartingEvent)中注册至多 4 个服务端命令,取决于激活的变体。

命令 别名 权限等级 注册条件 实现类
/variants Variants 1 始终注册 variants/VariantCommands.java
/demoninvasionblacklist — 0 DIMLOCKED 激活 variants/invasive/DimLocked.DemonInvasionBlacklistCommand
/island Island 0 VOID_ISLAND 激活 util/islands/IslandCommands.java
/alterrecipetimes — 1 ALTERED_RECIPE_TIME(id ALTERED_TIME)激活 variants/runtime/AlteredRecipeTime.AlteredRecipeTimeCommand
// CommonProxy.serverStarting
event.registerServerCommand(new VariantCommands());
if (VariantNames.activeContains(VariantNames.DIMLOCKED.id)) {
    event.registerServerCommand(new DimLocked.DemonInvasionBlacklistCommand());
}
if (VariantNames.activeContains(VariantNames.VOID_ISLAND.id)) {
    event.registerServerCommand(new IslandCommands());
    FMLCommonHandler.instance().bus().register(IslandControl.instance);
}
if (VariantNames.activeContains(VariantNames.ALTERED_RECIPE_TIME.id)) {
    event.registerServerCommand(new AlteredRecipeTime.AlteredRecipeTimeCommand());
}

/variants

主命令,负责查看与切换变体。getCommandUsage 定义其用法;processCommand 中在需要写配置时检查 sender.canCommandSenderUseCommand(getRequiredPermissionLevel(), getCommandName())。

  • /variants —— 列出全部 21 个变体
  • /variants <id> ... —— 切换激活的变体,写回 GeneralConfig.activeVariants
  • 支持 Tab 补全(addTabCompletionOptions)
  • printHelpFull 输出完整帮助

这是本 wiki 收录的该 mod 唯一「始终可用」的命令,也是切换变体的唯一手段——README 指出服务端只能靠命令或改配置文件。

/demoninvasionblacklist

地狱入侵(Infernal Mobs)刷怪黑名单管理,用法字符串为 /demoninvasionblacklist。配合 DIMLOCKED 使用。

/island

虚空岛管理,用法字符串 /island <create|join> [args...],权限等级 0。详见虚空岛。

/alterrecipetimes

用法字符串 /alterrecipetimes <multiplier>,运行时调整全局配方时间乘数,即 GeneralConfig.recipeTimeMultiplier。

注意事项

  • 切换变体后绝大多数改动需重启游戏才生效(16 个 builder 是 Phase.EARLY)
  • GeneralConfig.disableVariants 为 true 时,全部 19 个 MixinBuilder 都会跳过挂载,但 4 个命令仍照常注册
  • 源码注释提醒:“Don’t forget to add new commands to the command list under /variants commands”

相关条目