指令开关配置

基本信息

属性 值
配置类 serverutils.ServerUtilitiesConfig.Commands
源码 src/main/java/serverutils/ServerUtilitiesConfig.java:208-297
字段访问 ServerUtilitiesConfig.commands.<字段>
字段数 29(全部为 boolean)
默认值 全部 true(29 个 @Config.DefaultBoolean(true))
配置文件 config/serverutilities/serverutilities-server.cfg(见下方路径说明)

29 个开关与 服务端指令总表 的 44 条顶层指令一一对应(部分开关控制多条指令)。这是本模组唯一的指令总开关层 —— 关掉某个开关,对应指令在 FMLServerStartingEvent 阶段就根本不会被注册,玩家看到的是「未知指令」而非「权限不足」。

配置文件路径

主配置类的注解是(ServerUtilitiesConfig.java:23):

@Config(modid = ServerUtilities.MOD_ID, category = "", configSubDirectory = "../serverutilities/")

configSubDirectory = "../serverutilities/" 是 GTNHLib ConfigurationManager 的相对写法,配置最终落在 config/serverutilities/ 下。AuroraConfig 用了同样的 configSubDirectory 但 filename = "aurora"(aurora/AuroraConfig.java:8),客户端配置则额外带 configSubDirectory = "../serverutilities/client/"(client/ServerUtilitiesClientConfig.java:8)。

[!NOTE] 三份配置的实际落盘文件名由 GTNHLib 生成,本条目不给出确切文件名 —— 该仓不含任何写死的 cfg 文件名,grep -rn "\.cfg" src/main/java 无结果。目录归属可从 configSubDirectory 确定。

完整开关表

字段 行 默认 控制的指令
warp 211 true /warp、/setwarp、/delwarp
home 214 true /home、/sethome、/delhome
back 217 true /back
spawn 220 true /spawn
inv 223 true /view(invsee)
tpl 226 true /tpl
trash_can 230 true /trash_can
chunks 233 true /chunks(整组 10 条)
kickme 236 true /kickme
ranks 239 true /ranks(整组 8 条)
heal 242 true /heal
killall 245 true /killall
nbtedit 248 true /nbtedit
fly 251 true /fly
leaderboard 254 true /leaderboards
tpa 257 true /tpa、/tpaccept
nick 260 true /nick、/nickfor
mute 263 true /mute、/unmute
rtp 266 true /rtp
god 269 true /god
rec 272 true /rec
reload 275 true /reload
backup 278 true /backup
dump_chunkloaders 281 true /dump_chunkloaders
dump_permissions 284 true /dump_permissions
dump_stats 287 true /dump_stats
vanish 290 true /vanish
seek_block 293 true /seek_block
pregen 296 true /pregen(整组 3 条)

客户端同步

只有 trash_can 带 @Config.Sync(ServerUtilitiesConfig.java:228-230):

@Config.DefaultBoolean(true)
@Config.Sync
public boolean trash_can;

@Config.Sync 使该值随 MessageSyncData 下发给客户端,因此侧边栏按钮能在客户端直接隐藏/显示 /trash_can 入口(assets/serverutilities/sidebar_buttons.json 中 trash_can 项带 "hide_if_server_disabled": true)。

三个不由本组控制的指令

Commands 之外还有 3 条顶层指令,它们读的是别的配置类:

指令 实际开关 位置
/add_fake_player debugging.special_commands ServerUtilitiesConfig.java:105-106(默认 false)
/shutdown_time auto_shutdown.enabled ServerUtilitiesConfig.java:147-150(默认 false)
/transfer transfer.enabled ServerUtilitiesConfig.java:811-813(默认 true)

/shutdown、/shutdown_time、/pause_when_empty 另有 isDedicatedServer() 硬条件,/my_settings、/team、/motd 完全无条件注册。

联动效应

部分开关同时控制 Mixin,关掉指令会让相关补丁一并消失:

开关 联动 Mixin 源码
vanish VANISH_COMMAND(9 个服务端 Mixin) mixin/Mixins.java
back VANILLA_TP_BACK_COMPAT 同上

VANILLA_TP_BACK_COMPAT 专门给原版 /tp 加返回点兼容,其 setApplyIf(() -> commands.back) 直接读本配置组。

相关条目