diff options
author | msg-programs <msgdoesstuff@gmail.com> | 2023-10-14 10:50:35 +0200 |
---|---|---|
committer | msg-programs <msgdoesstuff@gmail.com> | 2023-10-14 10:50:35 +0200 |
commit | 48197bd0dff5816c53d1d7929246914efe2836da (patch) | |
tree | a84c35a6b4fdadfc2e7d2369b1d1d0722463dc65 /src/main/java/de/hysky | |
parent | c6d54983cf944207cb3a7be38a448bca1f1d09a9 (diff) | |
parent | ab3f55fc2e81f5594009ecea708a931468ec7ccf (diff) | |
download | Skyblocker-48197bd0dff5816c53d1d7929246914efe2836da.tar.gz Skyblocker-48197bd0dff5816c53d1d7929246914efe2836da.tar.bz2 Skyblocker-48197bd0dff5816c53d1d7929246914efe2836da.zip |
Merge branch 'master' of https://github.com/SkyblockerMod/Skyblocker into beeper-creams
Get latest changes from upstream
Diffstat (limited to 'src/main/java/de/hysky')
10 files changed, 38 insertions, 54 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonBlaze.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonBlaze.java index 9f247668..044949db 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonBlaze.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonBlaze.java @@ -63,7 +63,7 @@ public class DungeonBlaze { String blazeName = blaze.getName().getString(); if (blazeName.contains("Blaze") && blazeName.contains("/")) { try { - int health = Integer.parseInt(blazeName.substring(blazeName.indexOf("/") + 1, blazeName.length() - 1)); + int health = Integer.parseInt((blazeName.substring(blazeName.indexOf("/") + 1, blazeName.length() - 1)).replaceAll(",", "")); blazes.add(ObjectIntPair.of(blaze, health)); } catch (NumberFormatException e) { handleException(e); @@ -147,6 +147,6 @@ public class DungeonBlaze { * @param e The exception to handle. */ private static void handleException(Exception e) { - LOGGER.warn("[Skyblocker BlazeRenderer] Encountered an unknown exception", e); + LOGGER.error("[Skyblocker BlazeRenderer] Encountered an unknown exception", e); } } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java index b853d7cc..779a3a62 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java @@ -26,7 +26,7 @@ public class DwarvenHud { public static final List<Pattern> COMMISSIONS = Stream.of( "(?:Titanium|Mithril|Hard Stone) Miner", - "(?:Ice Walker|Goblin|Goblin Raid|Automaton|Sludge|Team Treasurite Member|Yog|Boss Corleone|Thyst) Slayer", + "(?:Ice Walker|Golden Goblin|(?<!Golden )Goblin|Goblin Raid|Automaton|Sludge|Team Treasurite Member|Yog|Boss Corleone|Thyst) Slayer", "(?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Mithril", "(?:Lava Springs|Cliffside Veins|Rampart's Quarry|Upper Mines|Royal Mines) Titanium", "Goblin Raid", diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/CompactorPreviewTooltipComponent.java b/src/main/java/de/hysky/skyblocker/skyblock/item/CompactorPreviewTooltipComponent.java index f3634548..513d7d72 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/CompactorPreviewTooltipComponent.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/CompactorPreviewTooltipComponent.java @@ -45,10 +45,12 @@ public class CompactorPreviewTooltipComponent implements TooltipComponent { context.drawTexture(INVENTORY_TEXTURE, x + 7 + dimensions.rightInt() * 18, y + 7 + dimensions.leftInt() * 18, 169, 25, 7, 7); for (IntObjectPair<ItemStack> entry : items) { - int itemX = x + entry.leftInt() % dimensions.rightInt() * 18 + 8; - int itemY = y + entry.leftInt() / dimensions.rightInt() * 18 + 8; - context.drawItem(entry.right(), itemX, itemY); - context.drawItemInSlot(textRenderer, entry.right(), itemX, itemY); + if (entry.right() != null) { + int itemX = x + entry.leftInt() % dimensions.rightInt() * 18 + 8; + int itemY = y + entry.leftInt() / dimensions.rightInt() * 18 + 8; + context.drawItem(entry.right(), itemX, itemY); + context.drawItemInSlot(textRenderer, entry.right(), itemX, itemY); + } } } } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/rift/EffigyWaypoints.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/EffigyWaypoints.java index 4cc20ca5..a0e1a0f2 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/rift/EffigyWaypoints.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/EffigyWaypoints.java @@ -27,7 +27,7 @@ public class EffigyWaypoints { private static final List<BlockPos> UNBROKEN_EFFIGIES = new ArrayList<>(); protected static void updateEffigies() { - if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableEffigyWaypoints || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getLocation().contains("Stillgore Château")) return; + if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableEffigyWaypoints || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getIslandArea().contains("Stillgore Château")) return; UNBROKEN_EFFIGIES.clear(); @@ -54,7 +54,7 @@ public class EffigyWaypoints { } protected static void render(WorldRenderContext context) { - if (SkyblockerConfigManager.get().slayer.vampireSlayer.enableEffigyWaypoints && Utils.getLocation().contains("Stillgore Château")) { + if (SkyblockerConfigManager.get().slayer.vampireSlayer.enableEffigyWaypoints && Utils.getIslandArea().contains("Stillgore Château")) { for (BlockPos effigy : UNBROKEN_EFFIGIES) { float[] colorComponents = DyeColor.RED.getColorComponents(); if (SkyblockerConfigManager.get().slayer.vampireSlayer.compactEffigyWaypoints) { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/rift/HealingMelonIndicator.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/HealingMelonIndicator.java index 333a4aa1..b94ebac1 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/rift/HealingMelonIndicator.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/HealingMelonIndicator.java @@ -13,7 +13,7 @@ public class HealingMelonIndicator { private static final Title title = new Title("skyblocker.rift.healNow", Formatting.DARK_RED); public static void updateHealth() { - if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableHealingMelonIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getLocation().contains("Stillgore Château")) { + if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableHealingMelonIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getIslandArea().contains("Stillgore Château")) { TitleContainer.removeTitle(title); return; } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/rift/ManiaIndicator.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/ManiaIndicator.java index ab252ff0..d38151ff 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/rift/ManiaIndicator.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/ManiaIndicator.java @@ -17,7 +17,7 @@ public class ManiaIndicator { private static final Title title = new Title("skyblocker.rift.mania", Formatting.RED); protected static void updateMania() { - if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableManiaIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !(Utils.getLocation().contains("Stillgore Château")) || !SlayerUtils.isInSlayer()) { + if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableManiaIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !(Utils.getIslandArea().contains("Stillgore Château")) || !SlayerUtils.isInSlayer()) { TitleContainer.removeTitle(title); return; } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/rift/StakeIndicator.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/StakeIndicator.java index be502143..db24efa2 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/rift/StakeIndicator.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/StakeIndicator.java @@ -13,7 +13,7 @@ public class StakeIndicator { private static final Title title = new Title("skyblocker.rift.stakeNow", Formatting.RED); protected static void updateStake() { - if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableSteakStakeIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getLocation().contains("Stillgore Château") || !SlayerUtils.isInSlayer()) { + if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableSteakStakeIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getIslandArea().contains("Stillgore Château") || !SlayerUtils.isInSlayer()) { TitleContainer.removeTitle(title); return; } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/rift/TwinClawsIndicator.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/TwinClawsIndicator.java index 1622bf4a..48bb72ea 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/rift/TwinClawsIndicator.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/TwinClawsIndicator.java @@ -15,7 +15,7 @@ public class TwinClawsIndicator { private static boolean scheduled = false; protected static void updateIce() { - if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableHolyIceIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !(Utils.getLocation().contains("Stillgore Château")) || !SlayerUtils.isInSlayer()) { + if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableHolyIceIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !(Utils.getIslandArea().contains("Stillgore Château")) || !SlayerUtils.isInSlayer()) { TitleContainer.removeTitle(title); return; } diff --git a/src/main/java/de/hysky/skyblocker/utils/Utils.java b/src/main/java/de/hysky/skyblocker/utils/Utils.java index f046bffb..c1b4223f 100644 --- a/src/main/java/de/hysky/skyblocker/utils/Utils.java +++ b/src/main/java/de/hysky/skyblocker/utils/Utils.java @@ -2,12 +2,11 @@ package de.hysky.skyblocker.utils; import com.google.gson.JsonObject; import com.google.gson.JsonParser; - import de.hysky.skyblocker.events.SkyblockEvents; -import it.unimi.dsi.fastutil.objects.ObjectArrayList; import de.hysky.skyblocker.skyblock.item.PriceInfoTooltip; import de.hysky.skyblocker.skyblock.rift.TheRift; import de.hysky.skyblocker.utils.scheduler.MessageScheduler; +import it.unimi.dsi.fastutil.objects.ObjectArrayList; import net.fabricmc.fabric.api.client.item.v1.ItemTooltipCallback; import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents; @@ -17,11 +16,7 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.client.network.ClientPlayerEntity; import net.minecraft.client.network.PlayerListEntry; -import net.minecraft.scoreboard.Scoreboard; -import net.minecraft.scoreboard.ScoreboardDisplaySlot; -import net.minecraft.scoreboard.ScoreboardObjective; -import net.minecraft.scoreboard.ScoreboardPlayerScore; -import net.minecraft.scoreboard.Team; +import net.minecraft.scoreboard.*; import net.minecraft.text.Text; import net.minecraft.util.Formatting; import org.slf4j.Logger; @@ -53,7 +48,7 @@ public class Utils { private static long clientWorldJoinTime = 0; private static boolean sentLocRaw = false; private static boolean canSendLocRaw = false; - + /** * @implNote The parent text will always be empty, the actual text content is inside the text's siblings. */ @@ -139,7 +134,7 @@ public class Utils { List<String> sidebar = STRING_SCOREBOARD; FabricLoader fabricLoader = FabricLoader.getInstance(); - if ((client.world == null || client.isInSingleplayer() || sidebar == null || sidebar.isEmpty())) { + if (client.world == null || client.isInSingleplayer() || sidebar.isEmpty()) { if (fabricLoader.isDevelopmentEnvironment()) { sidebar = Collections.emptyList(); } else { @@ -190,36 +185,26 @@ public class Utils { } } - public static String getLocation() { - String location = null; - List<String> sidebarLines = STRING_SCOREBOARD; + public static String getIslandArea() { try { - if (sidebarLines != null) { - for (String sidebarLine : sidebarLines) { - if (sidebarLine.contains("⏣")) location = sidebarLine; - if (sidebarLine.contains("ф")) location = sidebarLine; //Rift + for (String sidebarLine : STRING_SCOREBOARD) { + if (sidebarLine.contains("⏣") || sidebarLine.contains("ф") /* Rift */) { + return sidebarLine.strip(); } - if (location == null) location = "Unknown"; - location = location.strip(); } } catch (IndexOutOfBoundsException e) { LOGGER.error("[Skyblocker] Failed to get location from sidebar", e); } - return location; + return "Unknown"; } public static double getPurse() { String purseString = null; double purse = 0; - List<String> sidebarLines = STRING_SCOREBOARD; try { - - if (sidebarLines != null) { - for (String sidebarLine : sidebarLines) { - if (sidebarLine.contains("Piggy:")) purseString = sidebarLine; - if (sidebarLine.contains("Purse:")) purseString = sidebarLine; - } + for (String sidebarLine : STRING_SCOREBOARD) { + if (sidebarLine.contains("Piggy:") || sidebarLine.contains("Purse:")) purseString = sidebarLine; } if (purseString != null) purse = Double.parseDouble(purseString.replaceAll("[^0-9.]", "").strip()); else purse = 0; @@ -233,12 +218,9 @@ public class Utils { public static int getBits() { int bits = 0; String bitsString = null; - List<String> sidebarLines = STRING_SCOREBOARD; try { - if (sidebarLines != null) { - for (String sidebarLine : sidebarLines) { - if (sidebarLine.contains("Bits")) bitsString = sidebarLine; - } + for (String sidebarLine : STRING_SCOREBOARD) { + if (sidebarLine.contains("Bits")) bitsString = sidebarLine; } if (bitsString != null) { bits = Integer.parseInt(bitsString.replaceAll("[^0-9.]", "").strip()); @@ -253,25 +235,25 @@ public class Utils { try { TEXT_SCOREBOARD.clear(); STRING_SCOREBOARD.clear(); - + ClientPlayerEntity player = client.player; if (player == null) return; - + Scoreboard scoreboard = player.getScoreboard(); ScoreboardObjective objective = scoreboard.getObjectiveForSlot(ScoreboardDisplaySlot.FROM_ID.apply(1)); ObjectArrayList<Text> textLines = new ObjectArrayList<>(); ObjectArrayList<String> stringLines = new ObjectArrayList<>(); - + for (ScoreboardPlayerScore score : scoreboard.getAllPlayerScores(objective)) { Team team = scoreboard.getPlayerTeam(score.getPlayerName()); - + if (team != null) { Text textLine = Text.empty().append(team.getPrefix().copy()).append(team.getSuffix().copy()); String strLine = team.getPrefix().getString() + team.getSuffix().getString(); - + if (!strLine.trim().isEmpty()) { String formatted = Formatting.strip(strLine); - + textLines.add(textLine); stringLines.add(formatted); } @@ -281,11 +263,11 @@ public class Utils { if (objective != null) { stringLines.add(objective.getDisplayName().getString()); textLines.add(Text.empty().append(objective.getDisplayName().copy())); - + Collections.reverse(stringLines); Collections.reverse(textLines); } - + TEXT_SCOREBOARD.addAll(textLines); STRING_SCOREBOARD.addAll(stringLines); } catch (NullPointerException e) { diff --git a/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java b/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java index 4f48a12f..df10a44d 100644 --- a/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java +++ b/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java @@ -107,13 +107,13 @@ public class DiscordRPCManager { switch (SkyblockerConfigManager.get().richPresence.info) { case BITS -> info = "Bits: " + DECIMAL_FORMAT.format(Utils.getBits()); case PURSE -> info = "Purse: " + DECIMAL_FORMAT.format(Utils.getPurse()); - case LOCATION -> info = Utils.getLocation(); + case LOCATION -> info = Utils.getIslandArea(); } } else if (SkyblockerConfigManager.get().richPresence.cycleMode) { switch (cycleCount) { case 0 -> info = "Bits: " + DECIMAL_FORMAT.format(Utils.getBits()); case 1 -> info = "Purse: " + DECIMAL_FORMAT.format(Utils.getPurse()); - case 2 -> info = Utils.getLocation(); + case 2 -> info = Utils.getIslandArea(); } } return info; |