aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/skyblock
diff options
context:
space:
mode:
authorakarahdev <endisticbutitsforgit@gmail.com>2024-01-18 12:02:57 -0500
committerakarahdev <endisticbutitsforgit@gmail.com>2024-01-22 20:19:14 -0500
commitffb7d6a489934ee8429146c451a54f5d7627bf64 (patch)
tree123d1b10bacddc06f6a0c8381fdd9ad90c30fdf0 /src/main/java/de/hysky/skyblocker/skyblock
parent1c11eadc90ab43a0fdddfac9a65fd6b8f043837c (diff)
downloadSkyblocker-ffb7d6a489934ee8429146c451a54f5d7627bf64.tar.gz
Skyblocker-ffb7d6a489934ee8429146c451a54f5d7627bf64.tar.bz2
Skyblocker-ffb7d6a489934ee8429146c451a54f5d7627bf64.zip
please work
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/end/BeaconHighlighter.java49
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
+ ));
}
}