From ba5b8b0265eb1db1251dc80692c091616956a5fa Mon Sep 17 00:00:00 2001 From: akarahdev Date: Thu, 18 Jan 2024 09:09:30 -0500 Subject: add beacon highlighting and nukekubi highlights --- .../java/de/hysky/skyblocker/SkyblockerMod.java | 2 ++ .../skyblock/endermanslayer/BeaconHighlighter.java | 41 ++++++++++++++-------- 2 files changed, 28 insertions(+), 15 deletions(-) (limited to 'src/main') diff --git a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java index 83f41c0b..905478ce 100644 --- a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java +++ b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java @@ -14,6 +14,7 @@ import de.hysky.skyblocker.skyblock.dungeon.puzzle.waterboard.Waterboard; import de.hysky.skyblocker.skyblock.dungeon.secrets.DungeonManager; import de.hysky.skyblocker.skyblock.dungeon.secrets.SecretsTracker; import de.hysky.skyblocker.skyblock.dwarven.DwarvenHud; +import de.hysky.skyblocker.skyblock.endermanslayer.BeaconHighlighter; import de.hysky.skyblocker.skyblock.item.*; import de.hysky.skyblocker.skyblock.item.tooltip.BackpackPreview; import de.hysky.skyblocker.skyblock.item.tooltip.ItemTooltip; @@ -135,6 +136,7 @@ public class SkyblockerMod implements ClientModInitializer { RenderHelper.init(); containerSolverManager.init(); statusBarTracker.init(); + BeaconHighlighter.init(); Scheduler.INSTANCE.scheduleCyclic(Utils::update, 20); Scheduler.INSTANCE.scheduleCyclic(DiscordRPCManager::updateDataAndPresence, 200); Scheduler.INSTANCE.scheduleCyclic(LividColor::update, 10); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/endermanslayer/BeaconHighlighter.java b/src/main/java/de/hysky/skyblocker/skyblock/endermanslayer/BeaconHighlighter.java index 2dc64aff..44e86966 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/endermanslayer/BeaconHighlighter.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/endermanslayer/BeaconHighlighter.java @@ -1,43 +1,54 @@ package de.hysky.skyblocker.skyblock.endermanslayer; +import de.hysky.skyblocker.config.SkyblockerConfigManager; +import de.hysky.skyblocker.skyblock.entity.MobGlow; import de.hysky.skyblocker.utils.Tickable; import de.hysky.skyblocker.utils.render.RenderHelper; import de.hysky.skyblocker.utils.render.Renderable; +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.block.Block; +import net.minecraft.block.BlockState; import net.minecraft.client.MinecraftClient; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; import net.minecraft.nbt.NbtString; import net.minecraft.util.math.BlockPos; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class BeaconHighlighter { + static BlockPos pos = null; + + public static void init() { + WorldRenderEvents.AFTER_TRANSLUCENT.register(BeaconHighlighter::render); + Scheduler.INSTANCE.scheduleCyclic(BeaconHighlighter::update, 20); + } + + public static void update() { + Logger logger = LoggerFactory.getLogger(BeaconHighlighter.class); -public class BeaconHighlighter implements Tickable, Renderable { - BlockPos pos = null; - @Override - public void tick(MinecraftClient client) { var player = MinecraftClient.getInstance().player; var world = MinecraftClient.getInstance().world; pos = null; - if(player != null && world != null) { - for(int x = (int) (player.getX()-20); x