diff options
author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-11-04 11:02:00 -0400 |
---|---|---|
committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-11-04 11:02:00 -0400 |
commit | 4acac061ce6274ecbf57564ac3b8f9fdc4582e4f (patch) | |
tree | d72689e798a826e0e13e90063a7a5ed0c83e8f60 /src/main/java/de/hysky/skyblocker/skyblock | |
parent | b6dadda58414f67a00599c5d3f96e91af925165c (diff) | |
download | Skyblocker-4acac061ce6274ecbf57564ac3b8f9fdc4582e4f.tar.gz Skyblocker-4acac061ce6274ecbf57564ac3b8f9fdc4582e4f.tar.bz2 Skyblocker-4acac061ce6274ecbf57564ac3b8f9fdc4582e4f.zip |
Refactor MobGlow
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/dungeon/LividColor.java | 63 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/dungeon/MobGlow.java (renamed from src/main/java/de/hysky/skyblocker/skyblock/dungeon/StarredMobGlow.java) | 10 |
2 files changed, 33 insertions, 40 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/LividColor.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/LividColor.java index 0c774fac..f40b7859 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/LividColor.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/LividColor.java @@ -1,5 +1,6 @@ package de.hysky.skyblocker.skyblock.dungeon; +import de.hysky.skyblocker.config.SkyblockerConfig; import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.utils.Utils; import de.hysky.skyblocker.utils.scheduler.MessageScheduler; @@ -15,22 +16,34 @@ import java.util.Map; public class LividColor { private static final Map<Block, Formatting> WOOL_TO_FORMATTING = Map.of( - Blocks.WHITE_WOOL, Formatting.WHITE, - Blocks.MAGENTA_WOOL, Formatting.LIGHT_PURPLE, Blocks.RED_WOOL, Formatting.RED, - Blocks.GRAY_WOOL, Formatting.GRAY, - Blocks.GREEN_WOOL, Formatting.DARK_GREEN, + Blocks.YELLOW_WOOL, Formatting.YELLOW, Blocks.LIME_WOOL, Formatting.GREEN, + Blocks.GREEN_WOOL, Formatting.DARK_GREEN, Blocks.BLUE_WOOL, Formatting.BLUE, + Blocks.MAGENTA_WOOL, Formatting.LIGHT_PURPLE, Blocks.PURPLE_WOOL, Formatting.DARK_PURPLE, - Blocks.YELLOW_WOOL, Formatting.YELLOW + Blocks.GRAY_WOOL, Formatting.GRAY, + Blocks.WHITE_WOOL, Formatting.WHITE + ); + private static final Map<String, Formatting> LIVID_TO_FORMATTING = Map.of( + "Hockey Livid", Formatting.RED, + "Arcade Livid", Formatting.YELLOW, + "Smile Livid", Formatting.GREEN, + "Frog Livid", Formatting.DARK_GREEN, + "Scream Livid", Formatting.BLUE, + "Crossed Livid", Formatting.LIGHT_PURPLE, + "Purple Livid", Formatting.DARK_PURPLE, + "Doctor Livid", Formatting.GRAY, + "Vendetta Livid", Formatting.WHITE ); private static int tenTicks = 0; private static Formatting color; public static void init() { ClientReceiveMessageEvents.GAME.register((message, overlay) -> { - if (SkyblockerConfigManager.get().locations.dungeons.lividColor.enableLividColor && message.getString().equals("[BOSS] Livid: I respect you for making it to here, but I'll be your undoing.")) { + SkyblockerConfig.LividColor config = SkyblockerConfigManager.get().locations.dungeons.lividColor; + if ((config.enableLividColorText || config.enableLividColorGlow) && message.getString().equals("[BOSS] Livid: I respect you for making it to here, but I'll be your undoing.")) { tenTicks = 8; } }); @@ -39,7 +52,8 @@ public class LividColor { public static void update() { MinecraftClient client = MinecraftClient.getInstance(); if (tenTicks != 0) { - if (SkyblockerConfigManager.get().locations.dungeons.lividColor.enableLividColor && Utils.isInDungeons() && client.world != null) { + SkyblockerConfig.LividColor config = SkyblockerConfigManager.get().locations.dungeons.lividColor; + if ((config.enableLividColorText || config.enableLividColorGlow) && Utils.isInDungeons() && client.world != null) { if (tenTicks == 1) { onLividColorFound(Blocks.RED_WOOL); return; @@ -58,40 +72,19 @@ public class LividColor { private static void onLividColorFound(Block color) { LividColor.color = WOOL_TO_FORMATTING.get(color); - String colorString = Registries.BLOCK.getId(color).getPath(); - MessageScheduler.INSTANCE.sendMessageAfterCooldown(SkyblockerConfigManager.get().locations.dungeons.lividColor.lividColorText.replace("[color]", colorString.substring(0, colorString.length() - 5))); + if (SkyblockerConfigManager.get().locations.dungeons.lividColor.enableLividColorText) { + String colorString = Registries.BLOCK.getId(color).getPath(); + MessageScheduler.INSTANCE.sendMessageAfterCooldown(SkyblockerConfigManager.get().locations.dungeons.lividColor.lividColorText.replaceAll("\\[color]", colorString.substring(0, colorString.length() - 5))); + } tenTicks = 0; } public static boolean shouldGlow(String name) { - return switch (name) { - case "Arcade Livid" -> color == Formatting.YELLOW; - case "Crossed Livid" -> color == Formatting.LIGHT_PURPLE; - case "Doctor Livid" -> color == Formatting.GRAY; - case "Frog Livid" -> color == Formatting.DARK_GREEN; - case "Hockey Livid" -> color == Formatting.RED; - case "Purple Livid" -> color == Formatting.DARK_PURPLE; - case "Scream Livid" -> color == Formatting.BLUE; - case "Smile Livid" -> color == Formatting.GREEN; - case "Vendetta Livid" -> color == Formatting.WHITE; - - default -> false; - }; + return SkyblockerConfigManager.get().locations.dungeons.lividColor.enableLividColorGlow && color == LIVID_TO_FORMATTING.get(name); } + @SuppressWarnings("DataFlowIssue") public static int getGlowColor(String name) { - return switch (name) { - case "Arcade Livid" -> Formatting.YELLOW.getColorValue(); - case "Crossed Livid" -> Formatting.LIGHT_PURPLE.getColorValue(); - case "Doctor Livid" -> Formatting.GRAY.getColorValue(); - case "Frog Livid" -> Formatting.DARK_GREEN.getColorValue(); - case "Hockey Livid" -> Formatting.RED.getColorValue(); - case "Purple Livid" -> Formatting.DARK_PURPLE.getColorValue(); - case "Scream Livid" -> Formatting.BLUE.getColorValue(); - case "Smile Livid" -> Formatting.GREEN.getColorValue(); - case "Vendetta Livid" -> Formatting.WHITE.getColorValue(); - - default -> Formatting.WHITE.getColorValue(); - }; + return LIVID_TO_FORMATTING.containsKey(name) ? LIVID_TO_FORMATTING.get(name).getColorValue() : Formatting.WHITE.getColorValue(); } } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/StarredMobGlow.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/MobGlow.java index 4529797c..523b7a98 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/StarredMobGlow.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/MobGlow.java @@ -1,5 +1,6 @@ package de.hysky.skyblocker.skyblock.dungeon; +import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.utils.Utils; import de.hysky.skyblocker.utils.render.culling.OcclusionCulling; import net.minecraft.entity.Entity; @@ -12,8 +13,7 @@ import net.minecraft.world.World; import java.util.List; -public class StarredMobGlow { - +public class MobGlow { public static boolean shouldMobGlow(Entity entity) { Box box = entity.getBoundingBox(); @@ -23,7 +23,7 @@ public class StarredMobGlow { // Minibosses if (entity instanceof PlayerEntity) { switch (name) { - case "Lost Adventurer", "Shadow Assassin", "Diamond Guy": return true; + case "Lost Adventurer", "Shadow Assassin", "Diamond Guy": return SkyblockerConfigManager.get().locations.dungeons.starredMobGlow; case "Arcade Livid", "Crossed Livid", "Doctor Livid", "Frog Livid", "Hockey Livid", "Purple Livid", "Scream Livid", "Smile Livid", "Vendetta Livid": return LividColor.shouldGlow(name); } @@ -33,11 +33,11 @@ public class StarredMobGlow { if (!(entity instanceof ArmorStandEntity)) { List<ArmorStandEntity> armorStands = getArmorStands(entity.getWorld(), box); - if (!armorStands.isEmpty() && armorStands.get(0).getName().getString().contains("✯")) return true; + if (!armorStands.isEmpty() && armorStands.get(0).getName().getString().contains("✯")) return SkyblockerConfigManager.get().locations.dungeons.starredMobGlow; } // Bats - return entity instanceof BatEntity; + return SkyblockerConfigManager.get().locations.dungeons.starredMobGlow && entity instanceof BatEntity; } return false; |