aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md5
-rw-r--r--src/main/java/me/Danker/commands/ToggleCommand.java14
-rw-r--r--src/main/java/me/Danker/features/ArachneESP.java96
-rw-r--r--src/main/java/me/Danker/gui/DankerGui.java8
4 files changed, 118 insertions, 5 deletions
diff --git a/README.md b/README.md
index defecf8..848251e 100644
--- a/README.md
+++ b/README.md
@@ -27,6 +27,7 @@ Discord Server: https://discord.gg/QsEkNQS
- Disable out of mana messages
- Disable kill combo messages
- Slayer item tracker
+- Ghosts item tracker
- RNGesus drop alerts
- Click anywhere on-screen to open Maddox
- Maddox menu keybind
@@ -54,6 +55,8 @@ Discord Server: https://discord.gg/QsEkNQS
- Update checker
- Reparty command
- Highlight Slayer Bosses
+- Highlight Arachne
+
## Commands
- /dhelp - Returns this message in-game.
@@ -62,7 +65,7 @@ Discord Server: https://discord.gg/QsEkNQS
- /setkey <key> - Sets API key.
- /getkey - Returns key set with /setkey and copies it to your clipboard.
- /loot <zombie/spider/wolf/fishing/catacombs/mythological/> [winter/festival/spooky/f(1-7)/session] - Returns loot received from slayer quests or fishing stats. /loot fishing winter returns winter sea creatures instead.
-- /display <zombie/spider/wolf/fishing/catacombs/mythological/auto/off> [winter/festival/spooky/f(1-7)/session] - Text display for trackers. /display fishing winter displays winter sea creatures instead. /display auto automatically displays the loot for the slayer quest you have active.
+- /display <zombie/spider/wolf/fishing/catacombs/mythological/ghosts/auto/off> [winter/festival/spooky/f(1-7)/session] - Text display for trackers. /display fishing winter displays winter sea creatures instead. /display auto automatically displays the loot for the slayer quest you have active.
- /resetloot <zombie/spider/wolf/fishing/catacombs/mythological/confirm/cancel> - - Resets loot for trackers. /resetloot confirm confirms the reset.
- /move <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker/wateranswer/bonzotimer> <x> <y> - Moves text display to specified X and Y coordinates.
- /scale <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker/wateranswer/bonzotimer> <scale (0.1 - 10)> - Scales text display to a specified multipler between 0.1x and 10x.
diff --git a/src/main/java/me/Danker/commands/ToggleCommand.java b/src/main/java/me/Danker/commands/ToggleCommand.java
index 8840518..5b8e274 100644
--- a/src/main/java/me/Danker/commands/ToggleCommand.java
+++ b/src/main/java/me/Danker/commands/ToggleCommand.java
@@ -34,6 +34,7 @@ public class ToggleCommand extends CommandBase implements ICommand {
public static boolean outlineTextToggled;
public static boolean cakeTimerToggled;
public static boolean highlightSlayers;
+ public static boolean highlightArachne;
// Chat Messages
public static boolean sceptreMessages;
public static boolean midasStaffMessages;
@@ -92,7 +93,7 @@ public class ToggleCommand extends CommandBase implements ICommand {
"creeperpuzzle/waterpuzzle/tictactoepuzzle/boulderpuzzle/silverfishpuzzle/watchermessage/" +
"startswithterminal/selectallterminal/clickinorderterminal/blockwrongterminalclicks/" +
"itemframeonsealanterns/ultrasequencer/chronomatron/superpairs/hidetooltipsinaddons/pickblock/ " +
- "/specialhoe/melodytooltips/highlightslayers/list>";
+ "/specialhoe/melodytooltips/highlightslayers/highlightArachne/,list>";
}
@Override
@@ -103,7 +104,7 @@ public class ToggleCommand extends CommandBase implements ICommand {
@Override
public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) {
if (args.length == 1) {
- return getListOfStringsMatchingLastWord(args, "gparty", "coords", "golden", "slayercount", "rngesusalerts",
+ return getListOfStringsMatchingLastWord(args, "gparty", "coords", "golden", "slayercount", "rngesusalerts", "highlightArachne",
"splitfishing", "chatmaddox", "spiritbearalerts", "aotd", "lividdagger", "shadowfury",
"flowerweapons", "sceptremessages", "petcolors", "dungeontimer", "golemalerts",
"expertiselore", "skill50display", "outlinetext", "midasstaffmessages",
@@ -416,6 +417,11 @@ public class ToggleCommand extends CommandBase implements ICommand {
ConfigHandler.writeBooleanConfig("toggles", "HighlightSlayers", highlightSlayers);
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Highlight Slayer Bosses " + DankersSkyblockMod.SECONDARY_COLOUR + highlightSlayers + DankersSkyblockMod.MAIN_COLOUR + "."));
break;
+ case "highlighteArachne":
+ highlightArachne = !highlightArachne;
+ ConfigHandler.writeBooleanConfig("toggles", "HighlightSlayers", highlightSlayers);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Highlight Slayer Bosses " + DankersSkyblockMod.SECONDARY_COLOUR + highlightSlayers + DankersSkyblockMod.MAIN_COLOUR + "."));
+ break;
case "list":
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.TYPE_COLOUR + "Guild party notifications: " + DankersSkyblockMod.VALUE_COLOUR + gpartyToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Coord/Angle display: " + DankersSkyblockMod.VALUE_COLOUR + coordsToggled + "\n" +
@@ -463,7 +469,9 @@ public class ToggleCommand extends CommandBase implements ICommand {
DankersSkyblockMod.TYPE_COLOUR + " Auto-swap to pick block " + DankersSkyblockMod.VALUE_COLOUR + swapToPickBlockToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Block Special Hoe right click " + DankersSkyblockMod.VALUE_COLOUR + specialHoeRightClick + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Hide tooltips in Melody's Harp " + DankersSkyblockMod.VALUE_COLOUR + melodyTooltips + "\n" +
- DankersSkyblockMod.TYPE_COLOUR + " Highlight Slayer Bosses " + DankersSkyblockMod.VALUE_COLOUR + highlightSlayers
+ DankersSkyblockMod.TYPE_COLOUR + " Highlight Slayer Bosses " + DankersSkyblockMod.VALUE_COLOUR + highlightSlayers + "\n" +
+ DankersSkyblockMod.TYPE_COLOUR + " Highlight Arachne Boss " + DankersSkyblockMod.VALUE_COLOUR + highlightArachne
+
));
break;
default:
diff --git a/src/main/java/me/Danker/features/ArachneESP.java b/src/main/java/me/Danker/features/ArachneESP.java
new file mode 100644
index 0000000..c0aeab6
--- /dev/null
+++ b/src/main/java/me/Danker/features/ArachneESP.java
@@ -0,0 +1,96 @@
+package me.Danker.features;
+
+import me.Danker.DankersSkyblockMod;
+import me.Danker.commands.ToggleCommand;
+import me.Danker.handlers.ScoreboardHandler;
+import me.Danker.utils.Utils;
+import net.minecraft.client.Minecraft;
+import net.minecraft.entity.Entity;
+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.world.WorldEvent;
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import net.minecraftforge.fml.common.gameevent.TickEvent;
+
+
+import java.util.List;
+
+/**
+ * @author RabbitType99
+ */
+
+public class ArachneESP {
+
+
+ static Entity arachne = null;
+ static boolean arachneActive = true;
+ public static final int ARACHANE_COLOUR = 0x00FF00;
+
+
+ @SubscribeEvent
+ public void onWorldChange(WorldEvent.Load event) {
+ arachne = null;
+ }
+
+ @SubscribeEvent
+ public void onTick(TickEvent.ClientTickEvent event) {
+ //if (!Utils.inSkyblock) return;
+ if (event.phase != TickEvent.Phase.START) return;
+
+ World world = Minecraft.getMinecraft().theWorld;
+ if (DankersSkyblockMod.tickAmount % 2 == 0 && ToggleCommand.highlightArachne) {
+ if (world != null) {
+ if (!arachneActive) return;
+ List<Entity> entities = world.getLoadedEntityList();
+ List<String> scoreboard = ScoreboardHandler.getSidebarLines();
+ for (Entity e : entities) {
+ System.out.println(e.getName());
+ if (e.getName().contains("Arachne")) {
+ for (String s : scoreboard) {
+ if (ScoreboardHandler.cleanSB(s).contains("Spiders Den")) {
+ arachne = e;
+ }
+ }
+ }
+
+ }
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void onChat(ClientChatReceivedEvent event) {
+ if (!Utils.inSkyblock) return;
+ String message = StringUtils.stripControlCodes(event.message.getUnformattedText());
+
+ if (message.contains("You dare call me, the queen of the dark, to accept you. I'll accept no excuses, you shall die!") || message.contains("Hahahahaha, YOU MORTAL FOOL! You dare to summon me at my full strength to this plane, you are seeking death. With this power, I will not let a weakling survive here, this land will be a brilliant place to start a new invasion of my empire. Tremble beneath me if you wish to survive!")){
+ arachneActive = true;
+ }
+ if (message.contains("You are lucky this time, you only called out a portion of my power, if you dared to my face me at my peak, you would not survive!") || message.contains("How can this be...how could I lose to a puny being like you...I shall get my revenge") || message.contains("Arachne is bored with your feeble attempt!" )){
+ arachneActive = false;
+ }
+
+ }
+
+
+ @SubscribeEvent
+ public void onWorldRender(RenderWorldLastEvent event) {
+ if (!Utils.inSkyblock) return;
+ if (arachneActive && ToggleCommand.highlightSlayers) {
+ AxisAlignedBB aabb = new AxisAlignedBB(arachne.posX - 0.5, arachne.posY - 1, arachne.posZ - 0.5, arachne.posX + 0.5, arachne.posY, arachne.posZ + 0.5);
+ Utils.draw3DBox(aabb, ARACHANE_COLOUR, event.partialTicks);
+ }
+ }
+
+}
+
diff --git a/src/main/java/me/Danker/gui/DankerGui.java b/src/main/java/me/Danker/gui/DankerGui.java
index fff4d9e..b0409fc 100644
--- a/src/main/java/me/Danker/gui/DankerGui.java
+++ b/src/main/java/me/Danker/gui/DankerGui.java
@@ -30,6 +30,7 @@ public class DankerGui extends GuiScreen {
private GuiButton puzzleSolvers;
private GuiButton experimentationTableSolvers;
private GuiButton skillTracker;
+ private GuiButton highlightArachne;
// Toggles
private GuiButton gparty;
private GuiButton coords;
@@ -70,7 +71,7 @@ public class DankerGui extends GuiScreen {
private GuiButton necronNotifications;
private GuiButton bonzoTimer;
private GuiButton autoSkillTracker;
-
+
public DankerGui(int page) {
this.page = page;
}
@@ -144,6 +145,9 @@ public class DankerGui extends GuiScreen {
shadowFury = new GuiButton(0, width / 2 - 100, (int) (height * 0.5), "Block Shadow Fury ability: " + Utils.getColouredBoolean(ToggleCommand.shadowFuryToggled));
specialHoe = new GuiButton(0, width / 2 - 100, (int) (height * 0.6), "Block Special Hoe right click: " + Utils.getColouredBoolean(ToggleCommand.specialHoeRightClick));
melodyTooltips = new GuiButton(0, width / 2 - 100, (int) (height * 0.7), "Hide tooltips in Melody's Harp: " + Utils.getColouredBoolean(ToggleCommand.melodyTooltips));
+ //Page 7
+ highlightArachne =new GuiButton(0, width / 2 - 100, (int) (height * 0.1), "Highlight Arachne: " + Utils.getColouredBoolean(ToggleCommand.highlightArachne));
+
switch (page) {
case 1:
@@ -211,6 +215,8 @@ public class DankerGui extends GuiScreen {
this.buttonList.add(melodyTooltips);
this.buttonList.add(backPage);
break;
+ case 7:
+ this.buttonList.add(highlightArachne);
}
this.buttonList.add(githubLink);