From c61ffbe25dea8f57e91ce3fb7892aa8540224b0e Mon Sep 17 00:00:00 2001 From: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> Date: Fri, 26 Apr 2024 23:14:28 -0400 Subject: Refactor updated code --- .../skyblock/entity/MobBoundingBoxes.java | 18 +++---------- .../hysky/skyblocker/skyblock/entity/MobGlow.java | 31 ++++++++++++---------- 2 files changed, 21 insertions(+), 28 deletions(-) (limited to 'src/main/java/de/hysky/skyblocker/skyblock/entity') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/entity/MobBoundingBoxes.java b/src/main/java/de/hysky/skyblocker/skyblock/entity/MobBoundingBoxes.java index 6ab4e3f2..5522ceca 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/entity/MobBoundingBoxes.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/entity/MobBoundingBoxes.java @@ -1,7 +1,5 @@ package de.hysky.skyblocker.skyblock.entity; -import java.util.List; - import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.utils.Utils; import de.hysky.skyblocker.utils.render.FrustumUtils; @@ -32,19 +30,11 @@ public class MobBoundingBoxes { String name = entity.getName().getString(); return switch (entity) { - case PlayerEntity p when name.equals("Lost Adventurer") || name.equals("Shadow Assassin") || name.equals("Diamond Guy") -> SkyblockerConfigManager.get().locations.dungeons.starredMobBoundingBoxes; - - default -> { - // Regular Mobs - if (!(entity instanceof ArmorStandEntity)) { - List armorStands = MobGlow.getArmorStands(entity); - - if (!armorStands.isEmpty() && armorStands.get(0).getName().getString().contains("✯")) - yield SkyblockerConfigManager.get().locations.dungeons.starredMobBoundingBoxes; - } + case PlayerEntity _p when name.equals("Lost Adventurer") || name.equals("Shadow Assassin") || name.equals("Diamond Guy") -> SkyblockerConfigManager.get().locations.dungeons.starredMobBoundingBoxes; + case ArmorStandEntity _armorStand -> false; - yield false; - } + // Regular Mobs + default -> SkyblockerConfigManager.get().locations.dungeons.starredMobBoundingBoxes && MobGlow.isStarred(entity); }; } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java b/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java index d21ad881..8343c6a5 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java @@ -1,8 +1,9 @@ package de.hysky.skyblocker.skyblock.entity; +import com.mojang.authlib.properties.Property; import de.hysky.skyblocker.config.SkyblockerConfigManager; -import de.hysky.skyblocker.skyblock.end.TheEnd; import de.hysky.skyblocker.skyblock.dungeon.LividColor; +import de.hysky.skyblocker.skyblock.end.TheEnd; import de.hysky.skyblocker.utils.SlayerUtils; import de.hysky.skyblocker.utils.Utils; import de.hysky.skyblocker.utils.render.culling.OcclusionCulling; @@ -22,8 +23,6 @@ import net.minecraft.world.World; import java.util.List; -import com.mojang.authlib.properties.Property; - public class MobGlow { public static boolean shouldMobGlow(Entity entity) { @@ -39,20 +38,14 @@ public class MobGlow { case PlayerEntity p when name.equals("Lost Adventurer") || name.equals("Shadow Assassin") || name.equals("Diamond Guy") -> SkyblockerConfigManager.get().locations.dungeons.starredMobGlow; case PlayerEntity p when LividColor.LIVID_NAMES.contains(name) -> LividColor.shouldGlow(name); - //Bats + // Bats case BatEntity b -> SkyblockerConfigManager.get().locations.dungeons.starredMobGlow || SkyblockerConfigManager.get().locations.dungeons.starredMobBoundingBoxes; - default -> { - // Regular Mobs - if (!(entity instanceof ArmorStandEntity)) { - List armorStands = getArmorStands(entity); - - if (!armorStands.isEmpty() && armorStands.get(0).getName().getString().contains("✯")) - yield SkyblockerConfigManager.get().locations.dungeons.starredMobGlow; - } + // Armor Stands + case ArmorStandEntity _armorStand -> false; - yield false; - } + // Regular Mobs + default -> SkyblockerConfigManager.get().locations.dungeons.starredMobGlow && isStarred(entity); }; } @@ -74,6 +67,16 @@ public class MobGlow { return false; } + /** + * Checks if an entity is starred by checking if its armor stand contains a star in its name. + * @param entity the entity to check. + * @return true if the entity is starred, false otherwise + */ + public static boolean isStarred(Entity entity) { + List armorStands = getArmorStands(entity); + return !armorStands.isEmpty() && armorStands.getFirst().getName().getString().contains("✯"); + } + public static List getArmorStands(Entity entity) { return getArmorStands(entity.getWorld(), entity.getBoundingBox()); } -- cgit