From bc5f099b3b1bb2c66a1286e79ad9d8713451a877 Mon Sep 17 00:00:00 2001 From: Lixfel Date: Mon, 13 Jun 2022 20:53:27 +0200 Subject: [PATCH] Fix Java 8 Properties --- .../src/de/steamwar/message/Message.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/SpigotCore_Main/src/de/steamwar/message/Message.java b/SpigotCore_Main/src/de/steamwar/message/Message.java index 6835e8b..095e2d6 100644 --- a/SpigotCore_Main/src/de/steamwar/message/Message.java +++ b/SpigotCore_Main/src/de/steamwar/message/Message.java @@ -20,7 +20,6 @@ package de.steamwar.message; import de.steamwar.core.BountifulWrapper; -import de.steamwar.core.WorldOfColorWrapper; import de.steamwar.sql.SteamwarUser; import net.md_5.bungee.api.ChatMessageType; import net.md_5.bungee.api.chat.ClickEvent; @@ -30,12 +29,15 @@ import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import java.nio.charset.StandardCharsets; import java.text.MessageFormat; import java.util.Locale; import java.util.ResourceBundle; public class Message { + private static final int JDK_VERSION = Integer.parseInt(System.getProperty("java.version").split("\\.")[1]); + private final String resourceBundleName; private final ClassLoader classLoader; @@ -68,12 +70,19 @@ public class Message { ResourceBundle resourceBundle = ResourceBundle.getBundle(resourceBundleName, locale, classLoader); String pattern = ""; if(prefixed) - pattern = resourceBundle.getObject("PREFIX") + " "; - pattern += (String)resourceBundle.getObject(message); + pattern = fromRB(resourceBundle, "PREFIX") + " "; + pattern += fromRB(resourceBundle, message); return new MessageFormat(pattern, locale).format(params); } + private String fromRB(ResourceBundle bundle, String key) { + String result = bundle.getString(key); + if(JDK_VERSION < 9) + result = new String(result.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8); + return result; + } + private Locale getLocale(Player player){ return SteamwarUser.get(player).getLocale(); }