From 79ecff610a0811a86efbbbcaed63260ea844551f Mon Sep 17 00:00:00 2001 From: f3shqt <30647065+f3shqt@users.noreply.github.com> Date: Tue, 7 May 2024 15:18:58 +0100 Subject: Added Cold Overlay Adds Minecraft Cold Overlay to the Glacite Tunnels --- .../skyblock/dwarven/GlaciteColdOverlay.java | 70 ++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java (limited to 'src/main/java/de/hysky/skyblocker/skyblock') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java new file mode 100644 index 00000000..441d2f48 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java @@ -0,0 +1,70 @@ +package de.hysky.skyblocker.skyblock.dwarven; + + +import com.mojang.blaze3d.systems.RenderSystem; +import de.hysky.skyblocker.config.SkyblockerConfigManager; +import de.hysky.skyblocker.events.HudRenderEvents; +import de.hysky.skyblocker.utils.Utils; +import de.hysky.skyblocker.utils.scheduler.Scheduler; +import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents; +import net.minecraft.client.gui.DrawContext; +import net.minecraft.text.Text; +import net.minecraft.util.Identifier; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class GlaciteColdOverlay { + private static final Identifier POWDER_SNOW_OUTLINE = new Identifier("textures/misc/powder_snow_outline.png"); + private static final Pattern COLD_PATTERN = Pattern.compile("Cold: -(\\d+)❄"); + private static int cold = 0; + private static long resetTime = System.currentTimeMillis(); + + public static void init() { + Scheduler.INSTANCE.scheduleCyclic(GlaciteColdOverlay::update, 20); + HudRenderEvents.AFTER_MAIN_HUD.register(GlaciteColdOverlay::render); + ClientReceiveMessageEvents.GAME.register(GlaciteColdOverlay::coldReset); + } + + private static void coldReset(Text text, boolean b) { + String message = text.getString(); + if (message.equals("The warmth of the campfire reduced your ❄ Cold to 0!")) { + cold = 0; + resetTime = System.currentTimeMillis(); + } + } + + public static void update() { + if (!Utils.isInDwarvenMines() || System.currentTimeMillis() - resetTime < 3000 || !SkyblockerConfigManager.get().locations.dwarvenMines.enableGlaciteColdOverlay) { + cold = 0; + return; + } + for (String line : Utils.STRING_SCOREBOARD) { + Matcher coldMatcher = COLD_PATTERN.matcher(line); + if (coldMatcher.matches()) { + String value = coldMatcher.group(1); + cold = Integer.parseInt(value); + return; + } + } + cold = 0; + } + + private static void renderOverlay(DrawContext context, Identifier texture, float opacity) { + RenderSystem.disableDepthTest(); + RenderSystem.depthMask(false); + RenderSystem.enableBlend(); + context.setShaderColor(1.0f, 1.0f, 1.0f, opacity); + context.drawTexture(texture, 0, 0, -90, 0.0f, 0.0f, context.getScaledWindowWidth(), context.getScaledWindowHeight(), context.getScaledWindowWidth(), context.getScaledWindowHeight()); + RenderSystem.disableBlend(); + RenderSystem.depthMask(true); + RenderSystem.enableDepthTest(); + context.setShaderColor(1.0f, 1.0f, 1.0f, 1.0f); + } + + public static void render(DrawContext context, float tickDelta) { + if (Utils.isInDwarvenMines() && SkyblockerConfigManager.get().locations.dwarvenMines.enableGlaciteColdOverlay) { + renderOverlay(context, POWDER_SNOW_OUTLINE, cold / 100f); + } + } +} -- cgit From 35ae41532e51530f3f255fff2b8f58d8cff54bef Mon Sep 17 00:00:00 2001 From: f3shqt <30647065+f3shqt@users.noreply.github.com> Date: Tue, 7 May 2024 20:50:21 +0100 Subject: Changes Implemented Implemented changes suggested and fixed render order to stop clashing with other guis. --- .../java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/main/java/de/hysky/skyblocker/skyblock') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java index 441d2f48..cb86dae6 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java @@ -27,6 +27,9 @@ public class GlaciteColdOverlay { } private static void coldReset(Text text, boolean b) { + if (Utils.isInDwarvenMines() || b) { + return; + } String message = text.getString(); if (message.equals("The warmth of the campfire reduced your ❄ Cold to 0!")) { cold = 0; -- cgit From 9d389911c426a7ee2f97fcde8be39db332c34b2d Mon Sep 17 00:00:00 2001 From: f3shqt <30647065+f3shqt@users.noreply.github.com> Date: Wed, 8 May 2024 00:16:56 +0100 Subject: Fixed Check check was inverted --- .../java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/de/hysky/skyblocker/skyblock') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java index cb86dae6..e09c9799 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java @@ -27,7 +27,7 @@ public class GlaciteColdOverlay { } private static void coldReset(Text text, boolean b) { - if (Utils.isInDwarvenMines() || b) { + if (!Utils.isInDwarvenMines() || b) { return; } String message = text.getString(); -- cgit From 3cf6a7b4d5a17428382cfa4b0e08103c5e5b9148 Mon Sep 17 00:00:00 2001 From: f3shqt <30647065+f3shqt@users.noreply.github.com> Date: Fri, 10 May 2024 15:22:17 +0100 Subject: Fixed Config and Added Glacite Tunnels Section --- .../java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/main/java/de/hysky/skyblocker/skyblock') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java index e09c9799..1dd7cac9 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java @@ -38,7 +38,7 @@ public class GlaciteColdOverlay { } public static void update() { - if (!Utils.isInDwarvenMines() || System.currentTimeMillis() - resetTime < 3000 || !SkyblockerConfigManager.get().locations.dwarvenMines.enableGlaciteColdOverlay) { + if (!Utils.isInDwarvenMines() || System.currentTimeMillis() - resetTime < 3000 || !SkyblockerConfigManager.get().mining.glacite.ColdOverlay) { cold = 0; return; } @@ -66,7 +66,7 @@ public class GlaciteColdOverlay { } public static void render(DrawContext context, float tickDelta) { - if (Utils.isInDwarvenMines() && SkyblockerConfigManager.get().locations.dwarvenMines.enableGlaciteColdOverlay) { + if (Utils.isInDwarvenMines() && SkyblockerConfigManager.get().mining.glacite.ColdOverlay) { renderOverlay(context, POWDER_SNOW_OUTLINE, cold / 100f); } } -- cgit From 39be66bb1a613ced28687a130254360850f85a12 Mon Sep 17 00:00:00 2001 From: f3shqt <30647065+f3shqt@users.noreply.github.com> Date: Fri, 10 May 2024 20:49:12 +0100 Subject: Fix formatting --- .../java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/main/java/de/hysky/skyblocker/skyblock') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java index 1dd7cac9..454d275f 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java @@ -38,7 +38,7 @@ public class GlaciteColdOverlay { } public static void update() { - if (!Utils.isInDwarvenMines() || System.currentTimeMillis() - resetTime < 3000 || !SkyblockerConfigManager.get().mining.glacite.ColdOverlay) { + if (!Utils.isInDwarvenMines() || System.currentTimeMillis() - resetTime < 3000 || !SkyblockerConfigManager.get().mining.glacite.coldOverlay) { cold = 0; return; } @@ -66,7 +66,7 @@ public class GlaciteColdOverlay { } public static void render(DrawContext context, float tickDelta) { - if (Utils.isInDwarvenMines() && SkyblockerConfigManager.get().mining.glacite.ColdOverlay) { + if (Utils.isInDwarvenMines() && SkyblockerConfigManager.get().mining.glacite.coldOverlay) { renderOverlay(context, POWDER_SNOW_OUTLINE, cold / 100f); } } -- cgit From b659adf0f8b2771afaaf35900d483b7ad4e782b2 Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Mon, 13 May 2024 17:00:14 -0400 Subject: Change draw order Previously it could draw on top of the hotbar at larger GUI scales --- .../de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'src/main/java/de/hysky/skyblocker/skyblock') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java index 454d275f..3839a712 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java @@ -1,9 +1,7 @@ package de.hysky.skyblocker.skyblock.dwarven; - import com.mojang.blaze3d.systems.RenderSystem; import de.hysky.skyblocker.config.SkyblockerConfigManager; -import de.hysky.skyblocker.events.HudRenderEvents; import de.hysky.skyblocker.utils.Utils; import de.hysky.skyblocker.utils.scheduler.Scheduler; import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents; @@ -22,7 +20,6 @@ public class GlaciteColdOverlay { public static void init() { Scheduler.INSTANCE.scheduleCyclic(GlaciteColdOverlay::update, 20); - HudRenderEvents.AFTER_MAIN_HUD.register(GlaciteColdOverlay::render); ClientReceiveMessageEvents.GAME.register(GlaciteColdOverlay::coldReset); } @@ -37,7 +34,7 @@ public class GlaciteColdOverlay { } } - public static void update() { + private static void update() { if (!Utils.isInDwarvenMines() || System.currentTimeMillis() - resetTime < 3000 || !SkyblockerConfigManager.get().mining.glacite.coldOverlay) { cold = 0; return; @@ -65,7 +62,7 @@ public class GlaciteColdOverlay { context.setShaderColor(1.0f, 1.0f, 1.0f, 1.0f); } - public static void render(DrawContext context, float tickDelta) { + public static void render(DrawContext context) { if (Utils.isInDwarvenMines() && SkyblockerConfigManager.get().mining.glacite.coldOverlay) { renderOverlay(context, POWDER_SNOW_OUTLINE, cold / 100f); } -- cgit