aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon
diff options
context:
space:
mode:
authorJakub Kolodziej <jakvb.kolodziej@gmail.com>2023-06-10 14:23:35 +0200
committerJakub Kolodziej <jakvb.kolodziej@gmail.com>2023-06-10 21:56:56 +0200
commitdc3b373391db5e2fd43752430b13d59956d5be4e (patch)
tree420849b30cae4422f9029148c4510b5482b508d0 /src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon
parent900b60a62e421e38cf69cc075b2b05a56e2160d2 (diff)
downloadSkyblocker-dc3b373391db5e2fd43752430b13d59956d5be4e.tar.gz
Skyblocker-dc3b373391db5e2fd43752430b13d59956d5be4e.tar.bz2
Skyblocker-dc3b373391db5e2fd43752430b13d59956d5be4e.zip
Add Auto Rejoin Reparty
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/RepartyRejoin.java51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/RepartyRejoin.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/RepartyRejoin.java
new file mode 100644
index 00000000..ad91adc9
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/RepartyRejoin.java
@@ -0,0 +1,51 @@
+package me.xmrvizzy.skyblocker.skyblock.dungeon;
+
+import me.xmrvizzy.skyblocker.SkyblockerMod;
+import me.xmrvizzy.skyblocker.chat.ChatFilterResult;
+import me.xmrvizzy.skyblocker.chat.ChatPatternListener;
+import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
+
+import net.minecraft.text.Text;
+
+import java.util.regex.Matcher;
+
+public class RepartyRejoin extends ChatPatternListener {
+
+ private static final SkyblockerMod skyblocker = SkyblockerMod.getInstance();
+
+ private boolean repartying;
+
+
+ public RepartyRejoin(){
+ super("^(?:That party has been disbanded\\.|([\\[A-z+\\]]* )?(?<name>[A-z0-9_]*) has disbanded the party!)");
+ this.repartying = false;
+ }
+
+ @Override
+ protected ChatFilterResult state() {
+ return SkyblockerConfig.get().locations.dungeons.repartyRejoin ? ChatFilterResult.FILTER : ChatFilterResult.PASS;
+ }
+
+ @Override
+ protected boolean onMatch(Text message, Matcher matcher) {
+ if (matcher.group("name")!=null) {
+ this.repartying = true;
+ join(matcher.group("name"));
+ return false;
+ } else if ( repartying ) {
+ repartying = false;
+ return true;
+ }
+ return false;
+ }
+
+ private void join(String player){
+ String command = "/party accept " + player;
+ sendCommand(command);
+
+ }
+
+ private void sendCommand(String command) {
+ skyblocker.messageScheduler.queueMessage(command, 15 );
+ }
+}