GTNHLib 主配置
基本信息
| 属性 | 值 |
|---|---|
| 类 | com.gtnewhorizon.gtnhlib.GTNHLibConfig |
| 源码 | src/main/java/com/gtnewhorizon/gtnhlib/GTNHLibConfig.java |
| 注解 | @Config(modid = GTNHLib.MODID)(modid = gtnhlib) |
| 注册位置 | core/GTNHLibCore.java:57,在 GTNHLibCore 构造器内 |
| 配置项数 | 27 |
| 配置文件 | config/gtnhlib.cfg |
| 配置分类 | general(@Config.category() 默认值,config/Config.java:24) |
功能
GTNHLib 自身的全部运行时开关。所有字段为 public static,直接读写即可,无需 getter。
注册时机特殊:在 coremod 构造器 GTNHLibCore() 中注册,而非 preInit(core/GTNHLibCore.java:55-60):
public GTNHLibCore() {
verifyDependencies();
try {
ConfigurationManager.registerConfig(GTNHLibConfig.class);
} catch (ConfigException e) {
throw new RuntimeException(e);
}
}
这样 mixin 在构造期就能读到配置值。
数值
全部 27 项。@Config.RequiresMcRestart 标记的 5 项需重启 Minecraft 才生效。
| 字段 | 类型 | 默认值 | 范围 | 需重启 | 作用 |
|---|---|---|---|---|---|
ignoreNEIVersion |
boolean | false |
— | 否 | 跳过 NEI 版本检查 |
enableFontRendererMixin |
boolean | true |
— | 否 | 字体渲染替换 |
enableMoreFlowerPottage |
boolean | true |
— | 否 | 模组方块入花盆 |
modelCacheSize |
int | 1000 |
1 – 1000000 | 是 | 模型缓存条目数,越大越省重建、越吃内存 |
enableModelDebugLogs |
boolean | false |
— | 否 | 模型系统详细日志 |
blockSoundMixins |
boolean | true |
— | 是 | 动态方块音效 mixin |
enableTranslucentItemRenders |
boolean | true |
— | 否 | 半透明物品渲染 |
enableResourcePackUpdateCheck |
boolean | true |
— | 否 | 资源包更新检查 |
enableTeamCommands |
boolean | true |
— | 否 | GTNH 队伍指令 |
teamCommandRoot |
String | "gtnhteam" |
— | 否 | 队伍指令根名 |
teamSystemName |
String | "GTNHTeams" |
— | 否 | 队伍系统对外显示名 |
enableTestBlocks |
boolean | false |
— | 是 | 注册 7 个测试方块(仅开发者) |
enableTestItems |
boolean | false |
— | 是 | 注册 1 个测试物品(仅开发者) |
testCrackTexture |
boolean | false |
— | 否 | 替换模型方块的破坏纹理,便于观察旋转 |
enableTitleOverlay |
boolean | true |
— | 否 | 显示标题/副标题覆盖层 |
titleScale |
float | 4.0f |
0.5 – 8.0 | 否 | 主标题字号 |
subtitleScale |
float | 2.0f |
0.5 – 8.0 | 否 | 副标题字号 |
showTitleIcon |
boolean | true |
— | 否 | 标题上方显示物品图标 |
titleIconScale |
float | 2.0f |
0.5 – 8.0 | 否 | 图标缩放,2.0 = 32×32 像素 |
titleIconOffsetY |
int | 0 |
-100 – 100 | 否 | 图标相对标题的垂直偏移,负=更高 |
titleIconAnimation |
String | "fly_in" |
见下 | 否 | 图标入场动画 |
enableTitleParticles |
boolean | true |
— | 否 | 标题显示时启用粒子 |
titleEffectTier |
int | 0 |
0 – 6 | 否 | 电影级完成特效档位 |
titleOffsetX |
int | 0 |
-1000 – 1000 | 否 | 标题块相对屏幕中心的水平偏移,负=左 |
titleOffsetY |
int | 0 |
-1000 – 1000 | 否 | 标题块相对屏幕中心的垂直偏移,负=更高 |
inventoryScanInterval |
int | 5 |
1 – 200 | 否 | 扫描玩家背包的 tick 间隔,越高越省 CPU |
debugInventoryEvents |
boolean | false |
— | 否 | 记录每次背包增删事件(仅开发者) |
titleIconAnimation 的合法取值来自 GTNHLibConfig.java:78 的注释:
none, fly_in, rise, slide, zoom, pop, spin, spin_reverse, bounce, wobble, swing, slam, tada
titleEffectTier 的档位含义(GTNHLibConfig.java:88):
0 = none, 3 = hyperspace, 4 = singularity, 5 = warp, 6 = lightspeed
注意 1 与 2 在注释中未列出。
交互
读取器验证:27 个字段全部至少有一处外部读取点,无声明未用字段。下表为读取该字段的源文件数(去重后的文件个数,非出现次数):
| 读取文件数 | 字段 |
|---|---|
| 6 | enableModelDebugLogs |
| 3 | teamCommandRoot |
| 2 | enableResourcePackUpdateCheck、teamSystemName、enableTestItems、inventoryScanInterval |
| 1 | 其余 22 个字段 |
enableModelDebugLogs 被 6 个文件读取,是本配置中耦合最广的一项:mixins/early/models/MixinFileResourcePack.java、client/model/loading/ResourceLoc.java、client/model/loading/ModelRegistry.java、client/model/state/MonopartState.java、client/model/state/MultipartState.java、client/model/unbaked/JSONModel.java。
开发者专用项的实际效果:
enableTestBlocks = true→CommonProxy.java:72-80调用 7 个Block*.register()enableTestItems = true→CommonProxy.java:82-84调用GameRegistry.registerItem(TestItem.INSTANCE, "testitem")
两项默认值均为 false,普通安装下 GTNHLib 注册 0 个方块、0 个物品。