From ec0660e41145d3d9ed479b3e697afddf8ddc8c4c Mon Sep 17 00:00:00 2001 From: Moulberry Date: Sun, 8 Nov 2020 16:42:16 +1100 Subject: asbyth made me do it --- .../notenoughupdates/BetterContainers.java | 5 ++- .../moulberry/notenoughupdates/NEUManager.java | 4 +-- .../notenoughupdates/NotEnoughUpdates.java | 5 ++- .../notenoughupdates/cosmetics/NEUCape.java | 4 +++ .../notenoughupdates/dungeons/DungeonMap.java | 5 ++- .../notenoughupdates/dungeons/DungeonWin.java | 3 -- .../notenoughupdates/gamemodes/SBGamemodes.java | 5 +-- .../notenoughupdates/options/Options.java | 37 ++++++++++----------- .../assets/notenoughupdates/capes/lightning.png | Bin 0 -> 6490 bytes .../notenoughupdates/shaders/lightning_cape.frag | 13 ++++++++ .../notenoughupdates/shaders/lightning_cape.vert | 12 +++++++ 11 files changed, 55 insertions(+), 38 deletions(-) create mode 100644 src/main/resources/assets/notenoughupdates/capes/lightning.png create mode 100644 src/main/resources/assets/notenoughupdates/shaders/lightning_cape.frag create mode 100644 src/main/resources/assets/notenoughupdates/shaders/lightning_cape.vert diff --git a/src/main/java/io/github/moulberry/notenoughupdates/BetterContainers.java b/src/main/java/io/github/moulberry/notenoughupdates/BetterContainers.java index 1a7cd803..fac3a8d1 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/BetterContainers.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/BetterContainers.java @@ -164,9 +164,8 @@ public class BetterContainers { if(hasNullPane() && container instanceof ContainerChest) { int backgroundStyle = NotEnoughUpdates.INSTANCE.manager.config.dynamicMenuBackgroundStyle.value.intValue(); backgroundStyle = Math.max(1, Math.min(10, backgroundStyle)); - try { - BufferedReader reader = new BufferedReader(new InputStreamReader(Minecraft.getMinecraft().getResourceManager().getResource( - new ResourceLocation("notenoughupdates:dynamic_54/style"+ backgroundStyle+"/dynamic_config.json")).getInputStream(), StandardCharsets.UTF_8)); + try(BufferedReader reader = new BufferedReader(new InputStreamReader(Minecraft.getMinecraft().getResourceManager().getResource( + new ResourceLocation("notenoughupdates:dynamic_54/style"+ backgroundStyle+"/dynamic_config.json")).getInputStream(), StandardCharsets.UTF_8))) { JsonObject json = NotEnoughUpdates.INSTANCE.manager.gson.fromJson(reader, JsonObject.class); String textColourS = json.get("text-colour").getAsString(); textColour = (int)Long.parseLong(textColourS, 16); diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java index 9c90532a..8073227c 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java @@ -148,9 +148,7 @@ public class NEUManager { * Parses a file in to a JsonObject. */ public JsonObject getJsonFromFile(File file) { - try { - InputStream in = new FileInputStream(file); - BufferedReader reader = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8)); + try(BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), StandardCharsets.UTF_8))) { JsonObject json = gson.fromJson(reader, JsonObject.class); return json; } catch(Exception e) { return null; } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java b/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java index f90f4367..3ca2ab04 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java @@ -690,9 +690,8 @@ public class NotEnoughUpdates { SimpleCommand neumapCommand = new SimpleCommand("neumap", new SimpleCommand.ProcessCommandRunnable() { public void processCommand(ICommandSender sender, String[] args) { if(colourMap == null) { - try { - BufferedReader reader = new BufferedReader(new InputStreamReader(Minecraft.getMinecraft().getResourceManager().getResource( - new ResourceLocation("notenoughupdates:maps/F1Full.json")).getInputStream(), StandardCharsets.UTF_8)); + try(BufferedReader reader = new BufferedReader(new InputStreamReader(Minecraft.getMinecraft().getResourceManager().getResource( + new ResourceLocation("notenoughupdates:maps/F1Full.json")).getInputStream(), StandardCharsets.UTF_8))) { JsonObject json = NotEnoughUpdates.INSTANCE.manager.gson.fromJson(reader, JsonObject.class); colourMap = new Color[128][128]; diff --git a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/NEUCape.java b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/NEUCape.java index 13e61a06..d56a3f8c 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/NEUCape.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/cosmetics/NEUCape.java @@ -81,6 +81,8 @@ public class NEUCape { shaderName = "mcworld_cape"; } else if(capeName.equalsIgnoreCase("lava")) { shaderName = "lava_cape"; + } else if(capeName.equalsIgnoreCase("lightning")) { + shaderName = "lightning_cape"; } else { shaderName = "cape"; } @@ -306,6 +308,8 @@ public class NEUCape { shaderManager.loadData(shaderName, "millis", (int) (System.currentTimeMillis() - startTime)); } else if(shaderName.equalsIgnoreCase("lava_cape")) { shaderManager.loadData(shaderName, "millis", (int) (System.currentTimeMillis() - startTime)); + } else if(shaderName.equalsIgnoreCase("lightning_cape")) { + shaderManager.loadData(shaderName, "millis", (int) (System.currentTimeMillis() - startTime)); } } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java index e68cde61..fa49c0c2 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java @@ -376,9 +376,8 @@ public class DungeonMap { return borderRadiusCache.get(style); } - try { - BufferedReader reader = new BufferedReader(new InputStreamReader(Minecraft.getMinecraft().getResourceManager().getResource( - new ResourceLocation("notenoughupdates:dungeon_map/borders/"+sizeId+"/"+style+".json")).getInputStream(), StandardCharsets.UTF_8)); + try(BufferedReader reader = new BufferedReader(new InputStreamReader(Minecraft.getMinecraft().getResourceManager().getResource( + new ResourceLocation("notenoughupdates:dungeon_map/borders/"+sizeId+"/"+style+".json")).getInputStream(), StandardCharsets.UTF_8))) { JsonObject json = NotEnoughUpdates.INSTANCE.manager.gson.fromJson(reader, JsonObject.class); float radiusSq = json.get("radiusSq").getAsFloat(); diff --git a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonWin.java b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonWin.java index 2c99c8c0..f6538346 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonWin.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonWin.java @@ -144,9 +144,6 @@ public class DungeonWin { long currentTime = System.currentTimeMillis(); String unformatted = Utils.cleanColour(e.message.getUnformattedText()); if(e.message.getFormattedText().startsWith(EnumChatFormatting.RESET+" ")) { - if(unformatted.contains("\u25AC")) { - System.out.println("CONTAINS BREAK!"); - } if(currentTime - lastDungeonFinish > 10000) { Matcher matcher = TEAM_SCORE_REGEX.matcher(unformatted); if(matcher.find()) { diff --git a/src/main/java/io/github/moulberry/notenoughupdates/gamemodes/SBGamemodes.java b/src/main/java/io/github/moulberry/notenoughupdates/gamemodes/SBGamemodes.java index 377977ac..09f00beb 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/gamemodes/SBGamemodes.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/gamemodes/SBGamemodes.java @@ -135,10 +135,7 @@ public class SBGamemodes { return; } - try { - InputStream in = new FileInputStream(gamemodeFile); - BufferedReader reader = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8)); - + try(BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(gamemodeFile), StandardCharsets.UTF_8))) { String line = reader.readLine(); String decoded = decrypt(line); currentGamemode = gson.fromJson(decoded, GamemodeWrapper.class).currentGamemode; diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java b/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java index 1b6cebe3..0aedc306 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java @@ -733,28 +733,27 @@ public class Options { } public static Options loadFromFile(Gson gson, File file) throws IOException { - InputStream in = new FileInputStream(file); - BufferedReader reader = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8)); - - Options oLoad = gson.fromJson(reader, Options.class); - Options oDefault = new Options(); - if (oLoad == null) return oDefault; - - for (Field f : Options.class.getDeclaredFields()) { - try { - if (((Option) f.get(oDefault)).value instanceof List) { - //If the default size of the list is greater than the loaded size, use the default value. - //if(((List)((Option)f.get(oDefault)).value).size() > ((List)((Option)f.get(oLoad)).value).size()) { - // continue; - //} - } - if(((Option) f.get(oDefault)).value.getClass().isAssignableFrom(((Option) f.get(oLoad)).value.getClass())) { - ((Option) f.get(oDefault)).value = ((Option) f.get(oLoad)).value; + try(BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), StandardCharsets.UTF_8))) { + Options oLoad = gson.fromJson(reader, Options.class); + Options oDefault = new Options(); + if (oLoad == null) return oDefault; + + for (Field f : Options.class.getDeclaredFields()) { + try { + if (((Option) f.get(oDefault)).value instanceof List) { + //If the default size of the list is greater than the loaded size, use the default value. + //if(((List)((Option)f.get(oDefault)).value).size() > ((List)((Option)f.get(oLoad)).value).size()) { + // continue; + //} + } + if(((Option) f.get(oDefault)).value.getClass().isAssignableFrom(((Option) f.get(oLoad)).value.getClass())) { + ((Option) f.get(oDefault)).value = ((Option) f.get(oLoad)).value; + } + } catch (Exception e) { } - } catch (Exception e) { } + return oDefault; } - return oDefault; } diff --git a/src/main/resources/assets/notenoughupdates/capes/lightning.png b/src/main/resources/assets/notenoughupdates/capes/lightning.png new file mode 100644 index 00000000..dc0afce1 Binary files /dev/null and b/src/main/resources/assets/notenoughupdates/capes/lightning.png differ diff --git a/src/main/resources/assets/notenoughupdates/shaders/lightning_cape.frag b/src/main/resources/assets/notenoughupdates/shaders/lightning_cape.frag new file mode 100644 index 00000000..c4472679 --- /dev/null +++ b/src/main/resources/assets/notenoughupdates/shaders/lightning_cape.frag @@ -0,0 +1,13 @@ +#version 120 + +varying vec4 passColour; +varying vec3 passNormal; +uniform sampler2D textureIn; + +uniform int millis; + +void main() { + vec4 texture = texture2D(textureIn, gl_TexCoord[0].st); + + gl_FragColor = vec4(texture.rgb*shading, gl_FragColor.a); +} diff --git a/src/main/resources/assets/notenoughupdates/shaders/lightning_cape.vert b/src/main/resources/assets/notenoughupdates/shaders/lightning_cape.vert new file mode 100644 index 00000000..2b5c48f8 --- /dev/null +++ b/src/main/resources/assets/notenoughupdates/shaders/lightning_cape.vert @@ -0,0 +1,12 @@ +#version 120 + +varying vec4 passColour; +varying vec3 passNormal; + +void main() { + gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; + gl_TexCoord[0] = gl_MultiTexCoord0; + + passColour = gl_Color; + passNormal = normalize(gl_Normal); +} \ No newline at end of file -- cgit