From 4af5ccf83b9d08ecf5b620d546447b473a997bd6 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/ChatMessage.java | 3 ++- .../net/minecraft/server/LocaleLanguage.java | 27 +++++++++++++++++-- src/main/resources/purpur.lang | 1 + 3 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 src/main/resources/purpur.lang diff --git a/src/main/java/net/minecraft/server/ChatMessage.java b/src/main/java/net/minecraft/server/ChatMessage.java index 937361fc2b..37ec73a8cb 100644 --- a/src/main/java/net/minecraft/server/ChatMessage.java +++ b/src/main/java/net/minecraft/server/ChatMessage.java @@ -17,7 +17,7 @@ public class ChatMessage extends ChatBaseComponent implements ChatComponentConte private static final LocaleLanguage d = new LocaleLanguage(); private static final LocaleLanguage e = LocaleLanguage.a(); - private final String key; + private String key; // Purpur - remove final private final Object[] args; private final Object h = new Object(); private long i = -1L; @@ -41,6 +41,7 @@ public class ChatMessage extends ChatBaseComponent implements ChatComponentConte } } + if (key != null && key.contains(".purpur.")) key = getText(); // Purpur } @VisibleForTesting diff --git a/src/main/java/net/minecraft/server/LocaleLanguage.java b/src/main/java/net/minecraft/server/LocaleLanguage.java index 6012739331..8f36f78c06 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 { + 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 { - InputStream inputstream = LocaleLanguage.class.getResourceAsStream("/assets/minecraft/lang/en_us.json"); + // 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 } } 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