diff --git a/src/main/java/carpet/api/settings/SettingsManager.java b/src/main/java/carpet/api/settings/SettingsManager.java index c79189b6..9eb9c148 100644 --- a/src/main/java/carpet/api/settings/SettingsManager.java +++ b/src/main/java/carpet/api/settings/SettingsManager.java @@ -174,8 +174,6 @@ public class SettingsManager { */ public void parseSettingsClass(Class settingsClass) { - // In the current translation system languages are not loaded this early. Ensure they are loaded - Translations.updateLanguage(); boolean warned = settingsClass == CarpetSettings.class; // don't warn for ourselves nextRule: for (Field field : settingsClass.getDeclaredFields()) @@ -212,6 +210,10 @@ public class SettingsManager { CarpetRule parsed = ParsedRule.of(field, this); rules.put(parsed.name(), parsed); } + // In the current translation system languages are not loaded this early. Ensure they are loaded + // after we've added fallbacks, else early systems such as the rule printer won't function for + // legacy rules given the validator (that triggers adding fallbacks normally) won't have ran + Translations.updateLanguage(); } /**