diff --git a/src/main/java/emu/grasscutter/Config.java b/src/main/java/emu/grasscutter/Config.java index 3982fc46b..6473e2846 100644 --- a/src/main/java/emu/grasscutter/Config.java +++ b/src/main/java/emu/grasscutter/Config.java @@ -16,7 +16,6 @@ public final class Config { public String KEY_FOLDER = "./keys/"; public String SCRIPTS_FOLDER = "./resources/Scripts/"; public String PLUGINS_FOLDER = "./plugins/"; - public String LANGUAGE_FOLDER = "./languages/"; public ServerDebugMode DebugMode = ServerDebugMode.NONE; // ALL, MISSING, NONE public ServerRunMode RunMode = ServerRunMode.HYBRID; // HYBRID, DISPATCH_ONLY, GAME_ONLY diff --git a/src/main/java/emu/grasscutter/utils/Language.java b/src/main/java/emu/grasscutter/utils/Language.java index d38907354..70e32e658 100644 --- a/src/main/java/emu/grasscutter/utils/Language.java +++ b/src/main/java/emu/grasscutter/utils/Language.java @@ -19,7 +19,7 @@ public final class Language { * @return A language instance. */ public static Language getLanguage(String langCode) { - return new Language(langCode + ".json", Grasscutter.getConfig().DefaultLanguage.toLanguageTag()); + return new Language(langCode + ".json", Grasscutter.getConfig().DefaultLanguage.toLanguageTag() + ".json"); } /** @@ -47,10 +47,14 @@ public final class Language { @Nullable JsonObject languageData = null; InputStream file = Grasscutter.class.getResourceAsStream("/languages/" + fileName); - if(file == null) // Provided fallback language. + if (file == null) { // Provided fallback language. file = Grasscutter.class.getResourceAsStream("/languages/" + fallback); - if(file == null) // Fallback the fallback language. + Grasscutter.getLogger().warn("Failed to load language file: " + fileName + ", falling back to: " + fallback); + } + if(file == null) { // Fallback the fallback language. file = Grasscutter.class.getResourceAsStream("/languages/en-US.json"); + Grasscutter.getLogger().warn("Failed to load language file: " + fallback + ", falling back to: en-US.json"); + } if(file == null) throw new RuntimeException("Unable to load the primary, fallback, and 'en-US' language files.");