From d43f43150649451cae1a7735a65d261c6893136f Mon Sep 17 00:00:00 2001
From: KingRainbow44 <kobedo11@gmail.com>
Date: Sun, 8 May 2022 11:58:32 -0400
Subject: [PATCH] Add warning for language fallback

---
 src/main/java/emu/grasscutter/Config.java         |  1 -
 src/main/java/emu/grasscutter/utils/Language.java | 10 +++++++---
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/main/java/emu/grasscutter/Config.java b/src/main/java/emu/grasscutter/Config.java
index 3982fc46..6473e284 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 d3890735..70e32e65 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.");
         
-- 
GitLab