Skip to content

辅助工具

ConfigData

用于自动生成配置翻译键。通过 readConfigClass 遍历配置类及其注解,自动向语言生成器添加翻译键。

java
ConfigData.readConfigClass(languageProvider, ExampleConfig.class);

生成的翻译键类型

用途翻译键格式
配置标题<modid>.configuration.title
TOML 标题<modid>.configuration.section.<modid>.<type>.toml
选项名称<modid>.configuration.<fieldpath>
选项工具提示<modid>.configuration.<fieldpath>.tooltip(有 @Comment 时)
折叠按钮文本<modid>.configuration.<fieldpath>.button(有 @CollapsibleObject 时)

所有键的值由 FormattingUtil 生成人类可读名称。

翻译示例

java
// 在数据生成中
@SubscribeEvent
public static void gatherData(GatherDataEvent.Client event) {
    event.getGenerator().addProvider(true, new LanguageProvider(
        event.getGenerator().getPackOutput(), "mymod", "en_us"
    ) {
        @Override
        protected void addTranslations() {
            ConfigData.readConfigClass(this, MyConfig.class);
        }
    });
}

FormattingUtil

字符串格式化工具,用于将 Java 命名转换为人类可读格式。

方法

方法输入输出说明
toLowerCaseUnder(str)"maragingSteel300""maraging_steel_300"驼峰转小写下划线
toEnglishName(str)"apple_orange.juice""Apple Orange (Juice)"下划线转英文名

使用示例

java
// 驼峰 → 下划线
String key = FormattingUtil.toLowerCaseUnder("maxSpeed");
// → "max_speed"

// 下划线 → 英文显示名
String name = FormattingUtil.toEnglishName("max_speed");
// → "Max Speed"

ConfigData 内部使用这些方法将字段名自动转换为可读的翻译值。

Released under the CC-BY-NC-SA 4.0 License.