aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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;
}