已被禁用
基本信息
| 属性 | 值 |
|---|---|
| 所属配置类 | GeneralConfig(config/GeneralConfig.java) |
| 字段 | public static boolean disabled |
| 类型 | boolean |
| 默认值 | false(@Config.DefaultBoolean(false)) |
| 服务端同步 | ✅ @Config.Sync |
| 配置注释 | [Server Controlled] Completely disable freecam functionality |
| 注册时机 | FreecamMod.preInit → ConfigurationManager.registerConfig(GeneralConfig.class) |
mod id 为 freecam-gtnh,由 GTNHLib 的 ConfigurationManager 管理配置文件。
GeneralConfig 未声明 category,因此使用默认的 general 段。
门控的行为
这是本 mod 里唯一一处被四处检查的总开关:
| 检查点 | 代码位置 | 被禁用时的行为 |
|---|---|---|
| 首次启用 | FreecamController.enable() 开头 |
静默 return,不进入自由相机 |
| 三脚架启用 | FreecamController.enableTripod(slot) 开头 |
静默 return |
| 选择槽位 | FreecamController.toggleTripod(slot) 开头 |
输出 msg.freecam.disable 提示后 return |
| 每 tick | FreecamController.tick() 开头 |
调用 disable(),强制退出已激活的自由相机 |
关键差异:toggleTripod 会给出可见的提示消息,而 toggle() → enable() 路径是静默失败——
按 F4 松开时既不进入自由相机也不会有任何提示(toggle() 本身仍会按 active == false 输出
msg.freecam.disable,所以玩家实际会看到"Freecam has been disabled."这条消息)。
另外 tick() 中的检查发生在 active 判定之前,因此即使在自由相机激活期间服务器把该选项打开,
下一个客户端 tick 也会立即退出,不会残留一个无人看管的相机。
其它配置项
GeneralConfig 共 3 项:
| 字段 | 类型 | 默认值 | 服务端同步 |
|---|---|---|---|
disabled |
boolean |
false |
✅ |
| collisionMode | CollisionMode |
FULL |
✅ |
| disableOnDamage | boolean |
true |
❌ |
同 mod 的 MovementConfig 与 MiscConfig 各自独立注册。