From b0ae0209c9165a67c890ce43d6be11bad8ca2f1a Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 18 Jul 2017 00:11:13 -0400 Subject: [PATCH] Load languages post locales construction --- .../java/co/aikar/commands/BukkitCommandManager.java | 1 + .../src/main/java/co/aikar/commands/BukkitLocales.java | 4 ++++ .../java/co/aikar/commands/BungeeCommandManager.java | 1 + .../src/main/java/co/aikar/commands/BungeeLocales.java | 9 +++++++++ core/src/main/java/co/aikar/commands/CommandManager.java | 1 - core/src/main/java/co/aikar/commands/Locales.java | 5 ++++- .../java/co/aikar/commands/SpongeCommandManager.java | 1 + .../src/main/java/co/aikar/commands/SpongeLocales.java | 9 +++++++++ 8 files changed, 29 insertions(+), 2 deletions(-) diff --git a/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java b/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java index d46c8df1..de19c483 100644 --- a/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java +++ b/bukkit/src/main/java/co/aikar/commands/BukkitCommandManager.java @@ -138,6 +138,7 @@ public class BukkitCommandManager extends CommandManager { public BukkitLocales getLocales() { if (this.locales == null) { this.locales = new BukkitLocales(this); + this.locales.loadLanguages(); } return locales; } diff --git a/bukkit/src/main/java/co/aikar/commands/BukkitLocales.java b/bukkit/src/main/java/co/aikar/commands/BukkitLocales.java index 2938ddb4..f517ef77 100644 --- a/bukkit/src/main/java/co/aikar/commands/BukkitLocales.java +++ b/bukkit/src/main/java/co/aikar/commands/BukkitLocales.java @@ -39,6 +39,10 @@ public class BukkitLocales extends Locales { public BukkitLocales(BukkitCommandManager manager) { super(manager); this.manager = manager; + } + + @Override + public void loadLanguages() { String pluginName = "acf-" + manager.plugin.getDescription().getName(); addMessageBundles("acf-minecraft", pluginName, pluginName.toLowerCase()); } diff --git a/bungee/src/main/java/co/aikar/commands/BungeeCommandManager.java b/bungee/src/main/java/co/aikar/commands/BungeeCommandManager.java index 3d44448b..c0eb612e 100644 --- a/bungee/src/main/java/co/aikar/commands/BungeeCommandManager.java +++ b/bungee/src/main/java/co/aikar/commands/BungeeCommandManager.java @@ -88,6 +88,7 @@ public class BungeeCommandManager extends CommandManager { public BungeeLocales getLocales() { if (this.locales == null) { this.locales = new BungeeLocales(this); + this.locales.loadLanguages(); } return locales; } diff --git a/bungee/src/main/java/co/aikar/commands/BungeeLocales.java b/bungee/src/main/java/co/aikar/commands/BungeeLocales.java index 9b969fce..e77a7d17 100644 --- a/bungee/src/main/java/co/aikar/commands/BungeeLocales.java +++ b/bungee/src/main/java/co/aikar/commands/BungeeLocales.java @@ -1,8 +1,17 @@ package co.aikar.commands; public class BungeeLocales extends Locales { + private final BungeeCommandManager manager; + public BungeeLocales(BungeeCommandManager manager) { super(manager); + + this.manager = manager; + } + + @Override + public void loadLanguages() { + super.loadLanguages(); String pluginName = "acf-" + manager.plugin.getDescription().getName(); addMessageBundles("acf-minecraft", pluginName, pluginName.toLowerCase()); } diff --git a/core/src/main/java/co/aikar/commands/CommandManager.java b/core/src/main/java/co/aikar/commands/CommandManager.java index ec74ce5e..48f5bab9 100644 --- a/core/src/main/java/co/aikar/commands/CommandManager.java +++ b/core/src/main/java/co/aikar/commands/CommandManager.java @@ -52,7 +52,6 @@ public abstract class CommandManager { } }; defaultFormatter = plain; - getLocales().addMessageBundles("acf-core"); formatters.put(MessageType.INFO, plain); formatters.put(MessageType.SYNTAX, plain); formatters.put(MessageType.ERROR, plain); diff --git a/core/src/main/java/co/aikar/commands/Locales.java b/core/src/main/java/co/aikar/commands/Locales.java index 1fe88a4b..c698a524 100644 --- a/core/src/main/java/co/aikar/commands/Locales.java +++ b/core/src/main/java/co/aikar/commands/Locales.java @@ -44,11 +44,14 @@ public class Locales { this.localeManager = LocaleManager.create(manager::getIssuerLocale); } + public void loadLanguages() { + addMessageBundles("acf-core"); + } + public Locale getDefaultLocale() { return this.localeManager.getDefaultLocale(); } - /** * Looks for all previously loaded bundles, and if any new Supported Languages have been added, load them. */ diff --git a/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java b/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java index e5b9b57e..2f82db9b 100644 --- a/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java +++ b/sponge/src/main/java/co/aikar/commands/SpongeCommandManager.java @@ -100,6 +100,7 @@ public class SpongeCommandManager extends CommandManager { public SpongeLocales getLocales() { if (this.locales == null) { this.locales = new SpongeLocales(this); + this.locales.loadLanguages(); } return locales; } diff --git a/sponge/src/main/java/co/aikar/commands/SpongeLocales.java b/sponge/src/main/java/co/aikar/commands/SpongeLocales.java index 347ce265..0d50d696 100644 --- a/sponge/src/main/java/co/aikar/commands/SpongeLocales.java +++ b/sponge/src/main/java/co/aikar/commands/SpongeLocales.java @@ -1,7 +1,16 @@ package co.aikar.commands; public class SpongeLocales extends Locales{ + private final SpongeCommandManager manager; + public SpongeLocales(SpongeCommandManager manager) { super(manager); + this.manager = manager; + } + + @Override + public void loadLanguages() { + String pluginName = "acf-" + manager.plugin.getName(); + addMessageBundles("acf-minecraft", pluginName, pluginName.toLowerCase()); } }