lwjgl3ify.cfg 配置
基本信息
| 属性 |
值 |
| 配置文件 |
config/lwjgl3ify.cfg |
| 解析类 |
net.minecraftforge.common.config.Configuration(Forge 1.7.10) |
| 读取入口 |
Config.loadConfig() |
| 首次调用点 |
Lwjgl3ifyCoremod 构造器 |
| 配置项总数 |
34(34 个唯一键) |
| 使用的分类数 |
7 |
| 声明但未使用的分类 |
1(ime) |
| GUI 暴露的分类数 |
3 |
功能
加载时机与路径
Config.loadConfig()(Config.java:68-85)带 configLoaded 幂等守卫。它在 new File(Launch.minecraftHome, "config") 下建目录,写入 lwjgl3ify.cfg,调用 reloadConfigObject() 填值,若 config.hasChanged() 则 config.save()(Config.java:73-84)。
它由 FML coremod 构造器调用(Lwjgl3ifyCoremod.java:37),即在 preInit 之前、在 FML 生命周期之外。
34 个配置项(按分类)
reloadConfigObject()(Config.java:87-238)共 34 次 getBoolean/getFloat/getString 调用,34 个唯一键:
mixin(3)
| 键 |
类型 |
默认值 |
说明 |
stbiTextureLoading |
boolean |
true |
使用基于 spng 的更快纹理加载器 |
stbiTextureStitching |
boolean |
true |
使用基于 stb_rectpack 的更快拼接器 |
stbiIgnoreFastcraft |
boolean |
false |
即使有 FastCraft 也强制启用 STB mixin,可能导致屏幕快速闪烁等视觉异常 |
core(2)
| 键 |
类型 |
默认值 |
说明 |
showJavaVersion |
boolean |
true |
在调试 HUD 显示 Java 版本 |
showLwjglVersion |
boolean |
true |
在调试 HUD 显示 LWJGL 版本 |
debug(4)
| 键 |
类型 |
默认值 |
说明 |
printKeyEvents |
boolean |
false |
打印键盘事件到日志 |
printMouseEvents |
boolean |
false |
打印鼠标事件到日志 |
printWindowEvents |
boolean |
false |
打印窗口事件到日志 |
registerOpenGLLogger |
boolean |
false |
注册可记录 GL 错误与性能警告的调试回调 |
window(11)
| 键 |
类型 |
默认值 |
说明 |
maximized |
boolean |
false |
启动时最大化 |
focused |
boolean |
true |
启动时获得焦点 |
iconified |
boolean |
false |
启动时最小化 |
centered |
boolean |
true |
启动时居中 |
borderless |
boolean |
false |
以无边框窗口替代独占全屏 |
borderlessWindowsCompatibility |
boolean |
true |
仅 Windows:无边框窗口高度 +1 以修复失焦闪烁 |
decorated |
boolean |
true |
窗口是否带装饰(标题栏/边框/关闭按钮) |
showLoadingProgress |
boolean |
true |
在受支持系统上把加载进度显示到任务栏 |
appId |
String |
com.gtnewhorizons.Lwjgl3ifyMinecraft |
窗口管理器中用于归类窗口、保存每应用设置的应用 ID |
hidpiRendering |
boolean |
true |
高 DPI 渲染;启用后需相应调大 GUI 缩放 |
linuxCreateAppDesktopEntry |
boolean |
true |
仅 Linux:在 XDG_DATA_HOME/applications 下创建隐藏 .desktop 文件以改善 Wayland 支持 |
| 键 |
类型 |
默认值 |
范围 |
说明 |
invertScrollWheel |
boolean |
false |
— |
反转滚动方向 |
invertHorizontalScroll |
boolean |
false |
— |
反转水平滚动方向(受 invertScrollWheel 影响) |
scrollSpeedMultiplier |
float |
1.0 |
+0.05 – +20.0 |
滚动速度倍率(本组唯一非布尔项) |
ctrlAltText |
boolean |
false |
— |
允许 Ctrl+左 Alt 时输入文本字符(关闭该组合的特殊转义码处理) |
altGrEscapeCodes |
boolean |
false |
— |
允许 Ctrl+key 组合中使用 AltGr(关闭按 AltGr 时的文本输入处理) |
rawMouseInput |
boolean |
false |
— |
使用原始(无加速)鼠标输入 |
alwaysRepeatKeys |
boolean |
false |
— |
长按按键始终生成重复按键事件,而非交给游戏运行时决定 |
forceDiscreteScrolling |
boolean |
false |
— |
强制所有滚动事件获得离散滚轮值,可修复滚轮不换槽的问题 |
openglcontext(5)
| 键 |
类型 |
默认值 |
说明 |
debugContext |
boolean |
false |
启用 KHR_debug 上下文 |
srgb |
boolean |
false |
帧缓冲使用 sRGB 色彩空间 |
doubleBuffer |
boolean |
true |
双缓冲(关闭会产生视觉异常) |
noError |
boolean |
false |
启用 GL_KHR_no_error;出错时可能导致内存损坏 |
sharedContext |
boolean |
true |
创建与主上下文共享的隐藏 GL 上下文供加载闪屏线程使用;移动端 / 不支持共享上下文的 OpenGL ES 驱动需关闭 |
openalcontext(1)
| 键 |
类型 |
默认值 |
说明 |
enableHRTF |
boolean |
false |
启用 HRTF 空间音频 |
未使用的分类
Config.CATEGORY_IME = "ime" 在 Config.java:59 声明,但全仓 grep 'CATEGORY_IME' 只有这一处命中——reloadConfigObject() 中没有任何 ime 分类的读取。属死代码,不产生配置项。
同理 Config.java:60-64 共声明 8 个 CATEGORY_* 常量,其中 7 个有配置项、ime 无。
非配置项的静态字段
Config 中另有三个 public static 字段不经配置文件读取:
| 字段 |
值 |
来源 |
LWJGL3IFY_VERSION |
Tags.VERSION(Gradle 占位符 VERSION 替换而来) |
Config.java:55,gradle.properties:79-83 |
config |
Configuration 实例,loadConfig() 后非空 |
Config.java:66 |
configLoaded |
布尔幂等标志 |
Config.java:14 |
getExtensibleEnums() / addExtensibleEnum(String)(Config.java:239-246)是转发到 EarlyConfig 的便捷方法,真实存储在早期配置 JSON 侧。
数值
| 数值 |
值 |
| 配置项总数 |
34(唯一键 34,与读取次数 34 一致) |
CATEGORY_* 常量数 |
8 |
| 实际有配置项的分类 |
7 |
| 空分类 |
1(ime) |
| GUI 暴露分类 |
3(window、input、openglcontext) |
| 非布尔配置项 |
2(scrollSpeedMultiplier 浮点、appId 字符串) |
| 带数值范围的配置项 |
1(scrollSpeedMultiplier:+0.05–+20.0,Config.java:183-184) |
交互
| 触发 |
行为 |
| coremod 构造 |
读入全部 34 项;有改动则落盘 |
| 游戏内「Mod 选项」→ lwjgl3ify |
打开 GuiConfigLwjgl3ify,仅显示 window / input / openglcontext 三页 |
| 在配置 GUI 改动后关闭 |
触发 ConfigChangedEvent(modID 为 lwjgl3ify),ClientProxy.onConfigChange 保存并 reloadConfigObject(),并调用 Display.lwjgl3ify$updateRawMouseMode(Config.INPUT_RAW_MOUSE) 重新应用鼠标模式(ClientProxy.java:92-101) |
手工编辑 config/lwjgl3ify.cfg 的 mixin/core/debug/openalcontext 段 |
有效,但 GUI 不显示 |
相关条目