aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
index 65b9648f..f5fd1151 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
@@ -1,16 +1,18 @@
package me.xmrvizzy.skyblocker.skyblock.dungeon;
import me.xmrvizzy.skyblocker.SkyblockerMod;
-import me.xmrvizzy.skyblocker.chat.ChatListener;
+import me.xmrvizzy.skyblocker.chat.ChatFilterResult;
+import me.xmrvizzy.skyblocker.chat.ChatPatternListener;
import me.xmrvizzy.skyblocker.utils.Utils;
import net.fabricmc.fabric.api.client.command.v1.ClientCommandManager;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
+import net.minecraft.text.Text;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-public class Reparty extends ChatListener {
+public class Reparty extends ChatPatternListener {
private static final MinecraftClient client = MinecraftClient.getInstance();
private static final SkyblockerMod skyblocker = SkyblockerMod.getInstance();
public static final Pattern PLAYER = Pattern.compile(" ([a-zA-Z0-9_]{2,16}) ●");
@@ -36,17 +38,17 @@ public class Reparty extends ChatListener {
}
@Override
- public boolean isEnabled() {
- return repartying;
+ public ChatFilterResult state() {
+ return repartying ? ChatFilterResult.FILTER : ChatFilterResult.PASS;
}
@Override
- public boolean onMessage(String[] groups) {
- if (groups[1] != null) {
+ public boolean onMatch(Text message, Matcher matcher) {
+ if (matcher.group(1) != null) {
playersSoFar = 0;
- players = new String[Integer.parseInt(groups[1]) - 1];
- } else if (groups[2] != null) {
- Matcher m = PLAYER.matcher(groups[2]);
+ players = new String[Integer.parseInt(matcher.group(1)) - 1];
+ } else if (matcher.group(2) != null) {
+ Matcher m = PLAYER.matcher(matcher.group(2));
while (m.find()) {
players[playersSoFar++] = m.group(1);
}
@@ -65,10 +67,10 @@ public class Reparty extends ChatListener {
sendCommand(playerEntity, "/p disband", 1);
StringBuilder sb = new StringBuilder();
int invites = (players.length - 1) / 5 + 1;
- for(int i = 0; i < invites; i++) {
+ for (int i = 0; i < invites; i++) {
sb.setLength(0);
sb.append("/p invite");
- for(int j = 0; j < 5 && i * 5 + j < players.length; j++) {
+ for (int j = 0; j < 5 && i * 5 + j < players.length; j++) {
sb.append(' ');
sb.append(players[i * 5 + j]);
}