From d7ed255e17c45aa7460f1caa5c5728b48dcf21d9 Mon Sep 17 00:00:00 2001 From: Christian Date: Fri, 17 Jan 2014 23:35:53 -0500 Subject: [PATCH] Fix NPE at startup --- .../minecraft/util/StringTranslate.java.patch | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/fml/patches/minecraft/net/minecraft/util/StringTranslate.java.patch b/fml/patches/minecraft/net/minecraft/util/StringTranslate.java.patch index 409d67b780..4a9a7aaac9 100644 --- a/fml/patches/minecraft/net/minecraft/util/StringTranslate.java.patch +++ b/fml/patches/minecraft/net/minecraft/util/StringTranslate.java.patch @@ -14,19 +14,33 @@ import java.util.IllegalFormatException; import java.util.Iterator; import java.util.Map; -@@ -25,9 +28,22 @@ +@@ -18,16 +21,35 @@ + { + private static final Pattern field_111053_a = Pattern.compile("%(\\d+\\$)?[\\d\\.]*[df]"); + private static final Splitter field_135065_b = Splitter.on('=').limit(2); ++ private final Map field_74816_c; + private static StringTranslate field_74817_a = new StringTranslate(); +- private final Map field_74816_c = Maps.newHashMap(); + private long field_150511_e; + private static final String __OBFID = "CL_00001212"; public StringTranslate() { + InputStream inputstream = StringTranslate.class.getResourceAsStream("/assets/minecraft/lang/en_US.lang"); -+ inject(inputstream); ++ field_74816_c = Maps.newHashMap(); ++ inject(this, inputstream); + } + + public static void inject(InputStream inputstream) + { ++ inject(field_74817_a, inputstream); ++ } ++ ++ private static void inject(StringTranslate inst, InputStream inputstream) ++ { + HashMap map = parseLangFile(inputstream); -+ field_74817_a.field_74816_c.putAll(map); -+ field_74817_a.field_150511_e = System.currentTimeMillis(); ++ inst.field_74816_c.putAll(map); ++ inst.field_150511_e = System.currentTimeMillis(); + } + + public static HashMap parseLangFile(InputStream inputstream) @@ -38,7 +52,7 @@ Iterator iterator = IOUtils.readLines(inputstream, Charsets.UTF_8).iterator(); while (iterator.hasNext()) -@@ -42,17 +58,17 @@ +@@ -42,17 +64,17 @@ { String s1 = astring[0]; String s2 = field_111053_a.matcher(astring[1]).replaceAll("%$1s");