====== 语言文件生成 ====== 您可以从支持翻译关键字的现有语言文件和类中生成翻译条目。 首先,创建一个继承 ''FabricLanguageProvider'' 的类,并实现如下基本方法: private static class MyModEnglishLangProvider extends FabricLanguageProvider { private MyModEnglishLangProvider(FabricDataOutput dataGenerator) { // en_us 是可选参数,默认情况下该参数为 en_us super(dataGenerator, "en_us"); } @Override public void generateTranslations(TranslationBuilder translationBuilder) { } } 让我们添加一些翻译条目: @Override public void generateTranslations(TranslationBuilder translationBuilder) { translationBuilder.add(SIMPLE_ITEM, "Simple Item"); translationBuilder.add(SIMPLE_BLOCK, "Simple Block"); translationBuilder.add(SIMPLE_ITEM_GROUP, "Simple Item Group"); // 加载现有的语言文件 try { Path existingFilePath = dataGenerator.getModContainer().findPath("assets/mymod/lang/en_us.existing.json").get(); translationBuilder.add(existingFilePath); } catch (Exception e) { throw new RuntimeException("Failed to add existing language file!", e); } } 现在,我们需要将提供程序添加到入口点类的 ''onInitializeDataGenerator'' 中的数据生成器中,如下所示: public class DataGeneration implements DataGeneratorEntrypoint { @Override public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) { Pack pack = fabricDataGenerator.createPack(); pack.addProvider(MyModEnglishLangProvider::new); } } ====== 支持的类 ====== 以下的游戏对象有一个翻译键供你翻译: * ''Item'' * ''Block'' * ''ItemGroup'' * ''EntityType'' * ''Enchantment'' * ''EntityAttribute'' * ''StatType'' * ''StatusEffect'' * ''Identifier''