From 6820d1aa5606b069c1ac73102b9bf2ee6a17ad91 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 26 Mar 2020 13:17:09 -0500 Subject: [PATCH] Add language asset purpur.lang --- .../net/minecraft/server/LocaleLanguage.java | 33 +++++++++++++++++-- src/main/resources/purpur.lang | 1 + 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 src/main/resources/purpur.lang diff --git a/src/main/java/net/minecraft/server/LocaleLanguage.java b/src/main/java/net/minecraft/server/LocaleLanguage.java index 6012739331..01f1ffa2d4 100644 --- a/src/main/java/net/minecraft/server/LocaleLanguage.java +++ b/src/main/java/net/minecraft/server/LocaleLanguage.java @@ -25,8 +25,31 @@ public class LocaleLanguage { private long e; public LocaleLanguage() { + // Purpur start + loadFromJar("/assets/minecraft/lang/en_us.json"); + loadFromFile("purpur.lang"); + } + + private void loadFromFile(String resource) { try { - InputStream inputstream = LocaleLanguage.class.getResourceAsStream("/assets/minecraft/lang/en_us.json"); + java.io.File file = new java.io.File(resource); + if (!file.exists()) { + java.nio.file.Files.copy(getClass().getResourceAsStream("/" + resource), file.toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } + loadFromJar("/" + resource); + loadFromStream(resource, new java.io.FileInputStream(file)); + } catch (IOException e) { + LOGGER.error("Couldn't read string from " + resource, e); + } + } + + private void loadFromJar(String resource) { + loadFromStream(resource, getClass().getResourceAsStream(resource)); + } + + private void loadFromStream(String resource, InputStream inputstream) { + try { + // Purpur end Throwable throwable = null; try { @@ -60,7 +83,7 @@ public class LocaleLanguage { } } catch (JsonParseException | IOException ioexception) { - LocaleLanguage.LOGGER.error("Couldn't read strings from /assets/minecraft/lang/en_us.json", ioexception); + LocaleLanguage.LOGGER.error("Couldn't read strings from " + resource, ioexception); // Purpur } } @@ -88,4 +111,10 @@ public class LocaleLanguage { public long b() { return this.e; } + + // Purpur start + public static ChatMessage translate(String key, Object... args) { + return new ChatMessage(org.bukkit.ChatColor.translateAlternateColorCodes('&', getInstance().translateKey(key)), args); + } + // Purpur end } diff --git a/src/main/resources/purpur.lang b/src/main/resources/purpur.lang new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/src/main/resources/purpur.lang @@ -0,0 +1 @@ +{} -- 2.24.0