aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/skyblock/end
diff options
context:
space:
mode:
authorYasin <LifeIsAParadox@users.noreply.github.com>2024-01-25 18:06:41 +0100
committerGitHub <noreply@github.com>2024-01-25 18:06:41 +0100
commit9e1a614816ee7cf9b8d302ee592215fb56ed0ddc (patch)
treeeb2f6b4c7976c57ec21ac19c2d13a343a3098d1e /src/main/java/de/hysky/skyblocker/skyblock/end
parentf3877c4ed2eb5e08d19f9d2f45563226db311904 (diff)
parentcbe2450d8f8f089320cc15adf150080679dce51f (diff)
downloadSkyblocker-9e1a614816ee7cf9b8d302ee592215fb56ed0ddc.tar.gz
Skyblocker-9e1a614816ee7cf9b8d302ee592215fb56ed0ddc.tar.bz2
Skyblocker-9e1a614816ee7cf9b8d302ee592215fb56ed0ddc.zip
Merge pull request #502 from akarahdev/master
Enderman Slayer Utilities
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/end')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/end/BeaconHighlighter.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/end/BeaconHighlighter.java b/src/main/java/de/hysky/skyblocker/skyblock/end/BeaconHighlighter.java
new file mode 100644
index 00000000..d2269482
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/skyblock/end/BeaconHighlighter.java
@@ -0,0 +1,40 @@
+package de.hysky.skyblocker.skyblock.end;
+
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.render.RenderHelper;
+import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
+import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents;
+import net.minecraft.util.math.BlockPos;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class BeaconHighlighter {
+ public static final List<BlockPos> beaconPositions = new ArrayList<>();
+
+ /**
+ * Initializes the beacon highlighting system.
+ * {@link BeaconHighlighter#render(WorldRenderContext)} is called after translucent rendering.
+ */
+ public static void init() {
+ WorldRenderEvents.AFTER_TRANSLUCENT.register(BeaconHighlighter::render);
+ }
+
+ /**
+ * Renders the beacon glow around it. It is rendered in a red color with 50% opacity, and
+ * is visible through walls.
+ *
+ * @param context An instance of WorldRenderContext for the RenderHelper to use
+ */
+ public static void render(WorldRenderContext context) {
+ if (Utils.isInTheEnd() && SkyblockerConfigManager.get().slayer.endermanSlayer.highlightBeacons)
+ beaconPositions.forEach((position) -> RenderHelper.renderFilled(
+ context,
+ position,
+ new float[]{1.0f, 0.0f, 0.0f},
+ 0.5f,
+ false
+ ));
+ }
+}