aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/Danker/commands/RepartyCommand.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/Danker/commands/RepartyCommand.java')
-rw-r--r--src/main/java/me/Danker/commands/RepartyCommand.java117
1 files changed, 77 insertions, 40 deletions
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