aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de
diff options
context:
space:
mode:
authorRime <81419447+Emirlol@users.noreply.github.com>2024-01-19 18:16:38 +0300
committerRime <81419447+Emirlol@users.noreply.github.com>2024-01-21 09:37:49 +0300
commitcf55639859eda114efce3e91f762a534d0076b17 (patch)
tree012d02616cdffae3a491ab1e0e7813c409fbaef2 /src/main/java/de
parentde4c4e1de62ec95cf4563f597a58c0ce02629042 (diff)
downloadSkyblocker-cf55639859eda114efce3e91f762a534d0076b17.tar.gz
Skyblocker-cf55639859eda114efce3e91f762a534d0076b17.tar.bz2
Skyblocker-cf55639859eda114efce3e91f762a534d0076b17.zip
Improve mimic filter regex and refactor some code
Diffstat (limited to 'src/main/java/de')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java11
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/filters/MimicFilter.java4
2 files changed, 8 insertions, 7 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java
index 187ef43b..4dfbf62a 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java
@@ -189,11 +189,7 @@ public class DungeonScore {
}
public static boolean isEntityMimic(Entity entity) {
- if (!Utils.isInDungeons()) return false;
- if (!floorHasMimics) return false;
- if (entity == null) return false;
- if (!(entity instanceof ZombieEntity zombie)) return false;
- if (!zombie.isBaby()) return false;
+ if (!Utils.isInDungeons() || !floorHasMimics || !(entity instanceof ZombieEntity zombie) || !zombie.isBaby()) return false;
try {
DefaultedList<ItemStack> armor = (DefaultedList<ItemStack>) zombie.getArmorItems();
return armor.stream().allMatch(ItemStack::isEmpty);
@@ -348,6 +344,11 @@ public class DungeonScore {
return dungeonStarted;
}
+ //Feel free to refactor this if you can think of a better name.
+ public static boolean isMimicOnCurrentFloor() {
+ return floorHasMimics;
+ }
+
enum FloorRequirement {
E(30, 1200),
F1(30, 600),
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/filters/MimicFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/filters/MimicFilter.java
index 51482794..31f83187 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/filters/MimicFilter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/filters/MimicFilter.java
@@ -11,7 +11,7 @@ import java.util.regex.Matcher;
public class MimicFilter extends ChatPatternListener {
public MimicFilter() {
- super("(?:Mimic dead!?|Mimic Killed!|\\$SKYTILS-DUNGEON-SCORE-MIMIC\\$|\\Q" + SkyblockerConfigManager.get().locations.dungeons.mimicMessages.mimicMessage + "\\E)$");
+ super(".*?(?:Mimic dead!?|Mimic Killed!|\\$SKYTILS-DUNGEON-SCORE-MIMIC\\$|\\Q" + SkyblockerConfigManager.get().locations.dungeons.mimicMessages.mimicMessage + "\\E)$");
}
@Override
@@ -21,7 +21,7 @@ public class MimicFilter extends ChatPatternListener {
@Override
protected boolean onMatch(Text message, Matcher matcher) {
- if (!Utils.isInDungeons()) return false;
+ if (!Utils.isInDungeons() || !DungeonScore.isDungeonStarted() || !DungeonScore.isMimicOnCurrentFloor()) return false;
DungeonScore.setMimicKilled(true);
return true;
}