diff options
author | Rime <81419447+Emirlol@users.noreply.github.com> | 2024-01-19 18:16:38 +0300 |
---|---|---|
committer | Rime <81419447+Emirlol@users.noreply.github.com> | 2024-01-21 09:37:49 +0300 |
commit | cf55639859eda114efce3e91f762a534d0076b17 (patch) | |
tree | 012d02616cdffae3a491ab1e0e7813c409fbaef2 /src/main/java/de | |
parent | de4c4e1de62ec95cf4563f597a58c0ce02629042 (diff) | |
download | Skyblocker-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.java | 11 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/filters/MimicFilter.java | 4 |
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; } |