diff options
| author | Yasin <LifeIsAParadox@users.noreply.github.com> | 2024-01-25 18:06:41 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-25 18:06:41 +0100 |
| commit | 9e1a614816ee7cf9b8d302ee592215fb56ed0ddc (patch) | |
| tree | eb2f6b4c7976c57ec21ac19c2d13a343a3098d1e /src/main/java/de/hysky/skyblocker/skyblock/end | |
| parent | f3877c4ed2eb5e08d19f9d2f45563226db311904 (diff) | |
| parent | cbe2450d8f8f089320cc15adf150080679dce51f (diff) | |
| download | Skyblocker-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.java | 40 |
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 + )); + } +} |
