aboutsummaryrefslogtreecommitdiff
path: root/src
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
parent900b60a62e421e38cf69cc075b2b05a56e2160d2 (diff)
downloadSkyblocker-dc3b373391db5e2fd43752430b13d59956d5be4e.tar.gz
Skyblocker-dc3b373391db5e2fd43752430b13d59956d5be4e.tar.bz2
Skyblocker-dc3b373391db5e2fd43752430b13d59956d5be4e.zip
Add Auto Rejoin Reparty
Diffstat (limited to 'src')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java1
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/RepartyRejoin.java51
-rw-r--r--src/main/resources/assets/skyblocker/lang/en_us.json1
4 files changed, 55 insertions, 0 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java b/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java
index f502a356..6d0f38b8 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java
@@ -5,6 +5,7 @@ import me.xmrvizzy.skyblocker.skyblock.api.ApiKeyListener;
import me.xmrvizzy.skyblocker.skyblock.barn.HungryHiker;
import me.xmrvizzy.skyblocker.skyblock.barn.TreasureHunter;
import me.xmrvizzy.skyblocker.skyblock.dungeon.Reparty;
+import me.xmrvizzy.skyblocker.skyblock.dungeon.RepartyRejoin;
import me.xmrvizzy.skyblocker.skyblock.dungeon.ThreeWeirdos;
import me.xmrvizzy.skyblocker.skyblock.dungeon.Trivia;
import me.xmrvizzy.skyblocker.skyblock.dwarven.Fetchur;
@@ -41,6 +42,7 @@ public interface ChatMessageListener {
new Fetchur(),
new Puzzler(),
new Reparty(),
+ new RepartyRejoin(),
new ThreeWeirdos(),
new Trivia(),
new TreasureHunter(),
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
index b1bc2001..3acbbdec 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
@@ -281,6 +281,7 @@ public class SkyblockerConfig implements ConfigData {
public int mapX = 2;
public int mapY = 2;
public boolean solveThreeWeirdos = true;
+ public boolean repartyRejoin = true;
public boolean blazesolver = true;
public boolean solveTrivia = true;
@ConfigEntry.Gui.CollapsibleObject
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 );
+ }
+}
diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json
index 858507fe..db10a327 100644
--- a/src/main/resources/assets/skyblocker/lang/en_us.json
+++ b/src/main/resources/assets/skyblocker/lang/en_us.json
@@ -169,6 +169,7 @@
"text.autoconfig.skyblocker.option.locations.dungeons.mapScaling": "Map Scaling",
"text.autoconfig.skyblocker.option.locations.dungeons.mapX": "Map X",
"text.autoconfig.skyblocker.option.locations.dungeons.mapY": "Map Y",
+ "text.autoconfig.skyblocker.option.locations.dungeons.repartyRejoin": "Auto Rejoin Reparty",
"text.autoconfig.skyblocker.option.locations.dungeons.solveThreeWeirdos": "Solve Three Weirdos Puzzle",
"text.autoconfig.skyblocker.option.locations.dungeons.blazesolver": "Solve Blaze Puzzle",
"text.autoconfig.skyblocker.option.locations.dungeons.solveTrivia": "Solve Trivia Puzzle",