命令
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”