From 43edaf777e2f6ae8a9ee004930c6bbfc4bfa1b55 Mon Sep 17 00:00:00 2001 From: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> Date: Wed, 29 Mar 2023 15:26:27 -0400 Subject: Cleaned up code --- README.md | 8 +- .../xmrvizzy/skyblocker/SkyblockerInitializer.java | 3 +- .../skyblocker/chat/ChatPatternListener.java | 2 +- .../skyblocker/chat/filters/AutopetFilter.java | 1 - .../skyblocker/config/SkyblockerConfig.java | 198 ++++++++++----------- .../skyblocker/mixin/HandledScreenMixin.java | 18 +- .../xmrvizzy/skyblocker/mixin/InGameHudMixin.java | 4 +- .../skyblocker/mixin/InventoryScreenMixin.java | 2 +- .../skyblocker/mixin/ItemRendererMixin.java | 4 - .../skyblocker/skyblock/BackpackPreview.java | 12 +- .../skyblocker/skyblock/FancyStatusBars.java | 1 - .../skyblocker/skyblock/api/ApiKeyListener.java | 2 +- .../skyblocker/skyblock/api/StatsCommand.java | 28 ++- .../skyblock/api/records/mining/Mining.java | 5 - .../skyblocker/skyblock/dungeon/OldLever.java | 12 +- .../skyblocker/skyblock/dungeon/Reparty.java | 23 +-- .../skyblocker/skyblock/dwarven/DwarvenHud.java | 6 +- .../skyblocker/skyblock/dwarven/Fetchur.java | 2 +- .../skyblocker/skyblock/item/PriceInfoTooltip.java | 2 - .../skyblocker/skyblock/item/WikiLookup.java | 2 +- .../skyblock/itemlist/ItemFixerUpper.java | 1 - .../skyblock/itemlist/ItemListWidget.java | 7 +- .../skyblocker/skyblock/itemlist/ItemRegistry.java | 8 +- .../skyblock/itemlist/ItemStackBuilder.java | 3 +- .../skyblock/itemlist/ResultButtonWidget.java | 3 +- .../skyblock/itemlist/SearchResultsWidget.java | 26 +-- .../skyblocker/skyblock/quicknav/QuickNav.java | 5 - .../skyblock/quicknav/QuickNavButton.java | 12 +- .../me/xmrvizzy/skyblocker/utils/RenderUtils.java | 2 +- .../me/xmrvizzy/skyblocker/utils/ToastBuilder.java | 4 +- .../xmrvizzy/skyblocker/utils/UpdateChecker.java | 4 +- .../xmrvizzy/skyblocker/utils/color/LineColor.java | 2 +- .../xmrvizzy/skyblocker/utils/color/QuadColor.java | 20 +-- .../skyblocker/chat/filters/ChatFilterTest.java | 3 - 34 files changed, 203 insertions(+), 232 deletions(-) diff --git a/README.md b/README.md index 2e1b59a3..b1137f37 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ Installation guide is [here](https://github.com/SkyblockerMod/Skyblocker/wiki/in * Wiki Lookup: press f4 to open the wiki page about the held item * Discord Rich Presence: Allows user to show either their Piggy, Bits, or location. Along with a custom message * Quicknav: fast navigate between pets, armor, enderchest, skill, collection, crafting, enchant, envil, warp dungeon, warp hub -* Recipe book: in the vanilla recipe book all skyblock items are listed and you can see the recipe of the item +* Recipe book: in the vanilla recipe book all skyblock items are listed, and you can see the recipe of the item * Backpack preview: after you clicked your backpack or enderchest once you can hover over the backpack or enderchest and hold shift to preview * Update notification * Commission HUD: Dwarven Mines quests @@ -67,16 +67,16 @@ Everyone can contribute to Skyblocker, read [this](https://github.com/Skyblocker | [Kraineff](https://github.com/Kraineff) | [d3dx9](https://github.com/d3dx9) | [LifeIsAParadox](https://github.com/LifeIsAParadox) | [ExternalTime](https://github.com/ExternalTime) | |:-------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------:| -| [Kraineff](https://github.com/Kraineff) | [d3dx9](https://github.com/d3dx9) | [LifeIsAParadox](https://github.com/LifeIsAParadox) | [ExternalTime](https://github.com/ExternalTime) | +| [Kraineff](https://github.com/Kraineff) | [d3dx9](https://github.com/d3dx9) | [LifeIsAParadox](https://github.com/LifeIsAParadox) | [ExternalTime](https://github.com/ExternalTime) | | [Zailer43](https://github.com/Zailer43) | [TacoMonkey11](https://github.com/TacoMonkey11) | [KonaeAkira](https://github.com/KonaeAkira) | [Fix3dll](https://github.com/Fix3dll) | |:-----------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------:| -| [Zailer43](https://github.com/Zailer43) | [TacoMonkey11](https://github.com/TacoMonkey11) | [KonaeAkira](https://github.com/KonaeAkira) | [Fix3dll](https://github.com/Fix3dll) | +| [Zailer43](https://github.com/Zailer43) | [TacoMonkey11](https://github.com/TacoMonkey11) | [KonaeAkira](https://github.com/KonaeAkira) | [Fix3dll](https://github.com/Fix3dll) | | [Zailer43](https://github.com/ADON15c) | |:---------------------------------------------------------------------------------------------------:| -| [ADON15c](https://github.com/ADON15c) | +| [ADON15c](https://github.com/ADON15c) | ### Translators German ([LifeIsAParadox](https://github.com/LifeIsAParadox)) \ Indonesian ([null2264](https://github.com/null2264)) \ diff --git a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerInitializer.java b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerInitializer.java index e9af52f6..3d713727 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerInitializer.java +++ b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerInitializer.java @@ -2,6 +2,7 @@ package me.xmrvizzy.skyblocker; import me.xmrvizzy.skyblocker.chat.ChatMessageListener; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.discord.DiscordRPCManager; import me.xmrvizzy.skyblocker.skyblock.HotbarSlotLock; import me.xmrvizzy.skyblocker.skyblock.api.StatsCommand; import me.xmrvizzy.skyblocker.skyblock.dwarven.DwarvenHud; @@ -23,6 +24,6 @@ public class SkyblockerInitializer implements ClientModInitializer { DwarvenHud.init(); ChatMessageListener.init(); UpdateChecker.init(); - SkyblockerMod.getInstance().discordRPCManager.init(); + DiscordRPCManager.init(); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/ChatPatternListener.java b/src/main/java/me/xmrvizzy/skyblocker/chat/ChatPatternListener.java index 19237de4..8a32715e 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/ChatPatternListener.java +++ b/src/main/java/me/xmrvizzy/skyblocker/chat/ChatPatternListener.java @@ -6,7 +6,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; public abstract class ChatPatternListener implements ChatMessageListener { - protected static String NUMBER = "-?[0-9]{1,3}(?>,[0-9]{3})*(?:\\.[1-9])?"; + protected static final String NUMBER = "-?[0-9]{1,3}(?>,[0-9]{3})*(?:\\.[1-9])?"; public final Pattern pattern; public ChatPatternListener(String pattern) { diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java index f8af49ce..f1545db4 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java @@ -4,7 +4,6 @@ import me.xmrvizzy.skyblocker.chat.ChatFilterResult; import me.xmrvizzy.skyblocker.chat.ChatPatternListener; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import net.minecraft.client.MinecraftClient; -import net.minecraft.text.LiteralTextContent; import net.minecraft.text.Text; import java.util.Objects; diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java index e487c209..21322c81 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java @@ -15,74 +15,74 @@ public class SkyblockerConfig implements ConfigData { @ConfigEntry.Category("general") @ConfigEntry.Gui.TransitiveObject - public General general = new General(); + public final General general = new General(); @ConfigEntry.Category("locations") @ConfigEntry.Gui.TransitiveObject - public Locations locations = new Locations(); + public final Locations locations = new Locations(); @ConfigEntry.Category("messages") @ConfigEntry.Gui.TransitiveObject - public Messages messages = new Messages(); + public final Messages messages = new Messages(); @ConfigEntry.Category("richPresence") @ConfigEntry.Gui.TransitiveObject - public RichPresence richPresence = new RichPresence(); + public final RichPresence richPresence = new RichPresence(); @ConfigEntry.Category("quickNav") @ConfigEntry.Gui.TransitiveObject - public QuickNav quickNav = new QuickNav(); + public final QuickNav quickNav = new QuickNav(); public static class QuickNav { - public boolean enableQuickNav = true; + public final boolean enableQuickNav = true; @ConfigEntry.Category("button1") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public QuickNavItem button1 = new QuickNavItem(true, new ItemData("diamond_sword"), "Your Skills", "/skills"); + @ConfigEntry.Gui.CollapsibleObject() + public final QuickNavItem button1 = new QuickNavItem(true, new ItemData("diamond_sword"), "Your Skills", "/skills"); @ConfigEntry.Category("button2") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public QuickNavItem button2 = new QuickNavItem(true, new ItemData("painting"), "Collection", "/collection"); + @ConfigEntry.Gui.CollapsibleObject() + public final QuickNavItem button2 = new QuickNavItem(true, new ItemData("painting"), "Collection", "/collection"); @ConfigEntry.Category("button3") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public QuickNavItem button3 = new QuickNavItem(false, new ItemData("air"), "", ""); + @ConfigEntry.Gui.CollapsibleObject() + public final QuickNavItem button3 = new QuickNavItem(false, new ItemData("air"), "", ""); @ConfigEntry.Category("button4") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public QuickNavItem button4 = new QuickNavItem(true, new ItemData("bone"), "Pets", "/pets"); + @ConfigEntry.Gui.CollapsibleObject() + public final QuickNavItem button4 = new QuickNavItem(true, new ItemData("bone"), "Pets", "/pets"); @ConfigEntry.Category("button5") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public QuickNavItem button5 = new QuickNavItem(true, new ItemData("leather_chestplate", 1, "tag:{display:{color:8991416}}"), "Wardrobe", "/wardrobe"); + @ConfigEntry.Gui.CollapsibleObject() + public final QuickNavItem button5 = new QuickNavItem(true, new ItemData("leather_chestplate", 1, "tag:{display:{color:8991416}}"), "Wardrobe", "/wardrobe"); @ConfigEntry.Category("button6") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public QuickNavItem button6 = new QuickNavItem(true, new ItemData("ender_chest"), "Storage", "/storage"); + @ConfigEntry.Gui.CollapsibleObject() + public final QuickNavItem button6 = new QuickNavItem(true, new ItemData("ender_chest"), "Storage", "/storage"); @ConfigEntry.Category("button7") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public QuickNavItem button7 = new QuickNavItem(true, new ItemData("player_head", 1, "tag:{SkullOwner:{Id:[I;-300151517,-631415889,-1193921967,-1821784279],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDdjYzY2ODc0MjNkMDU3MGQ1NTZhYzUzZTA2NzZjYjU2M2JiZGQ5NzE3Y2Q4MjY5YmRlYmVkNmY2ZDRlN2JmOCJ9fX0=\"}]}}}"), "none", "/hub"); + @ConfigEntry.Gui.CollapsibleObject() + public final QuickNavItem button7 = new QuickNavItem(true, new ItemData("player_head", 1, "tag:{SkullOwner:{Id:[I;-300151517,-631415889,-1193921967,-1821784279],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDdjYzY2ODc0MjNkMDU3MGQ1NTZhYzUzZTA2NzZjYjU2M2JiZGQ5NzE3Y2Q4MjY5YmRlYmVkNmY2ZDRlN2JmOCJ9fX0=\"}]}}}"), "none", "/hub"); @ConfigEntry.Category("button8") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public QuickNavItem button8 = new QuickNavItem(true, new ItemData("player_head", 1, "tag:{SkullOwner:{Id:[I;1605800870,415127827,-1236127084,15358548],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg5MWQ1YjI3M2ZmMGJjNTBjOTYwYjJjZDg2ZWVmMWM0MGExYjk0MDMyYWU3MWU3NTQ3NWE1NjhhODI1NzQyMSJ9fX0=\"}]}}}"), "none", "/warp dungeon_hub"); + @ConfigEntry.Gui.CollapsibleObject() + public final QuickNavItem button8 = new QuickNavItem(true, new ItemData("player_head", 1, "tag:{SkullOwner:{Id:[I;1605800870,415127827,-1236127084,15358548],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg5MWQ1YjI3M2ZmMGJjNTBjOTYwYjJjZDg2ZWVmMWM0MGExYjk0MDMyYWU3MWU3NTQ3NWE1NjhhODI1NzQyMSJ9fX0=\"}]}}}"), "none", "/warp dungeon_hub"); @ConfigEntry.Category("button9") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public QuickNavItem button9 = new QuickNavItem(false, new ItemData("air"), "", ""); + @ConfigEntry.Gui.CollapsibleObject() + public final QuickNavItem button9 = new QuickNavItem(false, new ItemData("air"), "", ""); @ConfigEntry.Category("button10") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public QuickNavItem button10 = new QuickNavItem(true, new ItemData("enchanting_table"), "Enchant", "/etable"); + @ConfigEntry.Gui.CollapsibleObject() + public final QuickNavItem button10 = new QuickNavItem(true, new ItemData("enchanting_table"), "Enchant", "/etable"); @ConfigEntry.Category("button11") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public QuickNavItem button11 = new QuickNavItem(true, new ItemData("anvil"), "Anvil", "/anvil"); + @ConfigEntry.Gui.CollapsibleObject() + public final QuickNavItem button11 = new QuickNavItem(true, new ItemData("anvil"), "Anvil", "/anvil"); @ConfigEntry.Category("button12") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public QuickNavItem button12 = new QuickNavItem(true, new ItemData("crafting_table"), "Craft Item", "/craft"); + @ConfigEntry.Gui.CollapsibleObject() + public final QuickNavItem button12 = new QuickNavItem(true, new ItemData("crafting_table"), "Craft Item", "/craft"); } public static class QuickNavItem { @@ -93,14 +93,14 @@ public class SkyblockerConfig implements ConfigData { this.uiTitle = uiTitle; } - public Boolean render; + public final Boolean render; @ConfigEntry.Category("item") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public ItemData item; + @ConfigEntry.Gui.CollapsibleObject() + public final ItemData item; - public String uiTitle; - public String clickEvent; + public final String uiTitle; + public final String clickEvent; } public static class ItemData { @@ -116,55 +116,55 @@ public class SkyblockerConfig implements ConfigData { this.nbt = ""; } - public String itemName; - public int count; - public String nbt; + public final String itemName; + public final int count; + public final String nbt; } public static class General { - public boolean enableUpdateNotification = true; - public boolean backpackPreviewWithoutShift = false; + public final boolean enableUpdateNotification = true; + public final boolean backpackPreviewWithoutShift = false; @ConfigEntry.Gui.Excluded public String apiKey; @ConfigEntry.Category("bars") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public Bars bars = new Bars(); + @ConfigEntry.Gui.CollapsibleObject() + public final Bars bars = new Bars(); @ConfigEntry.Category("itemList") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public ItemList itemList = new ItemList(); + @ConfigEntry.Gui.CollapsibleObject() + public final ItemList itemList = new ItemList(); @ConfigEntry.Category("itemTooltip") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public ItemTooltip itemTooltip = new ItemTooltip(); + @ConfigEntry.Gui.CollapsibleObject() + public final ItemTooltip itemTooltip = new ItemTooltip(); @ConfigEntry.Category("hitbox") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public Hitbox hitbox = new Hitbox(); + @ConfigEntry.Gui.CollapsibleObject() + public final Hitbox hitbox = new Hitbox(); @ConfigEntry.Gui.Excluded - public List lockedSlots = new ArrayList<>(); + public final List lockedSlots = new ArrayList<>(); } public static class Bars { - public boolean enableBars = true; + public final boolean enableBars = true; @ConfigEntry.Category("barpositions") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public BarPositions barpositions = new BarPositions(); + @ConfigEntry.Gui.CollapsibleObject() + public final BarPositions barpositions = new BarPositions(); } public static class BarPositions { @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public BarPosition healthBarPosition = BarPosition.LAYER1; + public final BarPosition healthBarPosition = BarPosition.LAYER1; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public BarPosition manaBarPosition = BarPosition.LAYER1; + public final BarPosition manaBarPosition = BarPosition.LAYER1; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public BarPosition defenceBarPosition = BarPosition.LAYER1; + public final BarPosition defenceBarPosition = BarPosition.LAYER1; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public BarPosition experienceBarPosition = BarPosition.LAYER1; + public final BarPosition experienceBarPosition = BarPosition.LAYER1; } @@ -195,21 +195,21 @@ public class SkyblockerConfig implements ConfigData { } public static class Hitbox { - public boolean oldFarmlandHitbox = true; - public boolean oldLeverHitbox = false; + public final boolean oldFarmlandHitbox = true; + public final boolean oldLeverHitbox = false; } public static class RichPresence { - public boolean enableRichPresence = false; + public final boolean enableRichPresence = false; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) @ConfigEntry.Gui.Tooltip() - public Info info = Info.LOCATION; - public boolean cycleMode = false; + public final Info info = Info.LOCATION; + public final boolean cycleMode = false; public String customMessage; } public static class ItemList { - public boolean enableItemList = true; + public final boolean enableItemList = true; } public enum Average { @@ -228,79 +228,79 @@ public class SkyblockerConfig implements ConfigData { } public static class ItemTooltip { - public boolean enableNPCPrice = true; - public boolean enableAvgBIN = true; + public final boolean enableNPCPrice = true; + public final boolean enableAvgBIN = true; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) @ConfigEntry.Gui.Tooltip() - public Average avg = Average.THREE_DAY; - public boolean enableLowestBIN = true; - public boolean enableBazaarPrice = true; - public boolean enableMuseumDate = true; + public final Average avg = Average.THREE_DAY; + public final boolean enableLowestBIN = true; + public final boolean enableBazaarPrice = true; + public final boolean enableMuseumDate = true; } public static class Locations { @ConfigEntry.Category("dungeons") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public Dungeons dungeons = new Dungeons(); + @ConfigEntry.Gui.CollapsibleObject() + public final Dungeons dungeons = new Dungeons(); @ConfigEntry.Category("dwarvenmines") - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public DwarvenMines dwarvenMines = new DwarvenMines(); + @ConfigEntry.Gui.CollapsibleObject() + public final DwarvenMines dwarvenMines = new DwarvenMines(); } public static class Dungeons { @ConfigEntry.Gui.Tooltip() - public boolean croesusHelper = true; - public boolean enableMap = true; - public boolean solveThreeWeirdos = true; - public boolean blazesolver = true; - public boolean solveTrivia = true; - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public Terminals terminals = new Terminals(); + public final boolean croesusHelper = true; + public final boolean enableMap = true; + public final boolean solveThreeWeirdos = true; + public final boolean blazesolver = true; + public final boolean solveTrivia = true; + @ConfigEntry.Gui.CollapsibleObject() + public final Terminals terminals = new Terminals(); } public static class Terminals { - public boolean solveColor = true; - public boolean solveOrder = true; - public boolean solveStartsWith = true; + public final boolean solveColor = true; + public final boolean solveOrder = true; + public final boolean solveStartsWith = true; } public static class DwarvenMines { - public boolean enableDrillFuel = true; - public boolean solveFetchur = true; - public boolean solvePuzzler = true; - @ConfigEntry.Gui.CollapsibleObject(startExpanded = false) - public DwarvenHud dwarvenHud = new DwarvenHud(); + public final boolean enableDrillFuel = true; + public final boolean solveFetchur = true; + public final boolean solvePuzzler = true; + @ConfigEntry.Gui.CollapsibleObject() + public final DwarvenHud dwarvenHud = new DwarvenHud(); } public static class DwarvenHud { - public boolean enabled = true; - public boolean enableBackground = true; + public final boolean enabled = true; + public final boolean enableBackground = true; public int x = 10; public int y = 10; } public static class Messages { @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public ChatFilterResult hideAbility = ChatFilterResult.PASS; + public final ChatFilterResult hideAbility = ChatFilterResult.PASS; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public ChatFilterResult hideHeal = ChatFilterResult.PASS; + public final ChatFilterResult hideHeal = ChatFilterResult.PASS; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public ChatFilterResult hideAOTE = ChatFilterResult.PASS; + public final ChatFilterResult hideAOTE = ChatFilterResult.PASS; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public ChatFilterResult hideImplosion = ChatFilterResult.PASS; + public final ChatFilterResult hideImplosion = ChatFilterResult.PASS; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public ChatFilterResult hideMoltenWave = ChatFilterResult.PASS; + public final ChatFilterResult hideMoltenWave = ChatFilterResult.PASS; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public ChatFilterResult hideAds = ChatFilterResult.PASS; + public final ChatFilterResult hideAds = ChatFilterResult.PASS; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public ChatFilterResult hideTeleportPad = ChatFilterResult.PASS; + public final ChatFilterResult hideTeleportPad = ChatFilterResult.PASS; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public ChatFilterResult hideCombo = ChatFilterResult.PASS; + public final ChatFilterResult hideCombo = ChatFilterResult.PASS; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) - public ChatFilterResult hideAutopet = ChatFilterResult.PASS; + public final ChatFilterResult hideAutopet = ChatFilterResult.PASS; @ConfigEntry.Gui.Tooltip() - public boolean hideMana = false; + public final boolean hideMana = false; } public enum Info { diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java index 0cd82aad..e7b3515f 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java @@ -6,7 +6,6 @@ import me.xmrvizzy.skyblocker.skyblock.item.WikiLookup; import me.xmrvizzy.skyblocker.skyblock.quicknav.QuickNav; import me.xmrvizzy.skyblocker.skyblock.quicknav.QuickNavButton; import me.xmrvizzy.skyblocker.utils.Utils; -import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.client.util.math.MatrixStack; @@ -24,14 +23,13 @@ import java.util.List; @Mixin(HandledScreen.class) public abstract class HandledScreenMixin extends Screen { - @Shadow protected int backgroundWidth; - @Shadow protected int backgroundHeight; - protected HandledScreenMixin(Text title) { super(title); } + @Shadow - @Nullable protected Slot focusedSlot; + @Nullable + protected Slot focusedSlot; @Inject(method = "init()V", at = @At("TAIL")) private void init(CallbackInfo ci) { @@ -42,13 +40,13 @@ public abstract class HandledScreenMixin extends Screen { for (QuickNavButton button : buttons) super.addDrawableChild(button); } // backpack preview - BackpackPreview.updateStorage((HandledScreen)(Object)this); + BackpackPreview.updateStorage((HandledScreen) (Object) this); } - @Inject(at = @At("HEAD"), method = "keyPressed", cancellable = true) + @Inject(at = @At("HEAD"), method = "keyPressed") public void keyPressed(int keyCode, int scanCode, int modifiers, CallbackInfoReturnable cir) { - if (this.focusedSlot != null){ - if (keyCode != 256 && !this.client.options.inventoryKey.matchesKey(keyCode, scanCode)){ + if (this.focusedSlot != null) { + if (keyCode != 256 && !this.client.options.inventoryKey.matchesKey(keyCode, scanCode)) { if (WikiLookup.wikiLookup.matchesKey(keyCode, scanCode)) WikiLookup.openWiki(this.focusedSlot); } } @@ -56,7 +54,7 @@ public abstract class HandledScreenMixin extends Screen { @Inject(at = @At("HEAD"), method = "drawMouseoverTooltip", cancellable = true) public void drawMouseOverTooltip(MatrixStack matrices, int x, int y, CallbackInfo ci) { - String title = ((HandledScreen)(Object)this).getTitle().getString(); + String title = this.getTitle().getString(); boolean shiftDown = SkyblockerConfig.get().general.backpackPreviewWithoutShift ^ Screen.hasShiftDown(); if (shiftDown && title.equals("Storage") && this.focusedSlot != null) { if (this.focusedSlot.inventory == this.client.player.getInventory()) return; diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java index 60f4af53..d9001ba7 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java @@ -53,7 +53,7 @@ public abstract class InGameHudMixin extends DrawableHelper { return; String msg = message.getString(); String res = statusBarTracker.update(msg, SkyblockerConfig.get().messages.hideMana); - if (msg != res) { + if (!msg.equals(res)) { if (res != null) setOverlayMessage(Text.of(res), tinted); ci.cancel(); @@ -73,7 +73,7 @@ public abstract class InGameHudMixin extends DrawableHelper { if (Utils.isOnSkyblock) { if (HotbarSlotLock.isLocked(hotbarSlotIndex)) { RenderSystem.setShaderTexture(0,SLOT_LOCK); - this.drawTexture(hotbarMatrices, i, j, 0, 0,16, 16); + DrawableHelper.drawTexture(hotbarMatrices, i, j, 0, 0,16, 16); } hotbarSlotIndex++; } diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java index 4bff2779..0cba11c8 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java @@ -12,7 +12,7 @@ import org.spongepowered.asm.mixin.injection.Redirect; @Mixin(InventoryScreen.class) public class InventoryScreenMixin { @Redirect( - method = "", + method = "", at = @At( value = "NEW", target = "net/minecraft/client/gui/screen/recipebook/RecipeBookWidget" diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemRendererMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemRendererMixin.java index 1de2617b..aa0d8704 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemRendererMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemRendererMixin.java @@ -43,8 +43,6 @@ public abstract class ItemRendererMixin { } RenderSystem.disableDepthTest(); -// RenderSystem.disableTexture(); -// RenderSystem.disableAlphaTest(); RenderSystem.disableBlend(); float hue = Math.max(0.0F, 1.0F - (max - current) / max); int width = Math.round(current / max * 13.0F); @@ -52,8 +50,6 @@ public abstract class ItemRendererMixin { DrawableHelper.fill(matrices, x + 2, y + 13, x + 15, y + 15, 0xFF000000); DrawableHelper.fill(matrices, x + 2, y + 13, x + 2 + width, y + 14, rgb); RenderSystem.enableBlend(); -// RenderSystem.enableAlphaTest(); -// RenderSystem.enableTexture(); RenderSystem.enableDepthTest(); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java index 29b8dd79..d8cca051 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java @@ -48,7 +48,7 @@ public class BackpackPreview extends DrawableHelper { // update save dir based on uuid and sb profile String uuid = MinecraftClient.getInstance().getSession().getUuid().replaceAll("-", ""); String profile = getSkyblockProfile(); - if (uuid != null && profile != null) { + if (profile != null) { save_dir = FabricLoader.getInstance().getConfigDir().resolve("skyblocker/backpack-preview/" + uuid + "/" + profile); save_dir.toFile().mkdirs(); if (loaded.equals(uuid + "/" + profile)) { @@ -121,7 +121,7 @@ public class BackpackPreview extends DrawableHelper { String title = screen.getTitle().getString(); int index = getStorageIndexFromTitle(title); if (index != -1) { - storage[index] = ((HandledScreen) screen).getScreenHandler().slots.get(0).inventory; + storage[index] = screen.getScreenHandler().slots.get(0).inventory; dirty[index] = true; } } @@ -140,10 +140,10 @@ public class BackpackPreview extends DrawableHelper { RenderSystem.disableDepthTest(); RenderSystem.setShaderTexture(0, TEXTURE); - instance.drawTexture(matrices, x, y, 0, 0, 176, 7); + BackpackPreview.drawTexture(matrices, x, y, 0, 0, 176, 7); for (int i = 0; i < rows; ++i) - instance.drawTexture(matrices, x, y + i * 18 + 7, 0, 7, 176, 18); - instance.drawTexture(matrices, x, y + rows * 18 + 7, 0, 25, 176, 7); + BackpackPreview.drawTexture(matrices, x, y + i * 18 + 7, 0, 7, 176, 18); + BackpackPreview.drawTexture(matrices, x, y + rows * 18 + 7, 0, 25, 176, 7); RenderSystem.enableDepthTest(); ItemRenderer itemRenderer = MinecraftClient.getInstance().getItemRenderer(); @@ -184,7 +184,7 @@ public class BackpackPreview extends DrawableHelper { } class DummyInventory implements Inventory { - private List stacks; + private final List stacks; public DummyInventory(NbtCompound root) { stacks = new ArrayList<>(root.getInt("size") + 9); diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java index 15a45e2e..05b57410 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java @@ -6,7 +6,6 @@ import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawableHelper; -import net.minecraft.client.network.ClientPlayerEntity; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.Identifier; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ApiKeyListener.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ApiKeyListener.java index 679901cd..dec2835b 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ApiKeyListener.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ApiKeyListener.java @@ -6,7 +6,7 @@ import me.xmrvizzy.skyblocker.chat.ChatPatternListener; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import net.minecraft.client.MinecraftClient; import net.minecraft.text.Text; -import net.minecraft.text.TranslatableTextContent; + import java.util.regex.Matcher; public class ApiKeyListener extends ChatPatternListener { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java index 4cf6c84d..3e848925 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java @@ -11,21 +11,19 @@ import net.minecraft.text.Text; public class StatsCommand { public static void init(){ - ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> { - dispatcher.register(ClientCommandManager.literal("skyblocker") - .then(ClientCommandManager.literal("debug") - .then(ClientCommandManager.literal("stats").then(ClientCommandManager.argument("username", StringArgumentType.string()) - .executes(context -> { - new Thread(() -> { - PlayerProfiles playerProfiles = ProfileUtils.getProfiles(StringArgumentType.getString(context, "username")); - for (String profileId : playerProfiles.profiles().keySet()){ - MinecraftClient.getInstance().player.sendMessage(Text.literal(playerProfiles.profiles().get(profileId).cuteName()) - .styled(style -> style.withClickEvent(new ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, new GsonBuilder().serializeNulls().setPrettyPrinting().create().toJson(playerProfiles.profiles().get(profileId))))), false); - } - }).start(); - return 1; - }))))); - }); + ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal("skyblocker") + .then(ClientCommandManager.literal("debug") + .then(ClientCommandManager.literal("stats").then(ClientCommandManager.argument("username", StringArgumentType.string()) + .executes(context -> { + new Thread(() -> { + PlayerProfiles playerProfiles = ProfileUtils.getProfiles(StringArgumentType.getString(context, "username")); + for (String profileId : playerProfiles.profiles().keySet()){ + MinecraftClient.getInstance().player.sendMessage(Text.literal(playerProfiles.profiles().get(profileId).cuteName()) + .styled(style -> style.withClickEvent(new ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, new GsonBuilder().serializeNulls().setPrettyPrinting().create().toJson(playerProfiles.profiles().get(profileId))))), false); + } + }).start(); + return 1; + })))))); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/records/mining/Mining.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/records/mining/Mining.java index d974f5c6..d6f52fe4 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/records/mining/Mining.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/records/mining/Mining.java @@ -1,10 +1,5 @@ package me.xmrvizzy.skyblocker.skyblock.api.records.mining; -import com.google.gson.annotations.SerializedName; -import me.xmrvizzy.skyblocker.skyblock.api.records.PlayerProfiles; - -import java.util.HashMap; - public record Mining( Commissions commissions, Forge forge, diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java index c836e4f3..37320c92 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java @@ -21,14 +21,18 @@ public class OldLever { return FLOOR_SHAPE; } else if (wallMountLocation == WallMountLocation.WALL) { switch (direction) { - case EAST: + case EAST -> { return EAST_SHAPE; - case WEST: + } + case WEST -> { return WEST_SHAPE; - case SOUTH: + } + case SOUTH -> { return SOUTH_SHAPE; - case NORTH: + } + case NORTH -> { return NORTH_SHAPE; + } } } return null; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java index 19f13c32..42fcc36a 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java @@ -1,8 +1,5 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - import me.xmrvizzy.skyblocker.SkyblockerMod; import me.xmrvizzy.skyblocker.chat.ChatFilterResult; import me.xmrvizzy.skyblocker.chat.ChatPatternListener; @@ -13,6 +10,9 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.network.ClientPlayerEntity; import net.minecraft.text.Text; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + public class Reparty extends ChatPatternListener { private static final MinecraftClient client = MinecraftClient.getInstance(); private static final SkyblockerMod skyblocker = SkyblockerMod.getInstance(); @@ -26,17 +26,12 @@ public class Reparty extends ChatPatternListener { public Reparty() { super("^(?:You are not currently in a party\\.|Party (?:Membe|Moderato)rs(?: \\(([0-9]+)\\)|:( .*)))$"); this.repartying = false; - ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> { - dispatcher.register(ClientCommandManager.literal("rp").executes(context -> { - if (!Utils.isOnSkyblock || this.repartying || client.player == null) return 0; - this.repartying = true; - client.player.networkHandler.sendCommand("p list"); - return 0; - })); - }); - - - + ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal("rp").executes(context -> { + if (!Utils.isOnSkyblock || this.repartying || client.player == null) return 0; + this.repartying = true; + client.player.networkHandler.sendCommand("p list"); + return 0; + }))); } @Override diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java index 6d4bf812..86fe58fe 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java @@ -20,7 +20,7 @@ import java.util.stream.Stream; public class DwarvenHud { - public static MinecraftClient client = MinecraftClient.getInstance(); + public static final MinecraftClient client = MinecraftClient.getInstance(); public static List commissionList = new ArrayList<>(); @@ -84,8 +84,8 @@ public class DwarvenHud { } public static class Commission{ - String commission; - String progression; + final String commission; + final String progression; public Commission(String commission, String progression){ this.commission = commission; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java index 6382fe9c..4c2ac002 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java @@ -5,7 +5,7 @@ import me.xmrvizzy.skyblocker.chat.ChatPatternListener; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import net.minecraft.client.MinecraftClient; import net.minecraft.text.Text; -import net.minecraft.text.TranslatableTextContent; + import java.util.HashMap; import java.util.Map; import java.util.regex.Matcher; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java index dfc498a1..8d8c86b4 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java @@ -9,10 +9,8 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.item.TooltipContext; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; -import net.minecraft.text.LiteralTextContent; import net.minecraft.text.MutableText; import net.minecraft.text.Text; -import net.minecraft.text.TranslatableTextContent; import net.minecraft.util.Formatting; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java index afaf487f..82c9fdf4 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java @@ -24,7 +24,7 @@ import java.net.URLConnection; public class WikiLookup { public static KeyBinding wikiLookup; - static MinecraftClient client = MinecraftClient.getInstance(); + static final MinecraftClient client = MinecraftClient.getInstance(); static String id; public static Gson gson = new Gson(); diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemFixerUpper.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemFixerUpper.java index 249fba9f..d8ad3a89 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemFixerUpper.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemFixerUpper.java @@ -3,7 +3,6 @@ package me.xmrvizzy.skyblocker.skyblock.itemlist; import net.minecraft.item.Items; // import net.minecraft.registry.Registry; import net.minecraft.registry.Registries; -import net.minecraft.registry.Registry; import net.minecraft.util.Identifier; import java.util.Map; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java index ce567b67..99a06337 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java @@ -7,6 +7,7 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.Drawable; +import net.minecraft.client.gui.DrawableHelper; import net.minecraft.client.gui.Selectable; import net.minecraft.client.gui.screen.recipebook.RecipeBookWidget; import net.minecraft.client.gui.widget.TextFieldWidget; @@ -54,7 +55,7 @@ public class ItemListWidget extends RecipeBookWidget implements Drawable, Select this.searchField = ((RecipeBookWidgetAccessor)this).getSearchField(); int i = (this.parentWidth - 147) / 2 - this.leftOffset; int j = (this.parentHeight - 166) / 2; - this.drawTexture(matrices, i, j, 1, 1, 147, 166); + DrawableHelper.drawTexture(matrices, i, j, 1, 1, 147, 166); this.searchField = ((RecipeBookWidgetAccessor)this).getSearchField(); if (!this.searchField.isFocused() && this.searchField.getText().isEmpty()) { Text hintText = (Text.translatable("gui.recipebook.search_hint")).formatted(Formatting.ITALIC).formatted(Formatting.GRAY); @@ -84,8 +85,6 @@ public class ItemListWidget extends RecipeBookWidget implements Drawable, Select this.results.closeRecipeView(); return true; } - if (this.results.mouseClicked(mouseX, mouseY, button)) - return true; - return false; + return this.results.mouseClicked(mouseX, mouseY, button); } } \ No newline at end of file diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java index 17e9aebc..008ff191 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java @@ -21,9 +21,9 @@ public class ItemRegistry { private static final Path ITEM_LIST_DIR = LOCAL_ITEM_REPO_DIR.resolve("items"); - protected static List items = new ArrayList<>(); - protected static Map itemsMap = new HashMap<>(); - protected static List recipes = new ArrayList<>(); + protected static final List items = new ArrayList<>(); + protected static final Map itemsMap = new HashMap<>(); + protected static final List recipes = new ArrayList<>(); // TODO: make async public static void init() { @@ -113,7 +113,7 @@ public class ItemRegistry { class Recipe { private static final Logger LOGGER = LoggerFactory.getLogger(Recipe.class); String text = ""; - List grid = new ArrayList<>(9); + final List grid = new ArrayList<>(9); ItemStack result; public static Recipe fromJsonObject(JsonObject jsonObj) { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java index fbbd49d7..b2d909a8 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java @@ -30,8 +30,7 @@ public class ItemStackBuilder { public static ItemStack parseJsonObj(JsonObject obj) { String internalName = obj.get("internalname").getAsString(); - List> injectors = new ArrayList<>(); - injectors.addAll(petData(internalName)); + List> injectors = new ArrayList<>(petData(internalName)); NbtCompound root = new NbtCompound(); root.put("Count", NbtByte.of((byte)1)); diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java index 3d6409ef..41e5469d 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java @@ -5,6 +5,7 @@ import java.util.List; import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.DrawableHelper; import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder; import net.minecraft.client.gui.widget.ClickableWidget; import net.minecraft.client.render.GameRenderer; @@ -40,7 +41,7 @@ public class ResultButtonWidget extends ClickableWidget { RenderSystem.setShader(GameRenderer::getPositionTexProgram); RenderSystem.setShaderTexture(0, BACKGROUND_TEXTURE); // this.drawTexture(matrices, this.x, this.y, 29, 206, this.width, this.height); - this.drawTexture(matrices, this.getX(), this.getY(), 29, 206, this.getWidth(), this.getHeight()); + DrawableHelper.drawTexture(matrices, this.getX(), this.getY(), 29, 206, this.getWidth(), this.getHeight()); // client.getItemRenderer().renderInGui(this.itemStack, this.x + 4, this.y + 4); client.getItemRenderer().renderInGui(matrices, this.itemStack, this.getX() + 4, this.getY() + 4); // client.getItemRenderer().renderGuiItemOverlay(client.textRenderer, itemStack, this.x + 4, this.y + 4); diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchResultsWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchResultsWidget.java index d006649b..64ba237d 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchResultsWidget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchResultsWidget.java @@ -15,19 +15,18 @@ import java.util.Locale; public class SearchResultsWidget implements Drawable { private static final Identifier TEXTURE = new Identifier("textures/gui/recipe_book.png"); + private static final int COLS = 5; private final MinecraftClient client; private final int parentX; private final int parentY; - private final int rows = 4; - private final int cols = 5; private final List searchResults = new ArrayList<>(); private List recipeResults = new ArrayList<>(); private String searchText = null; - private List resultButtons = new ArrayList<>(); - private ToggleButtonWidget nextPageButton; - private ToggleButtonWidget prevPageButton; + private final List resultButtons = new ArrayList<>(); + private final ToggleButtonWidget nextPageButton; + private final ToggleButtonWidget prevPageButton; private int currentPage = 0; private int pageCount = 0; private boolean displayRecipes = false; @@ -38,8 +37,9 @@ public class SearchResultsWidget implements Drawable { this.parentY = parentY; int gridX = parentX + 11; int gridY = parentY + 31; - for (int i = 0; i < this.rows; ++i) - for (int j = 0; j < this.cols; ++j) { + int rows = 4; + for (int i = 0; i < rows; ++i) + for (int j = 0; j < COLS; ++j) { int x = gridX + j * 25; int y = gridY + i * 25; resultButtons.add(new ResultButtonWidget(x, y)); @@ -63,6 +63,9 @@ public class SearchResultsWidget implements Drawable { this.searchResults.clear(); for (ItemStack entry : ItemRegistry.items) { String name = entry.getName().toString().toLowerCase(Locale.ENGLISH); + if (entry.getNbt() == null) { + continue; + } String disp = entry.getNbt().getCompound("display").toString().toLowerCase(Locale.ENGLISH); if (name.contains(this.searchText) || disp.contains(this.searchText)) this.searchResults.add(entry); @@ -79,9 +82,9 @@ public class SearchResultsWidget implements Drawable { Recipe recipe = this.recipeResults.get(this.currentPage); for (ResultButtonWidget button : resultButtons) button.clearItemStack(); - resultButtons.get( 5).setItemStack(recipe.grid.get(0)); - resultButtons.get( 6).setItemStack(recipe.grid.get(1)); - resultButtons.get( 7).setItemStack(recipe.grid.get(2)); + resultButtons.get(5).setItemStack(recipe.grid.get(0)); + resultButtons.get(6).setItemStack(recipe.grid.get(1)); + resultButtons.get(7).setItemStack(recipe.grid.get(2)); resultButtons.get(10).setItemStack(recipe.grid.get(3)); resultButtons.get(11).setItemStack(recipe.grid.get(4)); resultButtons.get(12).setItemStack(recipe.grid.get(5)); @@ -135,6 +138,9 @@ public class SearchResultsWidget implements Drawable { public boolean mouseClicked(double mouseX, double mouseY, int mouseButton) { for (ResultButtonWidget button : resultButtons) if (button.mouseClicked(mouseX, mouseY, mouseButton)) { + if (button.itemStack.getNbt() == null) { + continue; + } String internalName = button.itemStack.getNbt().getCompound("ExtraAttributes").getString("id"); List recipes = ItemRegistry.getRecipes(internalName); if (!recipes.isEmpty()) { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java index 85ebd3a6..8483f88b 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java @@ -1,20 +1,15 @@ package me.xmrvizzy.skyblocker.skyblock.quicknav; -import java.util.ArrayList; -import java.util.List; - import com.mojang.brigadier.exceptions.CommandSyntaxException; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; import net.minecraft.nbt.StringNbtReader; import java.util.ArrayList; import java.util.List; import java.util.Locale; -import java.util.Objects; public class QuickNav { private static final String skyblockHubIconNbt = "{id:\"minecraft:player_head\",Count:1,tag:{SkullOwner:{Id:[I;-300151517,-631415889,-1193921967,-1821784279],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDdjYzY2ODc0MjNkMDU3MGQ1NTZhYzUzZTA2NzZjYjU2M2JiZGQ5NzE3Y2Q4MjY5YmRlYmVkNmY2ZDRlN2JmOCJ9fX0=\"}]}}}}"; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java index ef0f2d06..e31827ab 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java @@ -6,6 +6,7 @@ import me.xmrvizzy.skyblocker.mixin.HandledScreenAccessor; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.DrawableHelper; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder; @@ -20,7 +21,7 @@ public class QuickNavButton extends ClickableWidget { private static final MinecraftClient CLIENT = MinecraftClient.getInstance(); private static final Identifier BUTTON_TEXTURE = new Identifier("textures/gui/container/creative_inventory/tabs.png"); - private int index; + private final int index; private boolean toggled; private int u; private int v; @@ -37,8 +38,7 @@ public class QuickNavButton extends ClickableWidget { private void updateCoordinates() { Screen screen = MinecraftClient.getInstance().currentScreen; - if (screen instanceof HandledScreen) { - HandledScreen handledScreen = (HandledScreen) screen; + if (screen instanceof HandledScreen handledScreen) { int x = ((HandledScreenAccessor)handledScreen).getX(); int y = ((HandledScreenAccessor)handledScreen).getY(); int w = ((HandledScreenAccessor)handledScreen).getBackgroundWidth(); @@ -71,16 +71,16 @@ public class QuickNavButton extends ClickableWidget { if (!this.toggled) { if (this.index >= 6) // this.drawTexture(matrices, this.x, this.y + 4, this.u, this.v + 4, this.width, this.height - 4); - this.drawTexture(matrices, this.getX(), this.getY() + 4, this.u, this.v + 4, this.width, this.height - 4); + DrawableHelper.drawTexture(matrices, this.getX(), this.getY() + 4, this.u, this.v + 4, this.width, this.height - 4); else // this.drawTexture(matrices, this.x, this.y, this.u, this.v, this.width, this.height - 4); - this.drawTexture(matrices, this.getX(), this.getY() - 2, this.u, this.v, this.width, this.height - 4); + DrawableHelper.drawTexture(matrices, this.getX(), this.getY() - 2, this.u, this.v, this.width, this.height - 4); // } else this.drawTexture(matrices, this.x, this.y, this.u, this.v, this.width, this.height); } else { matrices.push(); //Move the top buttons 2 pixels up if they're selected if (this.index < 6) matrices.translate(0f, -2f, 0f); - this.drawTexture(matrices, this.getX(), this.getY(), this.u, this.v, this.width, this.height); + DrawableHelper.drawTexture(matrices, this.getX(), this.getY(), this.u, this.v, this.width, this.height); matrices.pop(); } // render button icon diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtils.java b/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtils.java index 1f8e2552..73ad468f 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtils.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtils.java @@ -75,7 +75,7 @@ public class RenderUtils { return Vec3d.ZERO; } - double tickDelta = (double) MinecraftClient.getInstance().getTickDelta(); + double tickDelta = MinecraftClient.getInstance().getTickDelta(); return new Vec3d( e.getX() - MathHelper.lerp(tickDelta, e.lastRenderX, e.getX()), e.getY() - MathHelper.lerp(tickDelta, e.lastRenderY, e.getY()), diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java b/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java index ae490649..7a0ad754 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java @@ -3,7 +3,7 @@ package me.xmrvizzy.skyblocker.utils; import com.mojang.blaze3d.systems.RenderSystem; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.DrawableHelper; import net.minecraft.client.render.GameRenderer; import net.minecraft.client.toast.Toast; import net.minecraft.client.toast.ToastManager; @@ -26,7 +26,7 @@ public class ToastBuilder implements Toast { RenderSystem.setShaderTexture(0, TEXTURE); RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); - manager.drawTexture(matrices, 0, 0, 0, 0, this.getWidth(), this.getHeight()); + DrawableHelper.drawTexture(matrices, 0, 0, 0, 0, this.getWidth(), this.getHeight()); manager.getClient().textRenderer.draw(matrices, title, 7.0f, 7.0f, -11534256); mana