aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/Danker/commands
diff options
context:
space:
mode:
authorbowser0000 <bowser0000@gmail.com>2021-02-10 20:42:47 -0500
committerGitHub <noreply@github.com>2021-02-10 20:42:47 -0500
commite973a5e27090525713740e8b026c1d4b7c93b30e (patch)
tree938df6b8f67a41e2c291b5425f54d3640b9b690a /src/main/java/me/Danker/commands
parentb65d69d3d9a4548dbec534260453321da83bd0eb (diff)
parent956625ccd8926cafb2d9b2b25a695d648ee63900 (diff)
downloadSkyblockMod-e973a5e27090525713740e8b026c1d4b7c93b30e.tar.gz
SkyblockMod-e973a5e27090525713740e8b026c1d4b7c93b30e.tar.bz2
SkyblockMod-e973a5e27090525713740e8b026c1d4b7c93b30e.zip
Merge pull request #49 from Sychic/development
Features: Old Animations Warning, cooldown messages, mana messages, and secrets found
Diffstat (limited to 'src/main/java/me/Danker/commands')
-rw-r--r--src/main/java/me/Danker/commands/DungeonsCommand.java13
-rw-r--r--src/main/java/me/Danker/commands/RepartyCommand.java117
-rw-r--r--src/main/java/me/Danker/commands/SetkeyCommand.java1
-rw-r--r--src/main/java/me/Danker/commands/ToggleCommand.java27
4 files changed, 110 insertions, 48 deletions
diff --git a/src/main/java/me/Danker/commands/DungeonsCommand.java b/src/main/java/me/Danker/commands/DungeonsCommand.java
index 8b14bf7..f9ad93e 100644
--- a/src/main/java/me/Danker/commands/DungeonsCommand.java
+++ b/src/main/java/me/Danker/commands/DungeonsCommand.java
@@ -78,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();
@@ -94,6 +102,7 @@ public class DungeonsCommand extends CommandBase {
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());
+ 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();
@@ -107,7 +116,8 @@ public class DungeonsCommand extends CommandBase {
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.BLUE + " Tank Level: " + tank + "\n\n" +
+ EnumChatFormatting.WHITE + " Secrets Found: " + secrets + "\n\n");
StringBuilder completionsHoverString = new StringBuilder();
@@ -135,5 +145,4 @@ public class DungeonsCommand extends CommandBase {
);
}).start();
}
-
}
diff --git a/src/main/java/me/Danker/commands/RepartyCommand.java b/src/main/java/me/Danker/commands/RepartyCommand.java
index d3bf9e4..623ebf7 100644
--- a/src/main/java/me/Danker/commands/RepartyCommand.java
+++ b/src/main/java/me/Danker/commands/RepartyCommand.java
@@ -1,34 +1,29 @@
package me.Danker.commands;
import me.Danker.DankersSkyblockMod;
-import me.Danker.utils.Utils;
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.entity.player.EntityPlayer;
import net.minecraft.util.*;
import net.minecraft.util.ChatComponentText;
-import net.minecraftforge.client.event.*;
-import net.minecraftforge.fml.common.Mod.EventHandler;
-import net.minecraftforge.fml.common.eventhandler.EventPriority;
-import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import java.util.*;
-import java.text.NumberFormat;
import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
public class RepartyCommand extends CommandBase implements ICommand {
- public static double callTime = 0;
- public static boolean inviteFailed = false;
- public static String currentMember;
+ 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() {
@@ -52,47 +47,89 @@ public class RepartyCommand extends CommandBase implements ICommand {
@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
- new Thread(() -> {
+ partyThread = new Thread(() -> {
EntityPlayerSP player = Minecraft.getMinecraft().thePlayer;
- RepartyCommand.callTime = (double) System.currentTimeMillis() / 1000;
-
+
+
try {
- Thread.sleep(210);
- player.sendChatMessage("/p list");
- System.out.println("Grabbing the party members...");
- Thread.sleep(550);
- if (RepartyCommand.party.size() == 0) return;
-
+ player.sendChatMessage("/pl");
+ gettingParty = true;
+ while (gettingParty) {
+ Thread.sleep(10);
+ }
+ if (party.size() == 0) return;
player.sendChatMessage("/p disband");
- Thread.sleep(210);
-
- String members = String.join(EnumChatFormatting.WHITE + "\n- " + EnumChatFormatting.GOLD, RepartyCommand.party);
+ 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.GOLD + members + "\n" +
- DankersSkyblockMod.DELIMITER_COLOUR + "-----------------------------\n"));
-
- for (int i = 0; i < RepartyCommand.party.size(); i++) {
- RepartyCommand.currentMember = RepartyCommand.party.get(i);
- player.sendChatMessage("/p " + RepartyCommand.currentMember);
- Thread.sleep(400);
+ 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);
}
-
- if (RepartyCommand.repartyFailList.size() > 0) {
- Thread.sleep(300);
- String failedMembers = String.join(EnumChatFormatting.WHITE + "\n- " + EnumChatFormatting.GOLD, RepartyCommand.repartyFailList);
+ 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.ERROR_COLOUR + "Unable to Invite:" + EnumChatFormatting.WHITE + "\n- " +
- EnumChatFormatting.GOLD + failedMembers + "\n" +
- 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();
}
- }).start();
+ });
+
+ partyThread.start();
}
} \ No newline at end of file
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/ToggleCommand.java b/src/main/java/me/Danker/commands/ToggleCommand.java
index ce507e1..0aafe1b 100644
--- a/src/main/java/me/Danker/commands/ToggleCommand.java
+++ b/src/main/java/me/Danker/commands/ToggleCommand.java
@@ -23,17 +23,21 @@ 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;
@@ -71,9 +75,10 @@ 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/flowerweapons/sceptremessages/petcolors/dungeontimer/golemalerts/expertiselore/skill50display/" +
- "outlinetext/midasstaffmessages/implosionmessages/healmessages/caketimer/lowhealthnotify/autoskilltracker/" +
+ "outlinetext/midasstaffmessages/implosionmessages/healmessages/cooldownmessages/manamessages/caketimer/lowhealthnotify/" +
"lividsolver/stopsalvagestarred/notifyslayerslain/necronnotifications/bonzotimer/blockbreakingfarms/threemanpuzzle/oruopuzzle/blazepuzzle/creeperpuzzle/waterpuzzle/tictactoepuzzle/" +
"watchermessage/startswithterminal/selectallterminal/clickinorderterminal/blockwrongterminalclicks/" +
"itemframeonsealanterns/ultrasequencer/chronomatron/superpairs/hidetooltipsinaddons/pickblock/list>";
@@ -83,7 +88,7 @@ public class ToggleCommand extends CommandBase implements ICommand {
public int getRequiredPermissionLevel() {
return 0;
}
-
+
@Override
public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) {
if (args.length == 1) {
@@ -91,7 +96,7 @@ public class ToggleCommand extends CommandBase implements ICommand {
"splitfishing", "chatmaddox", "spiritbearalerts", "aotd", "lividdagger",
"flowerweapons", "sceptremessages", "petcolors", "dungeontimer", "golemalerts",
"expertiselore", "skill50display", "outlinetext", "midasstaffmessages",
- "implosionmessages", "healmessages", "caketimer", "lowhealthnotify", "autoskilltracker",
+ "implosionmessages", "healmessages", "cooldownmessages", "manamessages", "caketimer", "lowhealthnotify", "autoskilltracker",
"lividsolver", "stopsalvagestarred", "notifyslayerslain", "necronnotifications",
"bonzotimer", "blockbreakingfarms", "threemanpuzzle", "oruopuzzle", "blazepuzzle",
"creeperpuzzle", "waterpuzzle", "tictactoepuzzle", "watchermessage", "startswithterminal",
@@ -186,6 +191,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;
@@ -362,6 +377,8 @@ public class ToggleCommand extends CommandBase implements ICommand {
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" +