aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky
diff options
context:
space:
mode:
authorYasin <a.piri@hotmail.de>2024-07-23 00:04:37 +0200
committerKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2024-07-26 15:09:00 +0800
commit646eaeee8a30b4edf82b2b401e930adf6627f65e (patch)
tree8df157e45075404e1ce32f2ad9ff4291fa240c86 /src/main/java/de/hysky
parenta26143be386e78094d9a32e0d2c70439afd56369 (diff)
downloadSkyblocker-646eaeee8a30b4edf82b2b401e930adf6627f65e.tar.gz
Skyblocker-646eaeee8a30b4edf82b2b401e930adf6627f65e.tar.bz2
Skyblocker-646eaeee8a30b4edf82b2b401e930adf6627f65e.zip
livid fix
now it will only highlight the correct livid also after the "change"
Diffstat (limited to 'src/main/java/de/hysky')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/LividColor.java23
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/entity/MobBoundingBoxes.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java7
3 files changed, 26 insertions, 6 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 15d0d6dd..d360ae2e 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/LividColor.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/LividColor.java
@@ -46,10 +46,12 @@ public class LividColor {
);
public static final Set<String> LIVID_NAMES = Set.copyOf(LIVID_TO_FORMATTING.keySet());
public static final DungeonsConfig.Livid CONFIG = SkyblockerConfigManager.get().dungeons.livid;
- private static Formatting color;
+ private static Formatting color = Formatting.AQUA;
private static Block lastColor = Blocks.AIR;
+ private static int lividID = 0;
private static boolean isInitialized = false;
+ private static boolean originLividFound = false;
private static final long OFFSET_DURATION = 2000;
private static long toggleTime = 0;
@@ -74,6 +76,18 @@ public class LividColor {
isInitialized = true;
} else if (isInitialized && System.currentTimeMillis() - toggleTime >= OFFSET_DURATION) {
onLividColorFound(client, currentColor);
+ if (!originLividFound) {
+ String lividName = LIVID_TO_FORMATTING.entrySet().stream()
+ .filter(entry -> entry.getValue() == color)
+ .map(Map.Entry::getKey)
+ .findFirst()
+ .orElse("unknown");
+ client.world.getPlayers().stream()
+ .filter(entity -> entity.getName().getString().equals(lividName))
+ .findFirst()
+ .ifPresent(entity -> lividID = entity.getId());
+ originLividFound = true;
+ }
lastColor = currentColor;
}
@@ -114,9 +128,16 @@ public class LividColor {
return Formatting.WHITE.getColorValue();
}
+ public static int getLividID(){
+ return lividID;
+ }
+
private static void reset() {
lastColor = Blocks.AIR;
toggleTime = 0;
isInitialized = false;
+ originLividFound = false;
+ lividID = 0;
+ color = Formatting.AQUA;
}
}
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 da6e0226..b7b3e0e0 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/entity/MobBoundingBoxes.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/entity/MobBoundingBoxes.java
@@ -32,7 +32,7 @@ public class MobBoundingBoxes {
return switch (entity) {
case PlayerEntity _p when name.equals("Lost Adventurer") || name.equals("Shadow Assassin") || name.equals("Diamond Guy") -> SkyblockerConfigManager.get().dungeons.starredMobBoundingBoxes;
- case PlayerEntity p when LividColor.LIVID_NAMES.contains(name) -> LividColor.shouldDrawBoundingBox(name);
+ case PlayerEntity p when entity.getId() == LividColor.getLividID() -> LividColor.shouldDrawBoundingBox(name);
case ArmorStandEntity _armorStand -> false;
// Regular Mobs
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 d1a7b83c..1322004e 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java
@@ -36,7 +36,7 @@ public class MobGlow {
return switch (entity) {
// Minibosses
case PlayerEntity p when name.equals("Lost Adventurer") || name.equals("Shadow Assassin") || name.equals("Diamond Guy") -> SkyblockerConfigManager.get().dungeons.starredMobGlow;
- case PlayerEntity p when LividColor.LIVID_NAMES.contains(name) -> LividColor.shouldGlow(name);
+ case PlayerEntity p when entity.getId() == LividColor.getLividID() -> LividColor.shouldGlow(name);
// Bats
case BatEntity b -> SkyblockerConfigManager.get().dungeons.starredMobGlow || SkyblockerConfigManager.get().dungeons.starredMobBoundingBoxes;
@@ -49,7 +49,6 @@ public class MobGlow {
};
}
-
return switch (entity) {
// Rift
case PlayerEntity p when Utils.isInTheRift() && !entity.isInvisible() && name.equals("Blobbercyst ") -> SkyblockerConfigManager.get().otherLocations.rift.blobbercystGlow;
@@ -111,11 +110,11 @@ public class MobGlow {
case PlayerEntity p when name.equals("Lost Adventurer") -> 0xfee15c;
case PlayerEntity p when name.equals("Shadow Assassin") -> 0x5b2cb2;
case PlayerEntity p when name.equals("Diamond Guy") -> 0x57c2f7;
- case PlayerEntity p when LividColor.LIVID_NAMES.contains(name) -> LividColor.getGlowColor(name);
+ case PlayerEntity p when entity.getId() == LividColor.getLividID() -> LividColor.getGlowColor(name);
case PlayerEntity p when name.equals("Blobbercyst ") -> Formatting.GREEN.getColorValue();
case EndermanEntity enderman when TheEnd.isSpecialZealot(enderman) -> Formatting.RED.getColorValue();
- case ArmorStandEntity armorStand when isNukekubiHead(armorStand) -> 0x990099;
+ case ArmorStandEntity armorStand when isNukekubiHead(armorStand) -> Formatting.GREEN.getColorValue();
case ZombieEntity zombie when Utils.isInCrimson() && DojoManager.inArena -> DojoManager.getColor();
default -> 0xf57738;