diff options
author | Jakub Kolodziej <jakvb.kolodziej@gmail.com> | 2023-06-10 14:23:35 +0200 |
---|---|---|
committer | Jakub Kolodziej <jakvb.kolodziej@gmail.com> | 2023-06-10 21:56:56 +0200 |
commit | dc3b373391db5e2fd43752430b13d59956d5be4e (patch) | |
tree | 420849b30cae4422f9029148c4510b5482b508d0 /src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon | |
parent | 900b60a62e421e38cf69cc075b2b05a56e2160d2 (diff) | |
download | Skyblocker-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.java | 51 |
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 ); + } +} |