diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/me/Danker/features/SlayerESP.java | 61 |
1 files changed, 37 insertions, 24 deletions
diff --git a/src/main/java/me/Danker/features/SlayerESP.java b/src/main/java/me/Danker/features/SlayerESP.java index 5628dcc..b917c23 100644 --- a/src/main/java/me/Danker/features/SlayerESP.java +++ b/src/main/java/me/Danker/features/SlayerESP.java @@ -6,19 +6,12 @@ import me.Danker.handlers.ScoreboardHandler; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityArmorStand; -import net.minecraft.entity.monster.EntitySpider; -import net.minecraft.entity.monster.EntityZombie; -import net.minecraft.entity.passive.EntityWolf; import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.BlockPos; -import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StringUtils; import net.minecraft.world.World; import net.minecraftforge.client.event.ClientChatReceivedEvent; import net.minecraftforge.client.event.RenderWorldLastEvent; -import net.minecraftforge.event.entity.player.AttackEntityEvent; -import net.minecraftforge.event.entity.player.PlayerInteractEvent; +import net.minecraftforge.event.AttachCapabilitiesEvent; import net.minecraftforge.event.world.WorldEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent; @@ -35,6 +28,7 @@ public class SlayerESP { static Entity spider = null; static Entity wolf = null; static boolean slayerActive = false; + static boolean slayerStarted = false; public static final int SLAYER_COLOUR = 0x0000FF; @SubscribeEvent @@ -43,7 +37,8 @@ public class SlayerESP { spider = null; wolf = null; } - + + @SubscribeEvent public void onTick(TickEvent.ClientTickEvent event) { if (!Utils.inSkyblock) return; @@ -51,26 +46,34 @@ public class SlayerESP { World world = Minecraft.getMinecraft().theWorld; if (world == null) return; - if (DankersSkyblockMod.tickAmount % 2 == 0 && ToggleCommand.highlightSlayers) { + if (!slayerStarted) return; + if (zombie != null || spider != null || wolf != null) { + return; + } + slayerActive = true; + if (DankersSkyblockMod.tickAmount % 10 == 0 && ToggleCommand.highlightSlayers) { for (String line : ScoreboardHandler.getSidebarLines()) { - String cleanedLine = ScoreboardHandler.cleanSB(line); if (cleanedLine.contains("Slay the boss!")) { slayerActive = true; + List<Entity> entities = world.getLoadedEntityList(); + for (Entity e : entities) { + System.out.println(e.getName()); + if (e.getName().contains("Revenant Horror")) { + zombie = e; + return; + } else if (e.getName().contains("Tarantula Broodfather")) { + spider = e; + return; + } else if (e.getName().contains("Sven Packmaster")) { + wolf = e; + return; + } + + } break; } } - if (!slayerActive) return; - List<Entity> entities = world.getLoadedEntityList(); - for (Entity e : entities) { - if (e.getName().contains("Revenant Horror")) { - zombie = e; - } else if (e.getName().contains("Tarantula Broodfather")) { - spider = e; - } else if (e.getName().contains("Sven Packmaster")) { - wolf = e; - } - } } } @@ -78,8 +81,15 @@ public class SlayerESP { public void onChat(ClientChatReceivedEvent event) { if (!Utils.inSkyblock) return; String message = StringUtils.stripControlCodes(event.message.getUnformattedText()); - if (message.contains("SLAYER QUEST COMPLETE!") || message.contains("SLAYER QUEST FAILED!")) { + if (message.contains("SLAYER QUEST STARTED!")) { + slayerStarted = true; + } + if (message.contains("NICE! SLAYER QUEST COMPLETE!") || message.contains("SLAYER QUEST FAILED!")) { slayerActive = false; + slayerStarted = false; + zombie = null; + spider = null; + wolf = null; } } @@ -88,19 +98,22 @@ public class SlayerESP { @SubscribeEvent public void onWorldRender(RenderWorldLastEvent event) { if (!Utils.inSkyblock) return; + if (!slayerStarted) return; if (slayerActive && ToggleCommand.highlightSlayers) { if (zombie != null) { AxisAlignedBB aabb = new AxisAlignedBB(zombie.posX - 0.5, zombie.posY - 2, zombie.posZ - 0.5, zombie.posX + 0.5, zombie.posY, zombie.posZ + 0.5); Utils.draw3DBox(aabb, SLAYER_COLOUR, event.partialTicks); + return; } if (spider != null) { AxisAlignedBB aabb = new AxisAlignedBB(spider.posX - 0.5, spider.posY - 1, spider.posZ - 0.5, spider.posX + 0.5, spider.posY, spider.posZ + 0.5); Utils.draw3DBox(aabb, SLAYER_COLOUR, event.partialTicks); + return; } if (wolf != null) { AxisAlignedBB aabb = new AxisAlignedBB(wolf.posX - 0.5, wolf.posY - 1, wolf.posZ - 0.5, wolf.posX + 0.5, wolf.posY, wolf.posZ + 0.5); Utils.draw3DBox(aabb, SLAYER_COLOUR, event.partialTicks); - + return; } } } |