From dc3b373391db5e2fd43752430b13d59956d5be4e Mon Sep 17 00:00:00 2001 From: Jakub Kolodziej Date: Sat, 10 Jun 2023 14:23:35 +0200 Subject: Add Auto Rejoin Reparty --- .../skyblocker/skyblock/dungeon/RepartyRejoin.java | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/RepartyRejoin.java (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon') 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+\\]]* )?(?[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 ); + } +} -- cgit