diff --git a/core/src/main/java/com/rexcantor64/triton/player/BungeeLanguagePlayer.java b/core/src/main/java/com/rexcantor64/triton/player/BungeeLanguagePlayer.java index 7a9b3102..6303bb3a 100644 --- a/core/src/main/java/com/rexcantor64/triton/player/BungeeLanguagePlayer.java +++ b/core/src/main/java/com/rexcantor64/triton/player/BungeeLanguagePlayer.java @@ -118,10 +118,10 @@ public void setLang(Language language, boolean sendToSpigot) { PlayerChangeLanguageBungeeEvent event = new PlayerChangeLanguageBungeeEvent(this, this.language, language); BungeeCord.getInstance().getPluginManager().callEvent(event); if (event.isCancelled()) return; + this.language = event.getNewLanguage(); if (this.waitingForClientLocale && getParent() != null) parent.sendMessage(TextComponent.fromLegacyText(ChatColor.translateAlternateColorCodes('&', Triton.get().getMessagesConfig() .getMessage("success.detected-language", language.getDisplayName())))); - this.language = event.getNewLanguage(); this.waitingForClientLocale = false; if (sendToSpigot && getParent() != null) diff --git a/core/src/main/java/com/rexcantor64/triton/player/SpigotLanguagePlayer.java b/core/src/main/java/com/rexcantor64/triton/player/SpigotLanguagePlayer.java index bc7949c9..5a4d000d 100644 --- a/core/src/main/java/com/rexcantor64/triton/player/SpigotLanguagePlayer.java +++ b/core/src/main/java/com/rexcantor64/triton/player/SpigotLanguagePlayer.java @@ -119,6 +119,8 @@ public void setLang(Language lang, boolean sendToBungee) { PlayerChangeLanguageSpigotEvent event = new PlayerChangeLanguageSpigotEvent(this, this.lang, lang); Bukkit.getPluginManager().callEvent(event); if (event.isCancelled()) return; + boolean hasChanged = !Objects.equals(event.getNewLanguage(), this.lang); + this.lang = event.getNewLanguage(); if (this.waitingForClientLocale) { try { if (toBukkit().isPresent()) { @@ -133,8 +135,6 @@ public void setLang(Language lang, boolean sendToBungee) { Triton.get().getLogger().logError(e, "Failed to send \"language changed\" message."); } } - boolean hasChanged = !Objects.equals(event.getNewLanguage(), this.lang); - this.lang = event.getNewLanguage(); this.waitingForClientLocale = false; if (hasChanged) { refreshAll(); diff --git a/core/src/main/java/com/rexcantor64/triton/player/VelocityLanguagePlayer.java b/core/src/main/java/com/rexcantor64/triton/player/VelocityLanguagePlayer.java index 4d571f4f..1011262e 100644 --- a/core/src/main/java/com/rexcantor64/triton/player/VelocityLanguagePlayer.java +++ b/core/src/main/java/com/rexcantor64/triton/player/VelocityLanguagePlayer.java @@ -71,10 +71,10 @@ public void setLang(Language language) { public void setLang(Language language, boolean sendToSpigot) { // TODO fire Triton's API change language event + this.language = language; if (this.waitingForClientLocale && getParent() != null) parent.sendMessage(LegacyComponentSerializer.legacyAmpersand().deserialize(Triton.get().getMessagesConfig() .getMessage("success.detected-language", language.getDisplayName()))); - this.language = language; this.waitingForClientLocale = false; if (sendToSpigot && getParent() != null)