diff options
author | akarahdev <endisticbutitsforgit@gmail.com> | 2024-01-18 12:02:57 -0500 |
---|---|---|
committer | akarahdev <endisticbutitsforgit@gmail.com> | 2024-01-22 20:19:14 -0500 |
commit | ffb7d6a489934ee8429146c451a54f5d7627bf64 (patch) | |
tree | 123d1b10bacddc06f6a0c8381fdd9ad90c30fdf0 /src/main/java/de/hysky/skyblocker/skyblock/end/BeaconHighlighter.java | |
parent | 1c11eadc90ab43a0fdddfac9a65fd6b8f043837c (diff) | |
download | Skyblocker-ffb7d6a489934ee8429146c451a54f5d7627bf64.tar.gz Skyblocker-ffb7d6a489934ee8429146c451a54f5d7627bf64.tar.bz2 Skyblocker-ffb7d6a489934ee8429146c451a54f5d7627bf64.zip |
please work
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/end/BeaconHighlighter.java')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/end/BeaconHighlighter.java | 49 |
1 files changed, 10 insertions, 39 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 index 0da5cc97..98929e7c 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/end/BeaconHighlighter.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/end/BeaconHighlighter.java @@ -1,52 +1,24 @@ 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 de.hysky.skyblocker.utils.scheduler.Scheduler; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents; -import net.minecraft.client.MinecraftClient; import net.minecraft.util.math.BlockPos; import java.util.ArrayList; import java.util.List; public class BeaconHighlighter { - static List<BlockPos> pos = new ArrayList<>(); + public static List<BlockPos> positions = new ArrayList<>(); /** * Initializes the beacon highlighting system. * `BeaconHighlighter::render` is called after translucent rendering. - * `BeaconHighlighter::update` should be called every 5 ticks. */ public static void init() { WorldRenderEvents.AFTER_TRANSLUCENT.register(BeaconHighlighter::render); - Scheduler.INSTANCE.scheduleCyclic(BeaconHighlighter::update, 5); - } - - /** - * Updates the position of the beacon. - * It checks in a 15 block radius on the X/Z axis, and a ~5 block radius on the Y axis. - * If a beacon is found, `pos` is updated to the beacon's position. - */ - - public static void update() { - var player = MinecraftClient.getInstance().player; - var world = MinecraftClient.getInstance().world; - pos.clear(); - if(player != null && world != null && - SkyblockerConfigManager.get().slayer.endermanSlayer.highlightBeacons) { - for(int x = (player.getBlockPos().getX()-15); x<player.getBlockPos().getX()+15; x++) { - for(int z = (player.getBlockPos().getZ()-15); z<player.getBlockPos().getZ()+15; z++) { - for(int y = (player.getBlockPos().getY()-3); y<player.getBlockPos().getY()+7; y++) { - var state = world.getBlockState(new BlockPos(x, y, z)); - if(state.toString().contains("minecraft:beacon")) { - pos.add(new BlockPos(x, y, z)); - } - } - } - } - } } /** @@ -55,14 +27,13 @@ public class BeaconHighlighter { * @param context An instance of WorldRenderContext for the RenderHelper to use */ public static void render(WorldRenderContext context) { - pos.forEach((it) -> { - RenderHelper.renderFilled( - context, - it, - new float[]{1.0f, 0.0f, 0.0f}, - 0.5f, - false - ); - }); + if(Utils.isInTheEnd() && SkyblockerConfigManager.get().slayer.endermanSlayer.highlightBeacons) + positions.forEach((it) -> RenderHelper.renderFilled( + context, + it, + new float[]{1.0f, 0.0f, 0.0f}, + 0.5f, + false + )); } } |