System Properties

基本信息

属性 值
实现类 net.sxmaa.headlessnh.IntegrationTestController
配置形式 全部为 JVM system property(-Dheadlessnh.*)
配置文件 无(没有 .cfg / .json)
自省入口 IntegrationTestController.logSettings(),在 startGame 末尾调用

logSettings() 会把每个属性的解析后值连同来源一起打印:= <值> (system property "原始值") 或 = <值> (default)。

开关类

属性 类型 默认 作用
headlessnh.active boolean false(未设) 命名反直觉:isActive() 返回 !Boolean.getBoolean(...),即未设即为激活;设成 true 反而整个自动化关闭
headlessnh.combined boolean false 走多人 + 单人完整流程(Mode.COMBINED)
headlessnh.singleplayer boolean false 只走单人流程;combined 同时为 true 时被忽略

数值类

属性 解析方式 默认 单位 作用
headlessnh.connectRetries Integer.getInteger(..., 5) 5 次 多人连接失败后的重试上限
headlessnh.delay.mainmenu Long.getLong(..., 500L) 500 ms 到达主菜单后等待稳定的时间
headlessnh.delay.serverjoin Long.getLong(..., 7500L) 7500 ms 进入多人世界后稳定的时间
headlessnh.delay.singleplayer Long.getLong(..., 7500L) 7500 ms 进入单人世界后稳定的时间
headlessnh.delay.cooldown Long.getLong(..., 0L) 0 ms 写完 marker 后再继续前的额外冷却
headlessnh.gate.timeout Long.getLong(..., 0L) 0 ms 等 gate 文件超时;≤0 表示无限等待

[!NOTE] 全部数值都走 getInteger / getLong 这类系统属性解析,不接受配置文件覆盖。服务器给客户端 JVM 传参时必须用 -D 而非服务端配置。

路径类

属性 解析方式 默认 作用
headlessnh.markerdir new File(configured),空串视作未设 Minecraft.mcDataDir 所有 marker 与 gate 文件的写入目录
headlessnh.marker.mainmenu System.getProperty(..., MARKER_MAIN_MENU) .mainmenu.headlessnh 主菜单 marker 文件名
headlessnh.marker.serverloaded 同上 .serverloaded.headlessnh 服务器加载 marker 文件名
headlessnh.marker.worldloaded 同上 .worldloaded.headlessnh 单人世界加载 marker 文件名

闸门类

属性 默认 作用
headlessnh.gate.mainmenu 未设(emptyToNull) 设为文件名则主菜单阶段阻塞等待
headlessnh.gate.serverloaded 未设 设为文件名则服务器加载阶段阻塞等待
headlessnh.gate.worldloaded 未设 设为文件名则单人世界阶段阻塞等待

焦点类

属性 类型 默认 作用
headlessnh.forcefocus boolean false(未设) 为 true 时保留原版失焦开暂停菜单的行为;默认(未设)则抑制

相关条目