Skip to content

高级用法

本节汇总一些在大型项目或特殊需求下常用的技巧与注意事项。

static 字段 vs 实例字段

  • static 字段:
    • 使用最简单,直接 MyConfig.section.option 读取
    • 推荐大多数场景
  • 实例字段:
    • 通过 TritiumConfig.getConfig(MOD_ID).get() 获取实例再访问
    • 适合需要多个配置实例或更强封装的场景

自定义文件名与多配置

  • 使用 TritiumConfig#filename("my_config") 自定义文件名
  • 如需多套配置,可注册多个 TritiumConfig 实例(不同 modId 或不同 configClass

程序内修改与保存

  • 直接修改字段值(static/实例均可)后调用 config.save() 持久化
  • UI 保存也会调用 save()

缓存与性能

  • 解析器返回值被 ConfigValue<T> 包装,默认缓存 3000ms
  • 需要立即反映磁盘更改可调用 reload() 或等待热重载

监听与热重载

  • 内置 ConfigFileWatcher 每 2 秒检查一次 lastModified
  • 若检测到变化将自动调用 reload()

日志与调试

  • 库会在注册、重载、保存、迁移等关键节点输出日志
  • 越界/解析失败会输出 warn,严重错误抛出异常并 error 日志

兼容性与限制

  • 支持类型:boolean/int/long/double/String/enum/List<String>
  • 列表仅支持字符串元素
  • 服务端环境不会加载 @ClientOnly 标注的项