aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/Danker/commands
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/Danker/commands')
-rw-r--r--src/main/java/me/Danker/commands/DHelpCommand.java6
-rw-r--r--src/main/java/me/Danker/commands/DankerGuiCommand.java85
-rw-r--r--src/main/java/me/Danker/commands/DungeonsCommand.java66
-rw-r--r--src/main/java/me/Danker/commands/FairySoulsCommand.java92
-rw-r--r--src/main/java/me/Danker/commands/LobbySkillsCommand.java4
-rw-r--r--src/main/java/me/Danker/commands/MoveCommand.java14
-rw-r--r--src/main/java/me/Danker/commands/PetsCommand.java232
-rw-r--r--src/main/java/me/Danker/commands/RepartyCommand.java135
-rw-r--r--src/main/java/me/Danker/commands/ResetLootCommand.java2
-rw-r--r--src/main/java/me/Danker/commands/ScaleCommand.java11
-rw-r--r--src/main/java/me/Danker/commands/SetkeyCommand.java1
-rw-r--r--src/main/java/me/Danker/commands/SkillTrackerCommand.java107
-rw-r--r--src/main/java/me/Danker/commands/SkillsCommand.java4
-rw-r--r--src/main/java/me/Danker/commands/SkyblockPlayersCommand.java5
-rw-r--r--src/main/java/me/Danker/commands/SlayerCommand.java6
-rw-r--r--src/main/java/me/Danker/commands/ToggleCommand.java116
16 files changed, 658 insertions, 228 deletions
diff --git a/src/main/java/me/Danker/commands/DHelpCommand.java b/src/main/java/me/Danker/commands/DHelpCommand.java
index ee5958c..bcaf8b0 100644
--- a/src/main/java/me/Danker/commands/DHelpCommand.java
+++ b/src/main/java/me/Danker/commands/DHelpCommand.java
@@ -34,14 +34,14 @@ public class DHelpCommand extends CommandBase {
EnumChatFormatting.GOLD + " Commands, " + EnumChatFormatting.GREEN + " Keybinds.\n" +
EnumChatFormatting.GOLD + " /dhelp" + EnumChatFormatting.AQUA + " - Returns this message.\n" +
EnumChatFormatting.GOLD + " /dsm" + EnumChatFormatting.AQUA + " - Opens the GUI for Danker's Skyblock Mod.\n" +
- EnumChatFormatting.GOLD + " /toggle <gparty/coords/golden/slayercount/rngesusalerts/splitfishing/chatmaddox/spiritbearalerts/aotd/lividdagger/sceptremessages/midasstaffmessages/implosionmessages/healmessages/petcolors/dungeontimer/golemalerts/expertiselore/skill50display/outlinetext/caketimer/lowhealthnotify/lividsolver/threemanpuzzle/oruopuzzle/blazepuzzle/creeperpuzzle/waterpuzzle/tictactoepuzzle/startswithterminal/selectallterminal/itemframeonsealanterns/ultrasequencer/chronomatron/superpairs/list>" + EnumChatFormatting.AQUA + " - Toggles features. /toggle list returns values of every toggle.\n" +
+ EnumChatFormatting.GOLD + " /toggle <gparty/coords/golden/slayercount/rngesusalerts/splitfishing/chatmaddox/spiritbearalerts/aotd/lividdagger/flowerweapons/sceptremessages/midasstaffmessages/implosionmessages/healmessages/petcolors/dungeontimer/golemalerts/expertiselore/skill50display/outlinetext/caketimer/lowhealthnotify/lividsolver/stopsalvagestarred/notifyslayerslain/autoskilltracker/necronnotifications/bonzotimer/threemanpuzzle/oruopuzzle/blazepuzzle/creeperpuzzle/waterpuzzle/tictactoepuzzle/watchermessage/startswithterminal/selectallterminal/clickinorderterminal/blockwrongterminalclicks/itemframeonsealanterns/ultrasequencer/chronomatron/superpairs/hidetooltipsinaddons/pickblock/list>" + EnumChatFormatting.AQUA + " - Toggles features. /toggle list returns values of every toggle.\n" +
EnumChatFormatting.GOLD + " /setkey <key>" + EnumChatFormatting.AQUA + " - Sets API key.\n" +
EnumChatFormatting.GOLD + " /getkey" + EnumChatFormatting.AQUA + " - Returns key set with /setkey and copies it to your clipboard.\n" +
EnumChatFormatting.GOLD + " /loot <zombie/spider/wolf/fishing/catacombs/mythological/> [winter/festival/spooky/f(1-7)/session]" + EnumChatFormatting.AQUA + " - Returns loot received from slayer quests or fishing stats. /loot fishing winter returns winter sea creatures instead.\n" +
EnumChatFormatting.GOLD + " /display <zombie/spider/wolf/fishing/catacombs/mythological/auto/off> [winter/festival/spooky/f(1-7)/session]" + EnumChatFormatting.AQUA + " - 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.\n" +
EnumChatFormatting.GOLD + " /resetloot <zombie/spider/wolf/fishing/catacombs/mythological/confirm/cancel>" + EnumChatFormatting.AQUA + " - Resets loot for trackers. /resetloot confirm confirms the reset.\n" +
- EnumChatFormatting.GOLD + " /move <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker/wateranswer> <x> <y>" + EnumChatFormatting.AQUA + " - Moves text display to specified X and Y coordinates.\n" +
- EnumChatFormatting.GOLD + " /scale <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker/wateranswer> <scale (0.1 - 10)>" + EnumChatFormatting.AQUA + " - Scales text display to a specified multipler between 0.1x and 10x.\n" +
+ EnumChatFormatting.GOLD + " /move <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker/wateranswer/bonzotimer> <x> <y>" + EnumChatFormatting.AQUA + " - Moves text display to specified X and Y coordinates.\n" +
+ EnumChatFormatting.GOLD + " /scale <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker/wateranswer/bonzotimer> <scale (0.1 - 10)>" + EnumChatFormatting.AQUA + " - Scales text display to a specified multipler between 0.1x and 10x.\n" +
EnumChatFormatting.GOLD + " /slayer [player]" + EnumChatFormatting.AQUA + " - Uses API to get slayer xp of a person. If no name is provided, it checks yours.\n" +
EnumChatFormatting.GOLD + " /skills [player]" + EnumChatFormatting.AQUA + " - Uses API to get skill levels of a person. If no name is provided, it checks yours.\n" +
EnumChatFormatting.GOLD + " /lobbyskills" + EnumChatFormatting.AQUA + " - Uses API to find the average skills of the lobby, as well the three players with the highest skill average.\n" +
diff --git a/src/main/java/me/Danker/commands/DankerGuiCommand.java b/src/main/java/me/Danker/commands/DankerGuiCommand.java
index 18230e6..a6b200f 100644
--- a/src/main/java/me/Danker/commands/DankerGuiCommand.java
+++ b/src/main/java/me/Danker/commands/DankerGuiCommand.java
@@ -1,9 +1,16 @@
package me.Danker.commands;
import me.Danker.DankersSkyblockMod;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.resources.ResourcePackRepository;
import net.minecraft.command.CommandBase;
import net.minecraft.command.CommandException;
import net.minecraft.command.ICommandSender;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.StringUtils;
+
+import java.awt.*;
+import java.awt.datatransfer.StringSelection;
public class DankerGuiCommand extends CommandBase {
@@ -24,6 +31,84 @@ public class DankerGuiCommand extends CommandBase {
@Override
public void processCommand(ICommandSender arg0, String[] arg1) throws CommandException {
+ if (arg1.length > 0 && arg1[0].equalsIgnoreCase("debug")) {
+ StringBuilder debug = new StringBuilder();
+ debug.append("```md\n");
+ debug.append("# Toggles\n");
+ debug.append("[gparty][").append(ToggleCommand.gpartyToggled).append("]\n");
+ debug.append("[coords][").append(ToggleCommand.coordsToggled).append("]\n");
+ debug.append("[golden][").append(ToggleCommand.goldenToggled).append("]\n");
+ debug.append("[slayercount][").append(ToggleCommand.slayerCountTotal).append("]\n");
+ debug.append("[rngesusalerts][").append(ToggleCommand.rngesusAlerts).append("]\n");
+ debug.append("[splitfishing][").append(ToggleCommand.splitFishing).append("]\n");
+ debug.append("[chatmaddox][").append(ToggleCommand.chatMaddoxToggled).append("]\n");
+ debug.append("[spiritbearalerts][").append(ToggleCommand.spiritBearAlerts).append("]\n");
+ debug.append("[aotd][").append(ToggleCommand.aotdToggled).append("]\n");
+ debug.append("[lividdagger][").append(ToggleCommand.lividDaggerToggled).append("]\n");
+ debug.append("[flowerweapons][").append(ToggleCommand.flowerWeaponsToggled).append("]\n");
+ debug.append("[sceptremessages][").append(ToggleCommand.sceptreMessages).append("]\n");
+ debug.append("[petcolors][").append(ToggleCommand.petColoursToggled).append("]\n");
+ debug.append("[dungeontimer][").append(ToggleCommand.dungeonTimerToggled).append("]\n");
+ debug.append("[golemalerts][").append(ToggleCommand.golemAlertToggled).append("]\n");
+ debug.append("[expertiselore][").append(ToggleCommand.expertiseLoreToggled).append("]\n");
+ debug.append("[skill50display][").append(ToggleCommand.skill50DisplayToggled).append("]\n");
+ debug.append("[outlinetext][").append(ToggleCommand.outlineTextToggled).append("]\n");
+ debug.append("[midasstaffmessages][").append(ToggleCommand.midasStaffMessages).append("]\n");
+ debug.append("[implosionmessages][").append(ToggleCommand.implosionMessages).append("]\n");
+ debug.append("[healmessages][").append(ToggleCommand.healMessages).append("]\n");
+ debug.append("[caketimer][").append(ToggleCommand.cakeTimerToggled).append("]\n");
+ debug.append("[lowhealthnotify][").append(ToggleCommand.lowHealthNotifyToggled).append("]\n");
+ debug.append("[lividsolver][").append(ToggleCommand.lividSolverToggled).append("]\n");
+ debug.append("[stopsalvagestarred][").append(ToggleCommand.stopSalvageStarredToggled).append("]\n");
+ debug.append("[notifyslayerslain][").append(ToggleCommand.notifySlayerSlainToggled).append("]\n");
+ debug.append("[necronnotifications][").append(ToggleCommand.necronNotificationsToggled).append("]\n");
+ debug.append("[bonzotimer][").append(ToggleCommand.bonzoTimerToggled).append("]\n");
+ debug.append("[autoskilltracker][").append(ToggleCommand.autoSkillTrackerToggled).append("]\n");
+ debug.append("[threemanpuzzle][").append(ToggleCommand.threeManToggled).append("]\n");
+ debug.append("[oruopuzzle][").append(ToggleCommand.oruoToggled).append("]\n");
+ debug.append("[blazepuzzle][").append(ToggleCommand.blazeToggled).append("]\n");
+ debug.append("[creeperpuzzle][").append(ToggleCommand.creeperToggled).append("]\n");
+ debug.append("[waterpuzzle][").append(ToggleCommand.waterToggled).append("]\n");
+ debug.append("[tictactoepuzzle][").append(ToggleCommand.ticTacToeToggled).append("]\n");
+ debug.append("[watchermessage][").append(ToggleCommand.watcherReadyToggled).append("]\n");
+ debug.append("[startswithterminal][").append(ToggleCommand.startsWithToggled).append("]\n");
+ debug.append("[selectallterminal][").append(ToggleCommand.selectAllToggled).append("]\n");
+ debug.append("[clickinorderterminal][").append(ToggleCommand.clickInOrderToggled).append("]\n");
+ debug.append("[blockwrongterminalclicks][").append(ToggleCommand.blockWrongTerminalClicksToggled).append("]\n");
+ debug.append("[itemframeonsealanterns][").append(ToggleCommand.itemFrameOnSeaLanternsToggled).append("]\n");
+ debug.append("[ultrasequencer][").append(ToggleCommand.ultrasequencerToggled).append("]\n");
+ debug.append("[chronomatron][").append(ToggleCommand.chronomatronToggled).append("]\n");
+ debug.append("[superpairs][").append(ToggleCommand.superpairsToggled).append("]\n");
+ debug.append("[hidetooltipsinaddons][").append(ToggleCommand.hideTooltipsInExperimentAddonsToggled).append("]\n");
+ debug.append("[pickblock][").append(ToggleCommand.swapToPickBlockToggled).append("]\n");
+ debug.append("# Locations\n");
+ debug.append("[coords][").append(MoveCommand.coordsXY[0]).append(", ").append(MoveCommand.coordsXY[1]).append("]\n");
+ debug.append("[display][").append(MoveCommand.displayXY[0]).append(", ").append(MoveCommand.displayXY[1]).append("]\n");
+ debug.append("[dungeontimer][").append(MoveCommand.dungeonTimerXY[0]).append(", ").append(MoveCommand.dungeonTimerXY[1]).append("]\n");
+ debug.append("[skill50][").append(MoveCommand.skill50XY[0]).append(", ").append(MoveCommand.skill50XY[1]).append("]\n");
+ debug.append("[lividhp][").append(MoveCommand.lividHpXY[0]).append(", ").append(MoveCommand.lividHpXY[1]).append("]\n");
+ debug.append("[caketimer][").append(MoveCommand.cakeTimerXY[0]).append(", ").append(MoveCommand.cakeTimerXY[1]).append("]\n");
+ debug.append("[skilltracker][").append(MoveCommand.skillTrackerXY[0]).append(", ").append(MoveCommand.skillTrackerXY[1]).append("]\n");
+ debug.append("[wateranswer][").append(MoveCommand.waterAnswerXY[0]).append(", ").append(MoveCommand.waterAnswerXY[1]).append("]\n");
+ debug.append("# Other Settings\n");
+ debug.append("[Current Display][").append(DisplayCommand.display).append("]\n");
+ debug.append("[Auto Display][").append(DisplayCommand.auto).append("]\n");
+ debug.append("[Skill Tracker Visible][").append(DankersSkyblockMod.showSkillTracker).append("]\n");
+ debug.append("# Resource Packs\n");
+ if (Minecraft.getMinecraft().getResourcePackRepository().getRepositoryEntries().size() == 0) {
+ debug.append("<None>\n");
+ } else {
+ for (ResourcePackRepository.Entry resource : Minecraft.getMinecraft().getResourcePackRepository().getRepositoryEntries()) {
+ debug.append("< ").append(StringUtils.stripControlCodes(resource.getResourcePackName())).append(" >\n");
+ }
+ }
+ debug.append("```");
+ StringSelection clipboard = new StringSelection(debug.toString());
+ Toolkit.getDefaultToolkit().getSystemClipboard().setContents(clipboard, clipboard);
+ Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Debug stats copied to clipboard."));
+ return;
+ }
+
DankersSkyblockMod.guiToOpen = "dankergui1";
}
diff --git a/src/main/java/me/Danker/commands/DungeonsCommand.java b/src/main/java/me/Danker/commands/DungeonsCommand.java
index bdc1403..f9ad93e 100644
--- a/src/main/java/me/Danker/commands/DungeonsCommand.java
+++ b/src/main/java/me/Danker/commands/DungeonsCommand.java
@@ -9,6 +9,7 @@ import net.minecraft.command.CommandBase;
import net.minecraft.command.CommandException;
import net.minecraft.command.ICommandSender;
import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.event.HoverEvent;
import net.minecraft.util.BlockPos;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
@@ -77,6 +78,14 @@ public class DungeonsCommand extends CommandBase {
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Failed with reason: " + reason));
return;
}
+
+ String playerURL = "https://api.hypixel.net/player?uuid=" + uuid + "&key=" + key;
+ System.out.println("Fetching player data...");
+ JsonObject playerResponse = APIHandler.getResponse(playerURL);
+ if(!playerResponse.get("success").getAsBoolean()){
+ String reason = playerResponse.get("cause").getAsString();
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "This player has not played on Hypixel."));
+ }
System.out.println("Fetching dungeon stats...");
JsonObject dungeonsObject = profileResponse.get("profile").getAsJsonObject().get("members").getAsJsonObject().get(uuid).getAsJsonObject().get("dungeons").getAsJsonObject();
@@ -84,25 +93,56 @@ public class DungeonsCommand extends CommandBase {
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "This player has not played dungeons."));
return;
}
-
- double catacombs = Utils.xpToDungeonsLevel(dungeonsObject.get("dungeon_types").getAsJsonObject().get("catacombs").getAsJsonObject().get("experience").getAsDouble());
+
+ JsonObject catacombsObject = dungeonsObject.get("dungeon_types").getAsJsonObject().get("catacombs").getAsJsonObject();
+ double catacombs = Utils.xpToDungeonsLevel(catacombsObject.get("experience").getAsDouble());
double healer = Utils.xpToDungeonsLevel(dungeonsObject.get("player_classes").getAsJsonObject().get("healer").getAsJsonObject().get("experience").getAsDouble());
double mage = Utils.xpToDungeonsLevel(dungeonsObject.get("player_classes").getAsJsonObject().get("mage").getAsJsonObject().get("experience").getAsDouble());
double berserk = Utils.xpToDungeonsLevel(dungeonsObject.get("player_classes").getAsJsonObject().get("berserk").getAsJsonObject().get("experience").getAsDouble());
double archer = Utils.xpToDungeonsLevel(dungeonsObject.get("player_classes").getAsJsonObject().get("archer").getAsJsonObject().get("experience").getAsDouble());
double tank = Utils.xpToDungeonsLevel(dungeonsObject.get("player_classes").getAsJsonObject().get("tank").getAsJsonObject().get("experience").getAsDouble());
String selectedClass = Utils.capitalizeString(dungeonsObject.get("selected_dungeon_class").getAsString());
-
- player.addChatMessage(new ChatComponentText(DankersSkyblockMod.DELIMITER_COLOUR + "" + EnumChatFormatting.BOLD + "-------------------\n" +
- EnumChatFormatting.RED + " Catacombs Level: " + catacombs + "\n" +
- EnumChatFormatting.GOLD + " Selected Class: " + selectedClass + "\n\n" +
- EnumChatFormatting.YELLOW + " Healer Level: " + healer + "\n" +
- EnumChatFormatting.LIGHT_PURPLE + " Mage Level: " + mage + "\n" +
- EnumChatFormatting.RED + " Berserk Level: " + berserk + "\n" +
- EnumChatFormatting.GREEN + " Archer Level: " + archer + "\n" +
- EnumChatFormatting.BLUE + " Tank Level: " + tank + "\n" +
- DankersSkyblockMod.DELIMITER_COLOUR + " " + EnumChatFormatting.BOLD + "-------------------"));
+ int secrets = playerResponse.get("player").getAsJsonObject().get("achievements").getAsJsonObject().get("skyblock_treasure_hunter").getAsInt();
+
+ int highestFloor = catacombsObject.get("highest_tier_completed").getAsInt();
+ JsonObject completionObj = catacombsObject.get("tier_completions").getAsJsonObject();
+
+ String delimiter = DankersSkyblockMod.DELIMITER_COLOUR + "" + EnumChatFormatting.BOLD + "-------------------";
+
+ ChatComponentText classLevels = new ChatComponentText(
+ EnumChatFormatting.GOLD + " Selected Class: " + selectedClass + "\n\n" +
+ EnumChatFormatting.RED + " Catacombs Level: " + catacombs + "\n" +
+ EnumChatFormatting.YELLOW + " Healer Level: " + healer + "\n" +
+ EnumChatFormatting.LIGHT_PURPLE + " Mage Level: " + mage + "\n" +
+ EnumChatFormatting.RED + " Berserk Level: " + berserk + "\n" +
+ EnumChatFormatting.GREEN + " Archer Level: " + archer + "\n" +
+ EnumChatFormatting.BLUE + " Tank Level: " + tank + "\n\n" +
+ EnumChatFormatting.WHITE + " Secrets Found: " + secrets + "\n\n");
+
+ StringBuilder completionsHoverString = new StringBuilder();
+
+ for (int i = 0; i <= highestFloor; i++) {
+ completionsHoverString
+ .append(EnumChatFormatting.GOLD)
+ .append(i == 0 ? "Entrance: " : "Floor " + i + ": ")
+ .append(EnumChatFormatting.RESET)
+ .append(completionObj.get(String.valueOf(i)).getAsInt())
+ .append(i < highestFloor ? "\n": "");
+ }
+
+ ChatComponentText completions = new ChatComponentText(EnumChatFormatting.GOLD + " Highest Floor Completed: " + highestFloor);
+
+ completions.setChatStyle(completions.getChatStyle().setChatHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ChatComponentText(completionsHoverString.toString()))));
+
+
+ player.addChatMessage(
+ new ChatComponentText(delimiter)
+ .appendText("\n")
+ .appendSibling(classLevels)
+ .appendSibling(completions)
+ .appendText("\n")
+ .appendSibling(new ChatComponentText(delimiter))
+ );
}).start();
}
-
}
diff --git a/src/main/java/me/Danker/commands/FairySoulsCommand.java b/src/main/java/me/Danker/commands/FairySoulsCommand.java
new file mode 100644
index 0000000..77a7586
--- /dev/null
+++ b/src/main/java/me/Danker/commands/FairySoulsCommand.java
@@ -0,0 +1,92 @@
+package me.Danker.commands;
+
+import com.google.gson.JsonObject;
+import me.Danker.DankersSkyblockMod;
+import me.Danker.handlers.APIHandler;
+import me.Danker.handlers.ConfigHandler;
+import me.Danker.utils.Utils;
+import net.minecraft.command.CommandBase;
+import net.minecraft.command.CommandException;
+import net.minecraft.command.ICommandSender;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.util.BlockPos;
+import net.minecraft.util.ChatComponentText;
+
+import java.util.List;
+
+public class FairySoulsCommand extends CommandBase {
+ @Override
+ public String getCommandName() {
+ return "fairysouls";
+ }
+
+ @Override
+ public String getCommandUsage(ICommandSender sender) {
+ return "/" + getCommandName() + "[name]";
+ }
+
+ @Override
+ public int getRequiredPermissionLevel() {
+ return 0;
+ }
+
+ @Override
+ public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) {
+ if (args.length == 1) {
+ return Utils.getMatchingPlayers(args[0]);
+ }
+ return null;
+ }
+
+ @Override
+ public void processCommand(ICommandSender sender, String[] args) throws CommandException {
+ EntityPlayer player = ((EntityPlayer) sender);
+ // MULTI THREAD DRIFTING
+ new Thread(() -> {
+
+ // Check key
+ String key = ConfigHandler.getString("api", "APIKey");
+ if(key.equals("")) {
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "API key not set. Use /setkey."));
+ }
+
+ // Get UUID for Hypixel API requests
+ String username;
+ String uuid;
+ if(args.length == 0) {
+ username = player.getName();
+ uuid = APIHandler.getUUID(username);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Checking fairy souls of " + DankersSkyblockMod.SECONDARY_COLOUR + username));
+ } else {
+ username = args[0];
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Checking fairy souls of " + DankersSkyblockMod.SECONDARY_COLOUR + username));
+ uuid = APIHandler.getUUID(username);
+ }
+
+ // Find fairy souls of latest profile
+ String latestProfile = APIHandler.getLatestProfileID(uuid, key);
+ if (latestProfile == null) return;
+
+ String profileURL = "https://api.hypixel.net/skyblock/profile?profile=" + latestProfile + "&key=" + key;
+ System.out.println("Fetching profile...");
+
+ JsonObject profileResponse = APIHandler.getResponse(profileURL);
+ if (!profileResponse.get("success").getAsBoolean()) {
+ String reason = profileResponse.get("cause").getAsString();
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Failed with reason: " + reason));
+ return;
+ }
+
+ // Extracting the fairy souls from the json data
+ System.out.println("Fetching fairy souls");
+ JsonObject userObject = profileResponse.get("profile").getAsJsonObject().get("members").getAsJsonObject().get(uuid).getAsJsonObject();
+
+ int fairy_souls = userObject.get("fairy_souls_collected").getAsInt();
+ System.out.println(fairy_souls);
+
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "The player " + username + " has " + DankersSkyblockMod.VALUE_COLOUR + fairy_souls + DankersSkyblockMod.MAIN_COLOUR + "/220" + " collected"));
+
+ }).start();
+
+ }
+}
diff --git a/src/main/java/me/Danker/commands/LobbySkillsCommand.java b/src/main/java/me/Danker/commands/LobbySkillsCommand.java
index e5bf98c..61ceea7 100644
--- a/src/main/java/me/Danker/commands/LobbySkillsCommand.java
+++ b/src/main/java/me/Danker/commands/LobbySkillsCommand.java
@@ -100,7 +100,7 @@ public class LobbySkillsCommand extends CommandBase {
farmingLevel = (double) Math.round(farmingLevel * 100) / 100;
}
if (latestProfile.has("experience_skill_mining")) {
- miningLevel = Utils.xpToSkillLevel(latestProfile.get("experience_skill_mining").getAsDouble(), 50);
+ miningLevel = Utils.xpToSkillLevel(latestProfile.get("experience_skill_mining").getAsDouble(), 60);
miningLevel = (double) Math.round(miningLevel * 100) / 100;
}
if (latestProfile.has("experience_skill_combat")) {
@@ -143,7 +143,7 @@ public class LobbySkillsCommand extends CommandBase {
farmingLevel = achievementObject.get("skyblock_harvester").getAsInt();
}
if (achievementObject.has("skyblock_excavator")) {
- miningLevel = Math.min(achievementObject.get("skyblock_excavator").getAsInt(), 50);
+ miningLevel = achievementObject.get("skyblock_excavator").getAsInt();
}
if (achievementObject.has("skyblock_combat")) {
combatLevel = Math.min(achievementObject.get("skyblock_combat").getAsInt(), 50);
diff --git a/src/main/java/me/Danker/commands/MoveCommand.java b/src/main/java/me/Danker/commands/MoveCommand.java
index e9bfe61..55ad695 100644
--- a/src/main/java/me/Danker/commands/MoveCommand.java
+++ b/src/main/java/me/Danker/commands/MoveCommand.java
@@ -21,7 +21,8 @@ public class MoveCommand extends CommandBase {
public static int[] cakeTimerXY = {0, 0};
public static int[] skillTrackerXY = {0, 0};
public static int[] waterAnswerXY = {0, 0};
-
+ public static int[] bonzoTimerXY = {0, 0};
+
@Override
public String getCommandName() {
return "move";
@@ -29,7 +30,7 @@ public class MoveCommand extends CommandBase {
@Override
public String getCommandUsage(ICommandSender arg0) {
- return "/" + getCommandName() + " <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker/wateranswer> <x> <y>";
+ return "/" + getCommandName() + " <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker/wateranswer/bonzotimer> <x> <y>";
}
@Override
@@ -40,7 +41,7 @@ public class MoveCommand extends CommandBase {
@Override
public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) {
if (args.length == 1) {
- return getListOfStringsMatchingLastWord(args, "coords", "display", "dungeontimer", "skill50", "lividhp", "caketimer", "skilltracker", "wateranswer");
+ return getListOfStringsMatchingLastWord(args, "coords", "display", "dungeontimer", "skill50", "lividhp", "caketimer", "skilltracker", "wateranswer", "bonzotimer");
}
return null;
}
@@ -111,6 +112,13 @@ public class MoveCommand extends CommandBase {
ConfigHandler.writeIntConfig("locations", "waterAnswerY", waterAnswerXY[1]);
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Water solver answer has been moved to " + DankersSkyblockMod.SECONDARY_COLOUR + arg1[1] + ", " + arg1[2]));
break;
+ case "bonzotimer":
+ bonzoTimerXY[0] = Integer.parseInt(arg1[1]);
+ bonzoTimerXY[1] = Integer.parseInt(arg1[2]);
+ ConfigHandler.writeIntConfig("locations", "bonzoTimerX", bonzoTimerXY[0]);
+ ConfigHandler.writeIntConfig("locations", "bonzoTimerX", bonzoTimerXY[1]);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Bonzo's Mask timer has been moved to " + DankersSkyblockMod.SECONDARY_COLOUR + arg1[1] + ", " + arg1[2]));
+ break;
default:
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: " + getCommandUsage(arg0)));
}
diff --git a/src/main/java/me/Danker/commands/PetsCommand.java b/src/main/java/me/Danker/commands/PetsCommand.java
index 7b1b52f..a7824e4 100644
--- a/src/main/java/me/Danker/commands/PetsCommand.java
+++ b/src/main/java/me/Danker/commands/PetsCommand.java
@@ -16,20 +16,21 @@ import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import java.util.ArrayList;
+import java.util.Comparator;
import java.util.List;
public class PetsCommand extends CommandBase {
static int petXpToLevel(double xp, String rarity) {
int[] xpPerLevel = {100, 110, 120, 130, 145, 160, 175, 190, 210, 230, 250, 275, 300, 330, 360, 400, 440, 490, 540, 600, 660, 730,
- 800, 880, 960, 1050, 1150, 1260, 1380, 1510, 1650, 1800, 1960, 2130, 2310, 2500, 2700, 2920, 3160, 3420, 3700,
- 4000, 4350, 4750, 5200, 5700, 6300, 7000, 7800, 8700, 9700, 10800, 12000, 13300, 14700, 16200, 17800, 19500,
- 21300, 23200, 25200, 27400, 29800, 32400, 35200, 38200, 41400, 44800, 48400, 52200, 56200, 60400, 64800, 69400,
- 74200, 79200, 84700, 90700, 97200, 104200, 111700, 119700, 128200, 137200, 146700, 156700, 167700, 179700, 192700,
- 206700, 221700, 237700, 254700, 272700, 291700, 311700, 333700, 357700, 383700, 411700, 441700, 476700, 516700,
- 561700, 611700, 666700, 726700, 791700, 861700, 936700, 1016700, 1101700, 1191700, 1286700, 1386700, 1496700,
- 1616700, 1746700, 1886700};
-
+ 800, 880, 960, 1050, 1150, 1260, 1380, 1510, 1650, 1800, 1960, 2130, 2310, 2500, 2700, 2920, 3160, 3420, 3700,
+ 4000, 4350, 4750, 5200, 5700, 6300, 7000, 7800, 8700, 9700, 10800, 12000, 13300, 14700, 16200, 17800, 19500,
+ 21300, 23200, 25200, 27400, 29800, 32400, 35200, 38200, 41400, 44800, 48400, 52200, 56200, 60400, 64800, 69400,
+ 74200, 79200, 84700, 90700, 97200, 104200, 111700, 119700, 128200, 137200, 146700, 156700, 167700, 179700, 192700,
+ 206700, 221700, 237700, 254700, 272700, 291700, 311700, 333700, 357700, 383700, 411700, 441700, 476700, 516700,
+ 561700, 611700, 666700, 726700, 791700, 861700, 936700, 1016700, 1101700, 1191700, 1286700, 1386700, 1496700,
+ 1616700, 1746700, 1886700};
+
int levelOffset = 0;
switch (rarity) {
case "UNCOMMON":
@@ -44,8 +45,11 @@ public class PetsCommand extends CommandBase {
case "LEGENDARY":
levelOffset = 20;
break;
+ case "MYTHIC":
+ levelOffset = 20;
+ break;
}
-
+
for (int i = levelOffset, xpAdded = 0; i < levelOffset + 99; i++) {
xpAdded += xpPerLevel[i];
if (xp < xpAdded) {
@@ -54,7 +58,67 @@ public class PetsCommand extends CommandBase {
}
return 100;
}
-
+
+ enum Rarity {
+ COMMON,
+ UNCOMMON,
+ RARE,
+ EPIC,
+ LEGENDARY,
+ MYTHIC;
+
+ public Rarity nextRarity() {
+ if (this.ordinal() == Rarity.values().length) return this;
+ return Rarity.values()[this.ordinal() + 1];
+ }
+
+ public EnumChatFormatting getChatColor() {
+ if (this == Rarity.COMMON) return EnumChatFormatting.WHITE;
+ if (this == Rarity.UNCOMMON) return EnumChatFormatting.GREEN;
+ if (this == Rarity.RARE) return EnumChatFormatting.BLUE;
+ if (this == Rarity.EPIC) return EnumChatFormatting.DARK_PURPLE;
+ if (this == Rarity.LEGENDARY) return EnumChatFormatting.GOLD;
+ if (this == Rarity.MYTHIC) return EnumChatFormatting.LIGHT_PURPLE;
+ return null;
+ }
+ }
+
+ class Pet {
+
+ public Rarity rarity;
+ public double xp;
+ public boolean active;
+ public boolean rarityBoosted = false;
+ public String name;
+
+ Pet(JsonObject pet) {
+ Rarity rarity = Rarity.valueOf(pet.get("tier").getAsString());
+ if (!pet.get("heldItem").isJsonNull()) {
+ String petItemID = pet.get("heldItem").getAsString();
+ switch (petItemID) {
+ case "PET_ITEM_VAMPIRE_FANG":
+ case "PET_ITEM_TOY_JERRY":
+ case "PET_ITEM_TIER_BOOST":
+ rarityBoosted = true;
+ rarity = rarity.nextRarity();
+ }
+ }
+ this.active = pet.get("active").getAsBoolean();
+ this.name = Utils.capitalizeString(pet.get("type").getAsString());;
+ this.rarity = rarity;
+ this.xp = pet.get("exp").getAsDouble();
+ }
+
+ public String getStringToAdd() {
+ int level = petXpToLevel(this.xp, this.rarity.name());
+
+ String messageToAdd = rarity.getChatColor() + " " + (this.active ? EnumChatFormatting.BOLD + ">>> " : "") + Utils.capitalizeString(this.rarity.name()) + (this.rarityBoosted ? " ⇑" : "") + " " + this.name + " (" + level + ")" + (this.active ? " <<<" : "");
+
+ return messageToAdd + "\n";
+ }
+
+ }
+
@Override
public String getCommandName() {
return "petsof";
@@ -64,12 +128,12 @@ public class PetsCommand extends CommandBase {
public String getCommandUsage(ICommandSender arg0) {
return "/" + getCommandName() + " [name]";
}
-
+
@Override
public int getRequiredPermissionLevel() {
return 0;
}
-
+
@Override
public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) {
if (args.length == 1) {
@@ -83,13 +147,13 @@ public class PetsCommand extends CommandBase {
// MULTI THREAD DRIFTING
new Thread(() -> {
EntityPlayer player = (EntityPlayer) arg0;
-
+
// Check key
String key = ConfigHandler.getString("api", "APIKey");
if (key.equals("")) {
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "API key not set. Use /setkey."));
}
-
+
// Get UUID for Hypixel API requests
String username;
String uuid;
@@ -102,11 +166,11 @@ public class PetsCommand extends CommandBase {
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Checking pets of " + DankersSkyblockMod.SECONDARY_COLOUR + username));
uuid = APIHandler.getUUID(username);
}
-
+
// Find stats of latest profile
String latestProfile = APIHandler.getLatestProfileID(uuid, key);
if (latestProfile == null) return;
-
+
String profileURL = "https://api.hypixel.net/skyblock/profile?profile=" + latestProfile + "&key=" + key;
System.out.println("Fetching profile...");
JsonObject profileResponse = APIHandler.getResponse(profileURL);
@@ -115,137 +179,41 @@ public class PetsCommand extends CommandBase {
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Failed with reason: " + reason));
return;
}
-
+
System.out.println("Fetching pets...");
JsonArray petsArray = profileResponse.get("profile").getAsJsonObject().get("members").getAsJsonObject().get(uuid).getAsJsonObject().get("pets").getAsJsonArray();
if (petsArray.size() == 0) {
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + username + " has no pets."));
return;
}
-
+
System.out.println("Looping through pets...");
// Push each pet into list
- List<JsonElement> sortedPets = new ArrayList<>();
+ List<Pet> pets = new ArrayList<>();
for (JsonElement petElement : petsArray) {
- sortedPets.add(petElement);
+ pets.add(new Pet(petElement.getAsJsonObject()));
}
-
- // Sort pets by exp
- sortedPets.sort((pet1, pet2) -> {
- double petXp1 = pet1.getAsJsonObject().get("exp").getAsDouble();
- double petXp2 = pet2.getAsJsonObject().get("exp").getAsDouble();
- return -Double.compare(petXp1, petXp2);
+
+ // Sort pets by exp and rarity
+ pets.sort((pet1, pet2) -> {
+ int rarity = pet1.rarity.compareTo(pet2.rarity);
+ int xp = Double.compare(pet1.xp, pet2.xp);
+ if (rarity != 0) return -rarity;
+ return -xp;
});
-
- // Sort pets into rarities
- List<JsonObject> commonPets = new ArrayList<>();
- List<JsonObject> uncommonPets = new ArrayList<>();
- List<JsonObject> rarePets = new ArrayList<>();
- List<JsonObject> epicPets = new ArrayList<>();
- List<JsonObject> legendaryPets = new ArrayList<>();
-
- for (JsonElement petElement : sortedPets) {
- JsonObject pet = petElement.getAsJsonObject();
- String rarity = pet.get("tier").getAsString();
-
- switch (rarity) {
- case "COMMON":
- commonPets.add(pet);
- break;
- case "UNCOMMON":
- uncommonPets.add(pet);
- break;
- case "RARE":
- rarePets.add(pet);
- break;
- case "EPIC":
- epicPets.add(pet);
- break;
- case "LEGENDARY":
- legendaryPets.add(pet);
- break;
- }
- }
-
- int totalPets = commonPets.size() + uncommonPets.size() + rarePets.size() + epicPets.size() + legendaryPets.size();
+
String finalMessage = DankersSkyblockMod.DELIMITER_COLOUR + "" + EnumChatFormatting.BOLD + "-------------------\n" +
- EnumChatFormatting.AQUA + " " + username + "'s Pets (" + totalPets + "):\n";
-
- // Loop through pet rarities
- for (JsonObject legPet : legendaryPets) {
- String petName = Utils.capitalizeString(legPet.get("type").getAsString());
- int level = petXpToLevel(legPet.get("exp").getAsDouble(), "LEGENDARY");
-
- String messageToAdd;
- if (legPet.get("active").getAsBoolean()) {
- messageToAdd = EnumChatFormatting.GOLD + " " + EnumChatFormatting.BOLD + ">>> Legendary " + petName + " (" + level + ") <<<";
- } else {
- messageToAdd = EnumChatFormatting.GOLD + " Legendary " + petName + " (" + level + ")";
- }
-
- finalMessage += messageToAdd + "\n";
- }
-
- for (JsonObject epicPet: epicPets) {
- String petName = Utils.capitalizeString(epicPet.get("type").getAsString());
- int level = petXpToLevel(epicPet.get("exp").getAsDouble(), "EPIC");
-
- String messageToAdd;
- if (epicPet.get("active").getAsBoolean()) {
- messageToAdd = EnumChatFormatting.DARK_PURPLE + " " + EnumChatFormatting.BOLD + ">>> Epic " + petName + " (" + level + ") <<<";
- } else {
- messageToAdd = EnumChatFormatting.DARK_PURPLE + " Epic " + petName + " (" + level + ")";
- }
-
- finalMessage += messageToAdd + "\n";
- }
-
- for (JsonObject rarePet: rarePets) {
- String petName = Utils.capitalizeString(rarePet.get("type").getAsString());
- int level = petXpToLevel(rarePet.get("exp").getAsDouble(), "RARE");
-
- String messageToAdd;
- if (rarePet.get("active").getAsBoolean()) {
- messageToAdd = EnumChatFormatting.BLUE + " " + EnumChatFormatting.BOLD + ">>> Rare " + petName + " (" + level + ") <<<";
- } else {
- messageToAdd = EnumChatFormatting.BLUE + " Rare " + petName + " (" + level + ")";
- }
-
- finalMessage += messageToAdd + "\n";
- }
-
- for (JsonObject uncommonPet: uncommonPets) {
- String petName = Utils.capitalizeString(uncommonPet.get("type").getAsString());
- int level = petXpToLevel(uncommonPet.get("exp").getAsDouble(), "UNCOMMON");
-
- String messageToAdd;
- if (uncommonPet.get("active").getAsBoolean()) {
- messageToAdd = EnumChatFormatting.GREEN + " " + EnumChatFormatting.BOLD + ">>> Uncommon " + petName + " (" + level + ") <<<";
- } else {
- messageToAdd = EnumChatFormatting.GREEN + " Uncommon " + petName + " (" + level + ")";
- }
-
- finalMessage += messageToAdd + "\n";
- }
-
- for (JsonObject commonPet: commonPets) {
- String petName = Utils.capitalizeString(commonPet.get("type").getAsString());
- int level = petXpToLevel(commonPet.get("exp").getAsDouble(), "COMMON");
-
- String messageToAdd;
- if (commonPet.get("active").getAsBoolean()) {
- messageToAdd = EnumChatFormatting.BOLD + ">>> Common " + petName + " (" + level + ") <<<";
- } else {
- messageToAdd = " Common " + petName + " (" + level + ")";
- }
-
- finalMessage += messageToAdd + "\n";
+ EnumChatFormatting.AQUA + " " + username + "'s Pets (" + pets.size() + "):\n";
+
+ // Loop through pets
+ for(Pet pet : pets) {
+ finalMessage += pet.getStringToAdd();
}
-
+
finalMessage += DankersSkyblockMod.DELIMITER_COLOUR + " " + EnumChatFormatting.BOLD + "-------------------";
player.addChatMessage(new ChatComponentText(finalMessage));
-
+
}).start();
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/me/Danker/commands/RepartyCommand.java b/src/main/java/me/Danker/commands/RepartyCommand.java
new file mode 100644
index 0000000..623ebf7
--- /dev/null
+++ b/src/main/java/me/Danker/commands/RepartyCommand.java
@@ -0,0 +1,135 @@
+package me.Danker.commands;
+
+import me.Danker.DankersSkyblockMod;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.entity.EntityPlayerSP;
+import net.minecraft.client.gui.GuiNewChat;
+import net.minecraft.command.CommandBase;
+import net.minecraft.command.CommandException;
+import net.minecraft.command.ICommand;
+import net.minecraft.command.ICommandSender;
+import net.minecraft.util.*;
+import net.minecraft.util.ChatComponentText;
+
+import java.util.*;
+import java.util.List;
+
+
+public class RepartyCommand extends CommandBase implements ICommand {
+ public static boolean gettingParty = false;
+ public static int Delimiter = 0;
+ public static boolean disbanding = false;
+ public static boolean inviting = false;
+ public static boolean failInviting = false;
+ public static List<String> party = new ArrayList<>();
+ public static List<String> repartyFailList = new ArrayList<>();
+ public static Thread partyThread = null;
+
+ @Override
+ public String getCommandName() {
+ return "reparty";
+ }
+
+ @Override
+ public String getCommandUsage(ICommandSender sender) {
+ return "/" + getCommandName();
+ }
+
+ @Override
+ public List<String> getCommandAliases() {
+ return Collections.singletonList("rp");
+ }
+
+ @Override
+ public int getRequiredPermissionLevel() {
+ return 0;
+ }
+
+ @Override
+ public void processCommand(ICommandSender sender, String[] args) throws CommandException {
+ if (args.length > 0 && (args[0].startsWith("fail") || args[0].equals("f"))) {
+ partyThread = new Thread(() -> {
+ EntityPlayerSP player = Minecraft.getMinecraft().thePlayer;
+ GuiNewChat chat = Minecraft.getMinecraft().ingameGUI.getChatGUI();
+
+
+ try {
+ player.sendChatMessage("/p " + String.join(" ", repartyFailList));
+ String members = String.join(EnumChatFormatting.WHITE + "\n- " + EnumChatFormatting.YELLOW, repartyFailList);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.DELIMITER_COLOUR + "-----------------------------\n" +
+ DankersSkyblockMod.MAIN_COLOUR + "Partying:" + EnumChatFormatting.WHITE + "\n- " +
+ EnumChatFormatting.YELLOW + members + "\n" +
+ DankersSkyblockMod.DELIMITER_COLOUR + "-----------------------------"));
+ failInviting = true;
+ while (failInviting) {
+ Thread.sleep(10);
+ }
+ if (repartyFailList.size() > 0) {
+ String repartyFails = String.join("\n- " + EnumChatFormatting.RED, repartyFailList);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.DELIMITER_COLOUR + "-----------------------------\n" +
+ DankersSkyblockMod.MAIN_COLOUR + "Failed to invite:" + EnumChatFormatting.WHITE + "\n- " +
+ EnumChatFormatting.RED + repartyFails + "\n" +
+ DankersSkyblockMod.DELIMITER_COLOUR + "-----------------------------"));
+ }
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ });
+
+ partyThread.start();
+
+ return;
+ }
+
+ party.clear();
+ repartyFailList.clear();
+
+ // MULTI THREAD DRIFTING
+ partyThread = new Thread(() -> {
+ EntityPlayerSP player = Minecraft.getMinecraft().thePlayer;
+
+
+ try {
+ player.sendChatMessage("/pl");
+ gettingParty = true;
+ while (gettingParty) {
+ Thread.sleep(10);
+ }
+ if (party.size() == 0) return;
+ player.sendChatMessage("/p disband");
+ disbanding = true;
+ while (disbanding) {
+ Thread.sleep(10);
+ }
+ String members = String.join(EnumChatFormatting.WHITE + "\n- " + EnumChatFormatting.YELLOW, RepartyCommand.party);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.DELIMITER_COLOUR + "-----------------------------\n" +
+ DankersSkyblockMod.MAIN_COLOUR + "Repartying:" + EnumChatFormatting.WHITE + "\n- " +
+ EnumChatFormatting.YELLOW + members + "\n" +
+ DankersSkyblockMod.DELIMITER_COLOUR + "-----------------------------"));
+ repartyFailList = new ArrayList<>(party);
+ for (String invitee : party) {
+ player.sendChatMessage("/p " + invitee);
+ inviting = true;
+ while (inviting) {
+ Thread.sleep(10);
+ }
+ Thread.sleep(100);
+ }
+ while (inviting) {
+ Thread.sleep(10);
+ }
+ if (repartyFailList.size() > 0) {
+ String repartyFails = String.join("\n- " + EnumChatFormatting.RED, repartyFailList);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.DELIMITER_COLOUR + "-----------------------------\n" +
+ DankersSkyblockMod.MAIN_COLOUR + "Failed to invite:" + EnumChatFormatting.WHITE + "\n- " +
+ EnumChatFormatting.RED + repartyFails + "\n" +
+ DankersSkyblockMod.DELIMITER_COLOUR + "-----------------------------"));
+ }
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ });
+
+ partyThread.start();
+ }
+} \ No newline at end of file
diff --git a/src/main/java/me/Danker/commands/ResetLootCommand.java b/src/main/java/me/Danker/commands/ResetLootCommand.java
index dc968e8..9b4ecfa 100644
--- a/src/main/java/me/Danker/commands/ResetLootCommand.java
+++ b/src/main/java/me/Danker/commands/ResetLootCommand.java
@@ -24,7 +24,7 @@ public class ResetLootCommand extends CommandBase {
@Override
public String getCommandUsage(ICommandSender arg0) {
- return "/" + getCommandName() + "<zombie/spider/wolf/fishing/catacombs/confirm/cancel>";
+ return "/" + getCommandName() + "<zombie/spider/wolf/fishing/mythological/catacombs/confirm/cancel>";
}
@Override
diff --git a/src/main/java/me/Danker/commands/ScaleCommand.java b/src/main/java/me/Danker/commands/ScaleCommand.java
index 85d0d5c..79b3cb1 100644
--- a/src/main/java/me/Danker/commands/ScaleCommand.java
+++ b/src/main/java/me/Danker/commands/ScaleCommand.java
@@ -8,7 +8,6 @@ import net.minecraft.command.ICommandSender;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.BlockPos;
import net.minecraft.util.ChatComponentText;
-import sun.security.krb5.Config;
import java.util.List;
@@ -22,6 +21,7 @@ public class ScaleCommand extends CommandBase {
public static double cakeTimerScale;
public static double skillTrackerScale;
public static double waterAnswerScale;
+ public static double bonzoTimerScale;
@Override
public String getCommandName() {
@@ -30,7 +30,7 @@ public class ScaleCommand extends CommandBase {
@Override
public String getCommandUsage(ICommandSender arg0) {
- return "/" + getCommandName() + " <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker/wateranswer> <size (0.1 - 10)>";
+ return "/" + getCommandName() + " <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker/wateranswer/bonzotimer> <size (0.1 - 10)>";
}
@Override
@@ -41,7 +41,7 @@ public class ScaleCommand extends CommandBase {
@Override
public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) {
if (args.length == 1) {
- return getListOfStringsMatchingLastWord(args, "coords", "display", "dungeontimer", "skill50", "lividhp", "caketimer", "skilltracker", "wateranswer");
+ return getListOfStringsMatchingLastWord(args, "coords", "display", "dungeontimer", "skill50", "lividhp", "caketimer", "skilltracker", "wateranswer", "bonzotimer");
}
return null;
}
@@ -102,6 +102,11 @@ public class ScaleCommand extends CommandBase {
ConfigHandler.writeDoubleConfig("scales", "waterAnswerScale", waterAnswerScale);
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Water solver answer has been scaled to " + DankersSkyblockMod.SECONDARY_COLOUR + waterAnswerScale + "x"));
break;
+ case "bonzotimer":
+ bonzoTimerScale = scaleAmount;
+ ConfigHandler.writeDoubleConfig("scales", "bonzoTimerScale", bonzoTimerScale);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Bonzo's Mask timer has been scaled to " + DankersSkyblockMod.SECONDARY_COLOUR + bonzoTimerScale + "x"));
+ break;
default:
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: " + getCommandUsage(arg0)));
}
diff --git a/src/main/java/me/Danker/commands/SetkeyCommand.java b/src/main/java/me/Danker/commands/SetkeyCommand.java
index db5fb9a..ee4b5a5 100644
--- a/src/main/java/me/Danker/commands/SetkeyCommand.java
+++ b/src/main/java/me/Danker/commands/SetkeyCommand.java
@@ -38,5 +38,4 @@ public class SetkeyCommand extends CommandBase implements ICommand {
ConfigHandler.writeStringConfig("api", "APIKey", arg1[0]);
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Set API key to " + DankersSkyblockMod.SECONDARY_COLOUR + arg1[0]));
}
-
}
diff --git a/src/main/java/me/Danker/commands/SkillTrackerCommand.java b/src/main/java/me/Danker/commands/SkillTrackerCommand.java
index 7642070..03753aa 100644
--- a/src/main/java/me/Danker/commands/SkillTrackerCommand.java
+++ b/src/main/java/me/Danker/commands/SkillTrackerCommand.java
@@ -13,6 +13,7 @@ import org.apache.commons.lang3.time.StopWatch;
import java.util.List;
public class SkillTrackerCommand extends CommandBase {
+ public static boolean running = false;
@Override
public String getCommandName() {
@@ -39,55 +40,63 @@ public class SkillTrackerCommand extends CommandBase {
@Override
public void processCommand(ICommandSender arg0, String[] arg1) throws CommandException {
- EntityPlayer player = (EntityPlayer) arg0;
-
- if (arg1.length < 1) {
- player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: " + getCommandUsage(arg0)));
- return;
- }
-
- switch (arg1[0].toLowerCase()) {
- case "start":
- case "resume":
- if (DankersSkyblockMod.skillStopwatch.isStarted() && DankersSkyblockMod.skillStopwatch.isSuspended()) {
- DankersSkyblockMod.skillStopwatch.resume();
- } else if (!DankersSkyblockMod.skillStopwatch.isStarted()) {
- DankersSkyblockMod.skillStopwatch.start();
- }
- player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Skill tracker started."));
- break;
- case "pause":
- case "stop":
- if (DankersSkyblockMod.skillStopwatch.isStarted() && !DankersSkyblockMod.skillStopwatch.isSuspended()) {
- DankersSkyblockMod.skillStopwatch.suspend();
- } else {
- player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Skill tracker paused."));
- }
- break;
- case "reset":
- DankersSkyblockMod.skillStopwatch = new StopWatch();
- DankersSkyblockMod.farmingXPGained = 0;
- DankersSkyblockMod.miningXPGained = 0;
- DankersSkyblockMod.combatXPGained = 0;
- DankersSkyblockMod.foragingXPGained = 0;
- DankersSkyblockMod.fishingXPGained = 0;
- DankersSkyblockMod.enchantingXPGained = 0;
- DankersSkyblockMod.alchemyXPGained = 0;
- player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Skill tracker reset."));
- break;
- case "hide":
- DankersSkyblockMod.showSkillTracker = false;
- ConfigHandler.writeBooleanConfig("misc", "showSkillTracker", false);
- player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Skill tracker hidden."));
- break;
- case "show":
- DankersSkyblockMod.showSkillTracker = true;
- ConfigHandler.writeBooleanConfig("misc", "showSkillTracker", true);
- player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Skill tracker shown."));
- break;
- default:
+ // MULTI THREAD DRIFTING
+ new Thread(() -> {
+ EntityPlayer player = (EntityPlayer) arg0;
+
+ if (arg1.length < 1) {
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: " + getCommandUsage(arg0)));
- }
- }
+ return;
+ }
+
+ try {
+ Thread.sleep(50);
+ switch (arg1[0].toLowerCase()) {
+ case "start":
+ case "resume":
+ if (DankersSkyblockMod.skillStopwatch.isStarted() && DankersSkyblockMod.skillStopwatch.isSuspended()) {
+ DankersSkyblockMod.skillStopwatch.resume();
+ } else if (!DankersSkyblockMod.skillStopwatch.isStarted()) {
+ DankersSkyblockMod.skillStopwatch.start();
+ }
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Skill tracker started."));
+ break;
+ case "pause":
+ case "stop":
+ if (DankersSkyblockMod.skillStopwatch.isStarted() && !DankersSkyblockMod.skillStopwatch.isSuspended()) {
+ DankersSkyblockMod.skillStopwatch.suspend();
+ } else {
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Skill tracker paused."));
+ }
+ break;
+ case "reset":
+ DankersSkyblockMod.skillStopwatch = new StopWatch();
+ DankersSkyblockMod.farmingXPGained = 0;
+ DankersSkyblockMod.miningXPGained = 0;
+ DankersSkyblockMod.combatXPGained = 0;
+ DankersSkyblockMod.foragingXPGained = 0;
+ DankersSkyblockMod.fishingXPGained = 0;
+ DankersSkyblockMod.enchantingXPGained = 0;
+ DankersSkyblockMod.alchemyXPGained = 0;
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Skill tracker reset."));
+ break;
+ case "hide":
+ DankersSkyblockMod.showSkillTracker = false;
+ ConfigHandler.writeBooleanConfig("misc", "showSkillTracker", false);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Skill tracker hidden."));
+ break;
+ case "show":
+ DankersSkyblockMod.showSkillTracker = true;
+ ConfigHandler.writeBooleanConfig("misc", "showSkillTracker", true);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Skill tracker shown."));
+ break;
+ default:
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: " + getCommandUsage(arg0)));
+ }
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }).start();
+ }
}
diff --git a/src/main/java/me/Danker/commands/SkillsCommand.java b/src/main/java/me/Danker/commands/SkillsCommand.java
index 2d5cf78..6edbb4e 100644
--- a/src/main/java/me/Danker/commands/SkillsCommand.java
+++ b/src/main/java/me/Danker/commands/SkillsCommand.java
@@ -96,7 +96,7 @@ public class SkillsCommand extends CommandBase {
farmingLevel = (double) Math.round(farmingLevel * 100) / 100;
}
if (userObject.has("experience_skill_mining")) {
- miningLevel = Utils.xpToSkillLevel(userObject.get("experience_skill_mining").getAsDouble(), 50);
+ miningLevel = Utils.xpToSkillLevel(userObject.get("experience_skill_mining").getAsDouble(), 60);
miningLevel = (double) Math.round(miningLevel * 100) / 100;
}
if (userObject.has("experience_skill_combat")) {
@@ -141,7 +141,7 @@ public class SkillsCommand extends CommandBase {
farmingLevel = achievementObject.get("skyblock_harvester").getAsInt();
}
if (achievementObject.has("skyblock_excavator")) {
- miningLevel = Math.min(achievementObject.get("skyblock_excavator").getAsInt(), 50);
+ miningLevel = achievementObject.get("skyblock_excavator").getAsInt();
}
if (achievementObject.has("skyblock_combat")) {
combatLevel = Math.min(achievementObject.get("skyblock_combat").getAsInt(), 50);
diff --git a/src/main/java/me/Danker/commands/SkyblockPlayersCommand.java b/src/main/java/me/Danker/commands/SkyblockPlayersCommand.java
index 9558d7d..c69ae6f 100644
--- a/src/main/java/me/Danker/commands/SkyblockPlayersCommand.java
+++ b/src/main/java/me/Danker/commands/SkyblockPlayersCommand.java
@@ -70,6 +70,7 @@ public class SkyblockPlayersCommand extends CommandBase {
int park = 0; // foraging_1
int goldMine = 0; // mining_1
int deepCaverns = 0; // mining_2
+ int dwarvenMines = 0; // mining_3
int spidersDen = 0; // combat_1
int blazingFortress = 0; // combat_2
int end = 0; // combat_3
@@ -101,6 +102,9 @@ public class SkyblockPlayersCommand extends CommandBase {
if (skyblockPlayers.has("mining_2")) {
deepCaverns = skyblockPlayers.get("mining_2").getAsInt();
}
+ if (skyblockPlayers.has("mining_3")) {
+ dwarvenMines = skyblockPlayers.get("mining_3").getAsInt();
+ }
if (skyblockPlayers.has("combat_1")) {
spidersDen = skyblockPlayers.get("combat_1").getAsInt();
}
@@ -135,6 +139,7 @@ public class SkyblockPlayersCommand extends CommandBase {
DankersSkyblockMod.TYPE_COLOUR + " Park: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(park) + " / " + Utils.getPercentage(park, skyblockTotalPlayers) + "%\n" +
DankersSkyblockMod.TYPE_COLOUR + " Gold Mine: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(goldMine) + " / " + Utils.getPercentage(goldMine, skyblockTotalPlayers) + "%\n" +
DankersSkyblockMod.TYPE_COLOUR + " Deep Caverns: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(deepCaverns) + " / " + Utils.getPercentage(deepCaverns, skyblockTotalPlayers) + "%\n" +
+ DankersSkyblockMod.TYPE_COLOUR + " Dwarven Mines: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(dwarvenMines) + " / " + Utils.getPercentage(dwarvenMines, skyblockTotalPlayers) + "%\n" +
DankersSkyblockMod.TYPE_COLOUR + " Spider's Den: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(spidersDen) + " / " + Utils.getPercentage(spidersDen, skyblockTotalPlayers) + "%\n" +
DankersSkyblockMod.TYPE_COLOUR + " Blazing Fortress: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(blazingFortress) + " / " + Utils.getPercentage(blazingFortress, skyblockTotalPlayers) + "%\n" +
DankersSkyblockMod.TYPE_COLOUR + " The End: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(end) + " / " + Utils.getPercentage(end, skyblockTotalPlayers) + "%\n" +
diff --git a/src/main/java/me/Danker/commands/SlayerCommand.java b/src/main/java/me/Danker/commands/SlayerCommand.java
index 6c83934..e7f78f1 100644
--- a/src/main/java/me/Danker/commands/SlayerCommand.java
+++ b/src/main/java/me/Danker/commands/SlayerCommand.java
@@ -14,6 +14,7 @@ import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import java.text.NumberFormat;
+import java.util.Collections;
import java.util.List;
import java.util.Locale;
@@ -25,6 +26,11 @@ public class SlayerCommand extends CommandBase {
}
@Override
+ public List<String> getCommandAliases() {
+ return Collections.singletonList("slayer");
+ }
+
+ @Override
public String getCommandUsage(ICommandSender arg0) {
return "/" + getCommandName() + " [name]";
}
diff --git a/src/main/java/me/Danker/commands/ToggleCommand.java b/src/main/java/me/Danker/commands/ToggleCommand.java
index 5c473e5..b632abc 100644
--- a/src/main/java/me/Danker/commands/ToggleCommand.java
+++ b/src/main/java/me/Danker/commands/ToggleCommand.java
@@ -23,20 +23,31 @@ public class ToggleCommand extends CommandBase implements ICommand {
public static boolean spiritBearAlerts;
public static boolean aotdToggled;
public static boolean lividDaggerToggled;
- public static boolean sceptreMessages;
public static boolean petColoursToggled;
public static boolean dungeonTimerToggled;
public static boolean golemAlertToggled;
public static boolean expertiseLoreToggled;
public static boolean skill50DisplayToggled;
public static boolean outlineTextToggled;
+ public static boolean cakeTimerToggled;
+ // Chat Messages
+ public static boolean sceptreMessages;
public static boolean midasStaffMessages;
public static boolean implosionMessages;
public static boolean healMessages;
- public static boolean cakeTimerToggled;
+ public static boolean cooldownMessages;
+ public static boolean manaMessages;
+ // Dungeons Messages
public static boolean lowHealthNotifyToggled;
public static boolean lividSolverToggled;
public static boolean stopSalvageStarredToggled;
+ public static boolean watcherReadyToggled;
+ public static boolean swapToPickBlockToggled;
+ public static boolean flowerWeaponsToggled;
+ public static boolean notifySlayerSlainToggled;
+ public static boolean necronNotificationsToggled;
+ public static boolean bonzoTimerToggled;
+ public static boolean autoSkillTrackerToggled;
// Puzzle Solvers
public static boolean threeManToggled;
public static boolean oruoToggled;
@@ -47,12 +58,14 @@ public class ToggleCommand extends CommandBase implements ICommand {
// Terminal Helpers
public static boolean startsWithToggled;
public static boolean selectAllToggled;
+ public static boolean clickInOrderToggled;
+ public static boolean blockWrongTerminalClicksToggled;
public static boolean itemFrameOnSeaLanternsToggled;
// Experiments
public static boolean ultrasequencerToggled;
public static boolean chronomatronToggled;
public static boolean superpairsToggled;
- public static boolean swapToPickBlockInExperimentsToggled;
+ public static boolean hideTooltipsInExperimentAddonsToggled;
@Override
public String getCommandName() {
@@ -61,30 +74,33 @@ public class ToggleCommand extends CommandBase implements ICommand {
@Override
public String getCommandUsage(ICommandSender arg0) {
+
return "/" + getCommandName() + " <gparty/coords/golden/slayercount/rngesusalerts/splitfishing/chatmaddox/spiritbearalert/" +
- "aotd/lividdagger/sceptremessages/petcolors/dungeontimer/golemalerts/expertiselore/skill50display/" +
- "outlinetext/midasstaffmessages/implosionmessages/healmessages/caketimer/lowhealthnotify/" +
- "lividsolver/stopsalvagestarred/threemanpuzzle/oruopuzzle/blazepuzzle/creeperpuzzle/waterpuzzle/tictactoepuzzle/" +
- "startswithterminal/selectallterminal/itemframeonsealanterns/ultrasequencer/chronomatron/superpairs/pickblockinexperiments/list>";
+ "aotd/lividdagger/flowerweapons/sceptremessages/petcolors/dungeontimer/golemalerts/expertiselore/skill50display/" +
+ "outlinetext/midasstaffmessages/implosionmessages/healmessages/cooldownmessages/manamessages/caketimer/lowhealthnotify/" +
+ "lividsolver/stopsalvagestarred/notifyslayerslain/necronnotifications/bonzotimer/threemanpuzzle/oruopuzzle/blazepuzzle/creeperpuzzle/waterpuzzle/tictactoepuzzle/" +
+ "watchermessage/startswithterminal/selectallterminal/clickinorderterminal/blockwrongterminalclicks/" +
+ "itemframeonsealanterns/ultrasequencer/chronomatron/superpairs/hidetooltipsinaddons/pickblock/list>";
}
@Override
public int getRequiredPermissionLevel() {
return 0;
}
-
+
@Override
public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) {
if (args.length == 1) {
return getListOfStringsMatchingLastWord(args, "gparty", "coords", "golden", "slayercount", "rngesusalerts",
"splitfishing", "chatmaddox", "spiritbearalerts", "aotd", "lividdagger",
- "sceptremessages", "petcolors", "dungeontimer", "golemalerts",
+ "flowerweapons", "sceptremessages", "petcolors", "dungeontimer", "golemalerts",
"expertiselore", "skill50display", "outlinetext", "midasstaffmessages",
- "implosionmessages", "healmessages", "caketimer", "lowhealthnotify",
- "lividsolver", "stopsalvagestarred", "threemanpuzzle", "oruopuzzle", "blazepuzzle",
- "creeperpuzzle", "waterpuzzle", "tictactoepuzzle", "startswithterminal",
- "selectallterminal", "itemframeonsealanterns", "ultrasequencer",
- "chronomatron", "superpairs", "pickblockinexperiments", "list");
+ "implosionmessages", "healmessages", "cooldownmessages", "manamessages", "caketimer", "lowhealthnotify", "autoskilltracker",
+ "lividsolver", "stopsalvagestarred", "notifyslayerslain", "necronnotifications",
+ "bonzotimer", "threemanpuzzle", "oruopuzzle", "blazepuzzle",
+ "creeperpuzzle", "waterpuzzle", "tictactoepuzzle", "watchermessage", "startswithterminal",
+ "selectallterminal", "clickinorderterminal", "blockwrongterminalclicks", "itemframeonsealanterns", "ultrasequencer",
+ "chronomatron", "superpairs", "hidetooltipsinaddons", "pickblock", "list");
}
return null;
}
@@ -149,6 +165,11 @@ public class ToggleCommand extends CommandBase implements ICommand {
ConfigHandler.writeBooleanConfig("toggles", "LividDagger", lividDaggerToggled);
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Block Livid Dagger ability been set to " + DankersSkyblockMod.SECONDARY_COLOUR + lividDaggerToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
break;
+ case "flowerweapons":
+ flowerWeaponsToggled = !flowerWeaponsToggled;
+ ConfigHandler.writeBooleanConfig("toggles", "FlowerWeapons", flowerWeaponsToggled);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Prevent Placing FoT/Spirit Sceptre been set to " + DankersSkyblockMod.SECONDARY_COLOUR + flowerWeaponsToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
+ break;
case "sceptremessages":
sceptreMessages = !sceptreMessages;
ConfigHandler.writeBooleanConfig("toggles", "SceptreMessages", sceptreMessages);
@@ -169,6 +190,16 @@ public class ToggleCommand extends CommandBase implements ICommand {
ConfigHandler.writeBooleanConfig("toggles", "HealMessages", healMessages);
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Heal messages have been set to " + DankersSkyblockMod.SECONDARY_COLOUR + healMessages + DankersSkyblockMod.MAIN_COLOUR + "."));
break;
+ case "cooldownmessages":
+ cooldownMessages = !cooldownMessages;
+ ConfigHandler.writeBooleanConfig("toggles", "CooldownMessages", cooldownMessages);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Ability cooldown messages has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + cooldownMessages + DankersSkyblockMod.MAIN_COLOUR + "."));
+ break;
+ case "manamessages":
+ manaMessages = !manaMessages;
+ ConfigHandler.writeBooleanConfig("toggles", "ManaMessages", manaMessages);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Out of mana messages has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + manaMessages + DankersSkyblockMod.MAIN_COLOUR + "."));
+ break;
case "petcolors":
case "petcolours":
petColoursToggled = !petColoursToggled;
@@ -220,6 +251,26 @@ public class ToggleCommand extends CommandBase implements ICommand {
ConfigHandler.writeBooleanConfig("toggles", "StopSalvageStarred", stopSalvageStarredToggled);
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Stop salvaging starred items has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + stopSalvageStarredToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
break;
+ case "notifyslayerslain":
+ notifySlayerSlainToggled = !notifySlayerSlainToggled;
+ ConfigHandler.writeBooleanConfig("toggles", "NotifySlayerSlain", notifySlayerSlainToggled);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Notify when slayer slain has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + notifySlayerSlainToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
+ break;
+ case "necronnotifications":
+ necronNotificationsToggled = !necronNotificationsToggled;
+ ConfigHandler.writeBooleanConfig("toggles", "NecronNotifications", necronNotificationsToggled);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Necron phase notifications has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + necronNotificationsToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
+ break;
+ case "bonzotimer":
+ bonzoTimerToggled = !bonzoTimerToggled;
+ ConfigHandler.writeBooleanConfig("toggles", "BonzoTimer", bonzoTimerToggled);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Bonzo's Mask timer has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + necronNotificationsToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
+ break;
+ case "autoskilltracker":
+ autoSkillTrackerToggled = !autoSkillTrackerToggled;
+ ConfigHandler.writeBooleanConfig("toggles", "AutoSkillTracker", autoSkillTrackerToggled);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Auto start/stop skill tracker has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + autoSkillTrackerToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
+ break;
case "threemanpuzzle":
threeManToggled = !threeManToggled;
ConfigHandler.writeBooleanConfig("toggles", "ThreeManPuzzle", threeManToggled);
@@ -250,6 +301,11 @@ public class ToggleCommand extends CommandBase implements ICommand {
ConfigHandler.writeBooleanConfig("toggles", "TicTacToePuzzle", ticTacToeToggled);
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Tic tac toe puzzle solver has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + ticTacToeToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
break;
+ case "watchermessage":
+ watcherReadyToggled = !watcherReadyToggled;
+ ConfigHandler.writeBooleanConfig("toggles", "WatcherReadyMessage", watcherReadyToggled);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Display Watcher ready message has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + watcherReadyToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
+ break;
case "startswithterminal":
startsWithToggled = !startsWithToggled;
ConfigHandler.writeBooleanConfig("toggles", "StartsWithTerminal", startsWithToggled);
@@ -260,6 +316,16 @@ public class ToggleCommand extends CommandBase implements ICommand {
ConfigHandler.writeBooleanConfig("toggles", "SelectAllTerminal", selectAllToggled);
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Select all color items terminal solver has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + selectAllToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
break;
+ case "clickinorderterminal":
+ clickInOrderToggled = !clickInOrderToggled;
+ ConfigHandler.writeBooleanConfig("toggles", "ClickInOrderTerminal", clickInOrderToggled);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Click in order terminal helper has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + selectAllToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
+ break;
+ case "blockwrongterminalclicks":
+ blockWrongTerminalClicksToggled = !blockWrongTerminalClicksToggled;
+ ConfigHandler.writeBooleanConfig("toggles", "BlockWrongTerminalClicks", blockWrongTerminalClicksToggled);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Block wrong clicks on terminals has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + blockWrongTerminalClicksToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
+ break;
case "itemframeonsealanterns":
itemFrameOnSeaLanternsToggled = !itemFrameOnSeaLanternsToggled;
ConfigHandler.writeBooleanConfig("toggles", "IgnoreItemFrameOnSeaLanterns", itemFrameOnSeaLanternsToggled);
@@ -280,10 +346,15 @@ public class ToggleCommand extends CommandBase implements ICommand {
ConfigHandler.writeBooleanConfig("toggles", "Superpairs", superpairsToggled);
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Superpairs solver has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + superpairsToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
break;
- case "pickblockinexperiments":
- swapToPickBlockInExperimentsToggled = !swapToPickBlockInExperimentsToggled;
- ConfigHandler.writeBooleanConfig("toggles", "PickBlockInExperiments", superpairsToggled);
- player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Auto-swap to pick block in experiments has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + swapToPickBlockInExperimentsToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
+ case "hidetooltipsinaddons":
+ hideTooltipsInExperimentAddonsToggled = !hideTooltipsInExperimentAddonsToggled;
+ ConfigHandler.writeBooleanConfig("toggles", "HideTooltipsInExperimentAddons", hideTooltipsInExperimentAddonsToggled);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Hide tooltips in ultrasequencer and chronomatron has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + hideTooltipsInExperimentAddonsToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
+ break;
+ case "pickblock":
+ swapToPickBlockToggled = !swapToPickBlockToggled;
+ ConfigHandler.writeBooleanConfig("toggles", "PickBlock", swapToPickBlockToggled);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Auto-swap to pick block has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + swapToPickBlockToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
break;
case "list":
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.TYPE_COLOUR + "Guild party notifications: " + DankersSkyblockMod.VALUE_COLOUR + gpartyToggled + "\n" +
@@ -296,10 +367,13 @@ public class ToggleCommand extends CommandBase implements ICommand {
DankersSkyblockMod.TYPE_COLOUR + " Spirit Bear alerts: " + DankersSkyblockMod.VALUE_COLOUR + spiritBearAlerts + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Block AOTD ability: " + DankersSkyblockMod.VALUE_COLOUR + aotdToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Block Livid Dagger ability: " + DankersSkyblockMod.VALUE_COLOUR + lividDaggerToggled + "\n" +
+ DankersSkyblockMod.TYPE_COLOUR + " Prevent Placing FoT/Spirit Sceptre: " + DankersSkyblockMod.VALUE_COLOUR + flowerWeaponsToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Spirit Sceptre messages: " + DankersSkyblockMod.VALUE_COLOUR + sceptreMessages + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Midas Staff messages: " + DankersSkyblockMod.VALUE_COLOUR + midasStaffMessages + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Implosion messages: " + DankersSkyblockMod.VALUE_COLOUR + implosionMessages + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Heal messages: " + DankersSkyblockMod.VALUE_COLOUR + healMessages + "\n" +
+ DankersSkyblockMod.TYPE_COLOUR + " Ability cooldown messages: " + DankersSkyblockMod.VALUE_COLOUR + cooldownMessages + "\n" +
+ DankersSkyblockMod.TYPE_COLOUR + " Out of mana messages: " + DankersSkyblockMod.VALUE_COLOUR + manaMessages + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Pet colours: " + DankersSkyblockMod.VALUE_COLOUR + petColoursToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Dungeon timer: " + DankersSkyblockMod.VALUE_COLOUR + dungeonTimerToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Golem spawn alerts: " + DankersSkyblockMod.VALUE_COLOUR + golemAlertToggled + "\n" +
@@ -308,6 +382,7 @@ public class ToggleCommand extends CommandBase implements ICommand {
DankersSkyblockMod.TYPE_COLOUR + " Outline displayed text: " + DankersSkyblockMod.VALUE_COLOUR + outlineTextToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Cake timer: " + DankersSkyblockMod.VALUE_COLOUR + cakeTimerToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Low health notify: " + DankersSkyblockMod.VALUE_COLOUR + lowHealthNotifyToggled + "\n" +
+ DankersSkyblockMod.TYPE_COLOUR + " Auto start/stop skill tracker: " + DankersSkyblockMod.VALUE_COLOUR + autoSkillTrackerToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Livid solver: " + DankersSkyblockMod.VALUE_COLOUR + lividSolverToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Three man puzzle solver: " + DankersSkyblockMod.VALUE_COLOUR + threeManToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Oruo trivia solver: " + DankersSkyblockMod.VALUE_COLOUR + oruoToggled + "\n" +
@@ -315,12 +390,15 @@ public class ToggleCommand extends CommandBase implements ICommand {
DankersSkyblockMod.TYPE_COLOUR + " Creeper puzzle solver: " + DankersSkyblockMod.VALUE_COLOUR + creeperToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Water puzzle solver: " + DankersSkyblockMod.VALUE_COLOUR + waterToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Tic tac toe puzzle solver: " + DankersSkyblockMod.VALUE_COLOUR + ticTacToeToggled + "\n" +
+ DankersSkyblockMod.TYPE_COLOUR + " Watcher ready message: " + DankersSkyblockMod.VALUE_COLOUR + watcherReadyToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Starts with letter terminal solver: " + DankersSkyblockMod.VALUE_COLOUR + startsWithToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Select all color items terminal solver: " + DankersSkyblockMod.VALUE_COLOUR + selectAllToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Ignore item frames on sea lanterns: " + DankersSkyblockMod.VALUE_COLOUR + itemFrameOnSeaLanternsToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Ultra sequencer solver: " + DankersSkyblockMod.VALUE_COLOUR + ultrasequencerToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Chronomatron solver: " + DankersSkyblockMod.VALUE_COLOUR + chronomatronToggled + "\n" +
- DankersSkyblockMod.TYPE_COLOUR + " Superpairs solver: " + DankersSkyblockMod.VALUE_COLOUR + superpairsToggled
+ DankersSkyblockMod.TYPE_COLOUR + " Superpairs solver: " + DankersSkyblockMod.VALUE_COLOUR + superpairsToggled + "\n" +
+ DankersSkyblockMod.TYPE_COLOUR + " Hide tooltips in experiment addons: " + DankersSkyblockMod.VALUE_COLOUR + hideTooltipsInExperimentAddonsToggled + "\n" +
+ DankersSkyblockMod.TYPE_COLOUR + " Auto-swap to pick block " + DankersSkyblockMod.VALUE_COLOUR + swapToPickBlockToggled
));
break;
default: