diff options
author | Kevin <92656833+kevinthegreat1@users.noreply.github.com> | 2023-10-14 17:03:49 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-14 17:03:49 -0400 |
commit | a41b069db0216c571bce269a0ea9866c1d701b87 (patch) | |
tree | 390fa5d88f79b9f126c46ce5b803aa310f7be0f5 /src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java | |
parent | ab3f55fc2e81f5594009ecea708a931468ec7ccf (diff) | |
parent | 4fbcf1b2a4790f3033e97c55cab344abdfaea8d2 (diff) | |
download | Skyblocker-a41b069db0216c571bce269a0ea9866c1d701b87.tar.gz Skyblocker-a41b069db0216c571bce269a0ea9866c1d701b87.tar.bz2 Skyblocker-a41b069db0216c571bce269a0ea9866c1d701b87.zip |
Merge pull request #350 from kevinthegreat1/nbt-utils
Refactor NBT Parsing
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java b/src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java index e878d108..5ea5513e 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java @@ -2,8 +2,9 @@ package de.hysky.skyblocker.skyblock; import com.mojang.blaze3d.systems.RenderSystem; import de.hysky.skyblocker.config.SkyblockerConfigManager; -import de.hysky.skyblocker.utils.Utils; import de.hysky.skyblocker.skyblock.item.PriceInfoTooltip; +import de.hysky.skyblocker.utils.ItemUtils; +import de.hysky.skyblocker.utils.Utils; import de.hysky.skyblocker.utils.render.RenderHelper; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents; @@ -27,7 +28,7 @@ public class TeleportOverlay { if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.teleportOverlay.enableTeleportOverlays && client.player != null && client.world != null) { ItemStack heldItem = client.player.getMainHandStack(); String itemId = PriceInfoTooltip.getInternalNameFromNBT(heldItem, true); - NbtCompound nbt = heldItem.getNbt(); + NbtCompound extraAttributes = ItemUtils.getExtraAttributes(heldItem); if (itemId != null) { switch (itemId) { @@ -42,20 +43,20 @@ public class TeleportOverlay { } } case "ASPECT_OF_THE_END", "ASPECT_OF_THE_VOID" -> { - if (SkyblockerConfigManager.get().general.teleportOverlay.enableEtherTransmission && client.options.sneakKey.isPressed() && nbt != null && nbt.getCompound("ExtraAttributes").getInt("ethermerge") == 1) { - render(wrc, nbt, 57); + if (SkyblockerConfigManager.get().general.teleportOverlay.enableEtherTransmission && client.options.sneakKey.isPressed() && extraAttributes != null && extraAttributes.getInt("ethermerge") == 1) { + render(wrc, extraAttributes, 57); } else if (SkyblockerConfigManager.get().general.teleportOverlay.enableInstantTransmission) { - render(wrc, nbt, 8); + render(wrc, extraAttributes, 8); } } case "ETHERWARP_CONDUIT" -> { if (SkyblockerConfigManager.get().general.teleportOverlay.enableEtherTransmission) { - render(wrc, nbt, 57); + render(wrc, extraAttributes, 57); } } case "SINSEEKER_SCYTHE" -> { if (SkyblockerConfigManager.get().general.teleportOverlay.enableSinrecallTransmission) { - render(wrc, nbt, 4); + render(wrc, extraAttributes, 4); } } case "NECRON_BLADE", "ASTRAEA", "HYPERION", "SCYLLA", "VALKYRIE" -> { @@ -71,8 +72,8 @@ public class TeleportOverlay { /** * Renders the teleport overlay with a given base range and the tuned transmission stat. */ - private static void render(WorldRenderContext wrc, NbtCompound nbt, int baseRange) { - render(wrc, nbt != null && nbt.getCompound("ExtraAttributes").contains("tuned_transmission") ? baseRange + nbt.getCompound("ExtraAttributes").getInt("tuned_transmission") : baseRange); + private static void render(WorldRenderContext wrc, NbtCompound extraAttributes, int baseRange) { + render(wrc, extraAttributes != null && extraAttributes.contains("tuned_transmission") ? baseRange + extraAttributes.getInt("tuned_transmission") : baseRange); } /** |