aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/ISSUE_TEMPLATE/crash_report.yml16
-rw-r--r--MRREADME.md225
-rw-r--r--build.gradle16
-rw-r--r--gradle.properties2
-rw-r--r--gradle/wrapper/gradle-wrapper.jarbin62076 -> 63721 bytes
-rw-r--r--gradle/wrapper/gradle-wrapper.properties3
-rwxr-xr-xgradlew22
-rw-r--r--src/main/java/de/hysky/skyblocker/SkyblockerMod.java (renamed from src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java)52
-rw-r--r--src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockEmiRecipe.java (renamed from src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockEmiRecipe.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/compatibility/modmenu/ModMenuEntry.java (renamed from src/main/java/me/xmrvizzy/skyblocker/compatibility/modmenu/ModMenuEntry.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockCategory.java (renamed from src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockCategory.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockCraftingDisplay.java (renamed from src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockCraftingDisplay.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockCraftingDisplayGenerator.java (renamed from src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockCraftingDisplayGenerator.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockerREIClientPlugin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockerREIClientPlugin.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/config/ConfigUtils.java (renamed from src/main/java/me/xmrvizzy/skyblocker/config/ConfigUtils.java)16
-rw-r--r--src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java (renamed from src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java)73
-rw-r--r--src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java (renamed from src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfigManager.java)22
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/DiscordRPCCategory.java (renamed from src/main/java/me/xmrvizzy/skyblocker/config/categories/DiscordRPCCategory.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java (renamed from src/main/java/me/xmrvizzy/skyblocker/config/categories/DungeonsCategory.java)27
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/DwarvenMinesCategory.java (renamed from src/main/java/me/xmrvizzy/skyblocker/config/categories/DwarvenMinesCategory.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java (renamed from src/main/java/me/xmrvizzy/skyblocker/config/categories/GeneralCategory.java)77
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/LocationsCategory.java (renamed from src/main/java/me/xmrvizzy/skyblocker/config/categories/LocationsCategory.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/MessageFilterCategory.java (renamed from src/main/java/me/xmrvizzy/skyblocker/config/categories/MessageFilterCategory.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/QuickNavigationCategory.java (renamed from src/main/java/me/xmrvizzy/skyblocker/config/categories/QuickNavigationCategory.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java (renamed from src/main/java/me/xmrvizzy/skyblocker/config/categories/SlayersCategory.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/config/controllers/EnumDropdownController.java (renamed from src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownController.java)27
-rw-r--r--src/main/java/de/hysky/skyblocker/config/controllers/EnumDropdownControllerBuilder.java27
-rw-r--r--src/main/java/de/hysky/skyblocker/config/controllers/EnumDropdownControllerBuilderImpl.java (renamed from src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownControllerBuilderImpl.java)14
-rw-r--r--src/main/java/de/hysky/skyblocker/config/controllers/EnumDropdownControllerElement.java (renamed from src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownControllerElement.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/events/ClientPlayerBlockBreakEvent.java23
-rw-r--r--src/main/java/de/hysky/skyblocker/events/SkyblockEvents.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/SkyblockEvents.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/AbstractInventoryScreenMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/AbstractInventoryScreenMixin.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/ArmorTrimMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/ArmorTrimMixin.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/BatEntityMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/BatEntityMixin.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/ClientPlayNetworkHandlerMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayNetworkHandlerMixin.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/ClientPlayerInteractionManagerMixin.java27
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/DrawContextMixin.java72
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/DyeableItemMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/DyeableItemMixin.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/FarmlandBlockMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/FarmlandBlockMixin.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/GenericContainerScreenHandlerMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/GenericContainerScreenHandlerMixin.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/HandledScreenMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java)36
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/InGameHudMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java)48
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/InventoryScreenMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/ItemMixin.java22
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/ItemStackMixin.java63
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/LeverBlockMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/LeverBlockMixin.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/MinecraftClientMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/MinecraftClientMixin.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/PlayerListHudMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java)12
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/PlayerSkinProviderMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerSkinProviderMixin.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/ScoreboardMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/ScoreboardMixin.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/SocialInteractionsPlayerListWidgetMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/SocialInteractionsPlayerListWidgetMixin.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/WorldRendererMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/WorldRendererMixin.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/YggdrasilMinecraftSessionServiceMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/YggdrasilMinecraftSessionServiceMixin.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/YggdrasilServicesKeyInfoMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/YggdrasilServicesKeyInfoMixin.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/accessor/BeaconBlockEntityRendererInvoker.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/BeaconBlockEntityRendererInvoker.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/accessor/DrawContextInvoker.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/DrawContextInvoker.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/accessor/FrustumInvoker.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/FrustumInvoker.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/accessor/HandledScreenAccessor.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/HandledScreenAccessor.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/accessor/PlayerListHudAccessor.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/PlayerListHudAccessor.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/accessor/RecipeBookWidgetAccessor.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/RecipeBookWidgetAccessor.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/accessor/ScreenAccessor.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/ScreenAccessor.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/accessor/WorldRendererAccessor.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/WorldRendererAccessor.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/FairySouls.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java)16
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/FancyStatusBars.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/FishingHelper.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/HotbarSlotLock.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/HotbarSlotLock.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/QuiverWarning.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/QuiverWarning.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/StatusBarTracker.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/StatusBarTracker.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/TeleportOverlay.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/barn/HungryHiker.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/barn/TreasureHunter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/TreasureHunter.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/CreeperBeams.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/CreeperBeams.java)9
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusHelper.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/CroesusHelper.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonBlaze.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonChestProfit.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonChestProfit.java)14
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/LividColor.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/LividColor.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/OldLever.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/Reparty.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java)14
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/StarredMobGlow.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/StarredMobGlow.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/ThreeWeirdos.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdos.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/TicTacToe.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/TicTacToe.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/Trivia.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonMapUtils.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonMapUtils.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java)16
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/Room.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/Room.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretWaypoint.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/SecretWaypoint.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java)12
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/Fetchur.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/Puzzler.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/experiment/ChronomatronSolver.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/experiment/ExperimentSolver.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ExperimentSolver.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/experiment/SuperpairsSolver.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/experiment/UltrasequencerSolver.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/filters/AbilityFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AbilityFilter.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/filters/AdFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AdFilter.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/filters/AoteFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AoteFilter.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/filters/AutopetFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AutopetFilter.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/filters/ComboFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ComboFilter.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/filters/HealFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/HealFilter.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/filters/ImplosionFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ImplosionFilter.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/filters/MoltenWaveFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/MoltenWaveFilter.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/filters/ShowOffFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ShowOffFilter.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/filters/SimpleChatFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/SimpleChatFilter.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/filters/TeleportPadFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/TeleportPadFilter.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/AttributeShards.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/item/AttributeShards.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/BackpackPreview.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/item/BackpackPreview.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/CompactorDeletorPreview.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CompactorDeletorPreview.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/CompactorPreviewTooltipComponent.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CompactorPreviewTooltipComponent.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorDyeColors.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomArmorDyeColors.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorTrims.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomArmorTrims.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/CustomItemNames.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomItemNames.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/ItemCooldowns.java115
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/ItemProtection.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/item/ItemProtection.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/ItemRarityBackgrounds.java109
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/PriceInfoTooltip.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java)12
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/SkyblockItemRarity.java29
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/WikiLookup.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/itemlist/ItemFixerUpper.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemFixerUpper.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/itemlist/ItemListWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/itemlist/ItemRegistry.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/itemlist/ItemStackBuilder.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/itemlist/ResultButtonWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/itemlist/SearchResultsWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchResultsWidget.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/itemlist/SkyblockCraftingRecipe.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SkyblockCraftingRecipe.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/quicknav/QuickNav.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/quicknav/QuickNavButton.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/rift/EffigyWaypoints.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java)53
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/rift/HealingMelonIndicator.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/HealingMelonIndicator.java)12
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/rift/ManiaIndicator.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/ManiaIndicator.java)14
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/rift/MirrorverseWaypoints.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/MirrorverseWaypoints.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/rift/StakeIndicator.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/StakeIndicator.java)14
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/rift/TheRift.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TheRift.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/rift/TwinClawsIndicator.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TwinClawsIndicator.java)16
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/shortcut/Shortcuts.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/Shortcuts.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/shortcut/ShortcutsConfigListWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/ShortcutsConfigListWidget.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/shortcut/ShortcutsConfigScreen.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/ShortcutsConfigScreen.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/special/SpecialEffects.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/special/SpecialEffects.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/spidersden/Relics.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/spidersden/Relics.java)14
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/TabHud.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/TabHud.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java)22
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/pipeline/AlignStage.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/AlignStage.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/pipeline/CollideStage.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/CollideStage.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/pipeline/PipelineStage.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/PipelineStage.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/pipeline/PlaceStage.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/PlaceStage.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/pipeline/StackStage.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/StackStage.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/Ico.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/Ico.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/PlayerListMgr.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerListMgr.java)7
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/PlayerLocator.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerLocator.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/ScreenConst.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/ScreenConst.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/CameraPositionWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/CameraPositionWidget.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/CommsWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/CommsWidget.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ComposterWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ComposterWidget.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/CookieWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/CookieWidget.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDeathWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonDeathWidget.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDownedWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonDownedWidget.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonPlayerWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonPlayerWidget.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonPuzzleWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonPuzzleWidget.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonSecretWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonSecretWidget.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonServerWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonServerWidget.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EffectWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/EffectWidget.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ElectionWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ElectionWidget.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ErrorWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ErrorWidget.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EssenceWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/EssenceWidget.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EventWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/EventWidget.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ForgeWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ForgeWidget.java)12
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/GardenServerWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/GardenServerWidget.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/GardenSkillsWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/GardenSkillsWidget.java)12
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/GardenVisitorsWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/GardenVisitorsWidget.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/GuestServerWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/GuestServerWidget.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/IslandGuestsWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/IslandGuestsWidget.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/IslandOwnersWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/IslandOwnersWidget.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/IslandSelfWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/IslandSelfWidget.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/IslandServerWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/IslandServerWidget.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/JacobsContestWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/JacobsContestWidget.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/MinionWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/MinionWidget.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ParkServerWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ParkServerWidget.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java)16
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PowderWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/PowderWidget.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ProfileWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ProfileWidget.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/QuestWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/QuestWidget.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ReputationWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ReputationWidget.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ServerWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ServerWidget.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/SkillsWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/SkillsWidget.java)16
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/TrapperWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/TrapperWidget.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/UpgradeWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/UpgradeWidget.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/VolcanoWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/VolcanoWidget.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/Widget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/Component.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/Component.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/IcoFatTextComponent.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoFatTextComponent.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/IcoTextComponent.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoTextComponent.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/PlainTextComponent.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlainTextComponent.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/TableComponent.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/TableComponent.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java)14
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/AdvertisementWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/AdvertisementWidget.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/GoodToKnowWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/GoodToKnowWidget.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/RiftProfileWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/RiftProfileWidget.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/RiftProgressWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/RiftProgressWidget.java)12
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/RiftServerInfoWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/RiftServerInfoWidget.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/RiftStatsWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/RiftStatsWidget.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/ShenWidget.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/ShenWidget.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/Boxes.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/Boxes.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/Constants.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/Constants.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/Http.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/Http.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/ItemUtils.java111
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/NEURepo.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/NEURepo.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/PosUtils.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/PosUtils.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/SlayerUtils.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/SlayerUtils.java)25
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/Utils.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java)81
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/chat/ChatFilterResult.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatFilterResult.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/chat/ChatMessageListener.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatMessageListener.java)21
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/chat/ChatPatternListener.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatPatternListener.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/discord/DiscordRPCManager.java)18
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/FrustumUtils.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/render/FrustumUtils.java)6
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/RenderHelper.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java)10
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/culling/OcclusionCulling.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/render/culling/OcclusionCulling.java)4
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/culling/WorldProvider.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/render/culling/WorldProvider.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/culling/package-info.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/render/culling/package-info.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/gui/ColorHighlight.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/render/gui/ColorHighlight.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/gui/ContainerSolver.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/render/gui/ContainerSolver.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/gui/ContainerSolverManager.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/render/gui/ContainerSolverManager.java)20
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/title/Title.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/render/title/Title.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainer.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainer.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainerConfigScreen.java)8
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/scheduler/MessageScheduler.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/MessageScheduler.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/scheduler/Scheduler.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/Scheduler.java)2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/tictactoe/TicTacToeUtils.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/tictactoe/TicTacToeUtils.java)2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownControllerBuilder.java10
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java133
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/ItemStackMixin.java33
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/ItemUtils.java43
-rw-r--r--src/main/resources/assets/skyblocker/lang/en_us.json7
-rw-r--r--src/main/resources/assets/skyblocker/textures/gui/sprites/item_rarity_background.pngbin0 -> 198 bytes
-rw-r--r--src/main/resources/fabric.mod.json8
-rw-r--r--src/main/resources/skyblocker.mixins.json12
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/StatusBarTrackerTest.java (renamed from src/test/java/me/xmrvizzy/skyblocker/skyblock/StatusBarTrackerTest.java)2
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/dungeon/AcceptRepartyTest.java (renamed from src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/AcceptRepartyTest.java)4
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/dungeon/DungeonChestProfitTest.java22
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/dungeon/ThreeWeirdosTest.java (renamed from src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdosTest.java)4
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/dungeon/TriviaTest.java (renamed from src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/TriviaTest.java)4
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonRoomsDFU.java (renamed from src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonRoomsDFU.java)2
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/dungeon/secrets/RoomTest.java (renamed from src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/RoomTest.java)2
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/dwarven/FetchurTest.java (renamed from src/test/java/me/xmrvizzy/skyblocker/skyblock/dwarven/FetchurTest.java)4
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/dwarven/PuzzlerTest.java (renamed from src/test/java/me/xmrvizzy/skyblocker/skyblock/dwarven/PuzzlerTest.java)4
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/filters/AbilityFilterTest.java (renamed from src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/AbilityFilterTest.java)2
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/filters/AdFilterTest.java (renamed from src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/AdFilterTest.java)4
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/filters/AoteFilterTest.java (renamed from src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/AoteFilterTest.java)2
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/filters/AutopetFilterTest.java (renamed from src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/AutopetFilterTest.java)4
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/filters/ChatFilterTest.java10
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/filters/ComboFilterTest.java (renamed from src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/ComboFilterTest.java)2
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/filters/HealFilterTest.java (renamed from src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/HealFilterTest.java)2
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/filters/ImplosionFilterTest.java (renamed from src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/ImplosionFilterTest.java)2
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/filters/TeleportPadFilterTest.java (renamed from src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/TeleportPadFilterTest.java)2
-rw-r--r--src/test/java/de/hysky/skyblocker/skyblock/item/ArmorTrimIdSerializationTest.java (renamed from src/test/java/me/xmrvizzy/skyblocker/skyblock/item/ArmorTrimIdSerializationTest.java)2
-rw-r--r--src/test/java/de/hysky/skyblocker/utils/chat/ChatPatternListenerTest.java (renamed from src/test/java/me/xmrvizzy/skyblocker/utils/chat/ChatPatternListenerTest.java)2
-rw-r--r--src/test/java/de/hysky/skyblocker/utils/scheduler/SchedulerTest.java (renamed from src/test/java/me/xmrvizzy/skyblocker/utils/scheduler/SchedulerTest.java)2
-rw-r--r--src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonChestProfitTest.java22
-rw-r--r--src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/ChatFilterTest.java10
271 files changed, 1939 insertions, 1263 deletions
diff --git a/.github/ISSUE_TEMPLATE/crash_report.yml b/.github/ISSUE_TEMPLATE/crash_report.yml
index 825ddb3d..d3433bd0 100644
--- a/.github/ISSUE_TEMPLATE/crash_report.yml
+++ b/.github/ISSUE_TEMPLATE/crash_report.yml
@@ -55,14 +55,14 @@ body:
Description: Unexpected error
java.lang.NullPointerException: Cannot invoke "java.util.HashMap.get(Object)" because the return value of "java.util.HashMap.get(Object)" is null
- at me.xmrvizzy.skyblocker.skyblock.dungeon.secrets.Room.<init>(Room.java:80)
- at me.xmrvizzy.skyblocker.skyblock.dungeon.secrets.DungeonSecrets.newRoom(DungeonSecrets.java:297)
- at me.xmrvizzy.skyblocker.skyblock.dungeon.secrets.DungeonSecrets.update(DungeonSecrets.java:263)
- at me.xmrvizzy.skyblocker.utils.Scheduler$CyclicTask.run(Scheduler.java:102)
- at me.xmrvizzy.skyblocker.utils.Scheduler$ScheduledTask.run(Scheduler.java:120)
- at me.xmrvizzy.skyblocker.utils.Scheduler.runTask(Scheduler.java:88)
- at me.xmrvizzy.skyblocker.utils.Scheduler.tick(Scheduler.java:76)
- at me.xmrvizzy.skyblocker.SkyblockerMod.tick(SkyblockerMod.java:116)
+ at de.hysky.skyblocker.skyblock.dungeon.secrets.Room.<init>(Room.java:80)
+ at de.hysky.skyblocker.skyblock.dungeon.secrets.DungeonSecrets.newRoom(DungeonSecrets.java:297)
+ at de.hysky.skyblocker.skyblock.dungeon.secrets.DungeonSecrets.update(DungeonSecrets.java:263)
+ at de.hysky.skyblocker.utils.Scheduler$CyclicTask.run(Scheduler.java:102)
+ at de.hysky.skyblocker.utils.Scheduler$ScheduledTask.run(Scheduler.java:120)
+ at de.hysky.skyblocker.utils.Scheduler.runTask(Scheduler.java:88)
+ at de.hysky.skyblocker.utils.Scheduler.tick(Scheduler.java:76)
+ at de.hysky.skyblocker.SkyblockerMod.tick(SkyblockerMod.java:116)
at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$2(ClientTickEvents.java:43)
at net.minecraft.class_310.handler$ble000$fabric-lifecycle-events-v1$onEndTick(class_310.java:11022)
at net.minecraft.class_310.method_1574(class_310.java:1957)
diff --git a/MRREADME.md b/MRREADME.md
new file mode 100644
index 00000000..7e1e68ad
--- /dev/null
+++ b/MRREADME.md
@@ -0,0 +1,225 @@
+<img height="150" src="https://hysky.de/skyblocker.png" />
+
+## Skyblocker
+
+Hypixel Skyblock Mod for Minecraft 1.17.x + 1.18.x + 1.19.x + 1.20.x
+
+## 🔧 Configuration - [Mod Menu](https://modrinth.com/mod/modmenu) not required
+open config with modmenu \
+or **/skyblocker config**
+
+Skyblocker has a variety of configurations. \
+To access the configuration menu, you must install [Mod Menu](https://modrinth.com/mod/modmenu).
+<figure><a href="https://cdn-raw.modrinth.com/data/y6DuFGwJ/images/7a284adbbdc9cbad48c627e3898dc8cfb9f54a64.png"><img src="https://cdn.modrinth.com/data/y6DuFGwJ/images/7a284adbbdc9cbad48c627e3898dc8cfb9f54a64.png" alt="Mod Menu" style="width:100%"></a><figcaption align = "center"><b>Mod Menu - Skyblocker config</b></figcaption></figure>
+
+### List of Configuration
+
+<details>
+<summary> General </summary>
+
+|Config option|Description|
+|---|---|
+| Update Notification | Get notified when there is a new update |
+| View [backpack preview](https://cdn-raw.modrinth.com/data/y6DuFGwJ/images/ef33e34b79c1615bcb23f3a395b29b793ef32e34.png) without holding shift | Preview on hover |
+
+<details>
+<summary> Health, Mana, Defence & XP Bars </summary>
+
+|Config option|Description|
+|---|---|
+|Enable Bars| Change Minecraft health ui with skyblocker [custom ui](https://user-images.githubusercontent.com/27798256/170806938-f858f0ae-4d8b-4767-9b53-8fe5a65edf56.png)|
+|Configure Bar Position|[Customize Bar Positions](https://cdn.discordapp.com/attachments/1103292463558438993/1103292498345984070/healt-layer.png)|
+</details>
+
+<details>
+<summary> Item List </summary>
+
+|Config option|Description|
+|---|---|
+|Enable Item List| Acitvate [recipe viewer](https://cdn-raw.modrinth.com/data/y6DuFGwJ/images/cf9f8077067b9781686f23116f163d529c21c404.png)|
+</details>
+
+<details>
+<summary> Item Tooltip </summary>
+
+Customize [Item tooltip](https://cdn-raw.modrinth.com/data/y6DuFGwJ/images/12903f3f839d769fac48a4e74e04bee9aa1657d5.png)
+
+</details>
+
+<details>
+<summary> Hitboxes </summary>
+
+|Config option|Description|
+|---|---|
+|Enable 1.8 farmland hitbox| Change hitbox to the 1.8 one |
+|Enable 1.8 lever hitbox| Change hitbox to the 1.8 one |
+</details>
+</details>
+
+<details>
+<summary> Locations </summary>
+
+<details>
+<summary> Dungeons </summary>
+
+|Config option|Description|
+|---|---|
+|Croseus Helper|Gray out chests that have already been opened|
+|Enable Map| [Map](https://cdn-raw.modrinth.com/data/y6DuFGwJ/images/43243429b1c4d17236ae3e5a9836ecd7d905644b.png)|
+|Solve Three Weirdos Puzzle|Solver usefull in Dungeons|
+|Solve Blaze Puzzle|Solver usefull in Dungeons|
+|Solve Trivia Puzzle|Solver usefull in Dungeons|
+
+<details>
+<summary> Terminal </summary>
+
+|Config option|Description|
+|---|---|
+|Solve Selectect Colored|Solver usefull in Dungeons 7|
+|Solve Click In Order|Solver usefull in Dungeons 7|
+|Solve Starts With|Solver usefull in Dungeons 7|
+</details>
+</details>
+<details>
+<summary> Dwarven Mines </summary>
+
+|Config option|Description|
+|---|---|
+|Enable Drill Fuel|[Drill icon](https://cdn-raw.modrinth.com/data/y6DuFGwJ/images/43c7ab7aa7c90fcf833c7cddbf73e6644c6ce5fa.png)|
+|Solve Fetchur| Solver usefull in Mines|
+|Solve Puzzler Puzzle| Solver usefull in Mines |
+|Dwarven Hud| [Commision Hud](https://cdn.discordapp.com/attachments/905867886428565565/950513333478494248/Screen_Shot_2022-03-07_at_4.58.12_PM.png)|
+</details>
+</details>
+
+
+<details>
+<summary> Quick Navigation </summary>
+
+|Config option|Description|
+|---|---|
+|Enable Quick Navigation|Enable [Quicknav](https://cdn.discordapp.com/attachments/1103292463558438993/1103358576870817866/quick-nav.png)|
+<details>
+<summary> Button 1-12 </summary>
+
+|Config option|Description|
+|---|---|
+|Render|To show the tab|
+|Item name| The name of the item e.g. iron_boots |
+|NBT| NBT tag of the item e.g. custom head id on skull item|
+|UI Title| Title of the tab|
+|Click event|The command that is executed when you click the tab|
+</details>
+</details>
+
+
+<details>
+<summary> Messages </summary>
+
+|Config option|Description|
+|---|---|
+|Hide Ability Cooldown|Disable,Filter or Move to action bar|
+|Hide Heal Messages|Disable,Filter or Move to action bar|
+|Hide AOTE Messages|Disable,Filter or Move to action bar|
+|Hide Implosion Message|Disable,Filter or Move to action bar|
+|Hide Molten Wave Message|Disable,Filter or Move to action bar|
+|Hide Ads from Public Chat|Disable,Filter or Move to action bar|
+|Hide Teleport Pad Messages|Disable,Filter or Move to action bar|
+|Hide Combo Messages|Disable,Filter or Move to action bar|
+|Hide Autopet Messages|Disable,Filter or Move to action bar|
+|Hide Mana Consumption Messages from Action Bar|Activate or deactivate|
+</details>
+
+
+<details>
+<summary> Discord Rich Presence </summary>
+
+|Config option|Description|
+|---|---|
+|Enable|Activate [Discord Rich Presence](https://cdn-raw.modrinth.com/data/y6DuFGwJ/images/f6314d0ae0fc24d77fb3371e59b7abfe4774a17e.png)|
+|Skyblock Info|Choose between Location,Purse and Bits|
+|Cycle Skyblock Info| Cycles between the three options|
+|Custom Message| Show a custom message|
+</details>
+
+## 🖼️ Images
+Click [#Gallery](https://modrinth.com/mod/skyblocker-liap/gallery) for images to this mod
+
+## 📖Features
+<details open>
+<summary>open</summary>
+
+* Bars: Health and absorption, Mana, Defense, XP (moving fancy bars)
+* Hide Messages: Ability Cooldown, Heal, AOTE, Implosion, Molten Wave, Teleport Pad Messages
+* Dungeon Minimap
+* Dungeon Secrets
+* Starred Mob Glow
+* Dungeon Puzzle Solver:
+ * Three Weirdos
+ * Blaze
+ * Tic Tac Toe
+ * Croesus
+ * Terminal:
+ * Order
+ * Coloured Items
+ * Item Name
+* Dwarven Mines Solver: Fetchur, Puzzler
+* Barn Solver: Treasure Hunter, Hungry Hiker
+* Experiments Solvers
+* Slayer helper:
+ * Vampire : Effigy Waypoints, Healing Melon Indicator, Twinclaws Ice Indicator, Steak Stake Indicator
+* Drill Fuel and Pickonimbus 2000 in Item Durability Bar
+* Hotbar Slot Lock Keybind (Select the hotbar slot you want to lock/unlock and press the lockbutton)
+* Price tooltip: npc, motes, bazaar (avg, lbin), ah, museum
+* reparty: write /rp to reparty + auto rejoin
+* 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
+* 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
+* 1.8 hitbox for lever and farmland
+* Custom Tab HUD + Fully configureable with ressourcepack
+* Roughly enough items (REI) and Emi Support
+* Fishing Helper + sound notification
+* Mirrorverse Waypoints
+* Attribute Shard Info Display
+* Item and Armour customisation:
+ * Item Renaming
+ * Custom Armour Dye Colours
+ * Custom Armour Trims
+* OptiFabric Compatibility
+* Rare Drop Special Effects! Dungeon chest
+* Dungeon Chest Profit Calculator
+* Hide Status Effect Overlay
+* Personal Compactor/Deletor preview
+* Hide fake players in social interactions screen
+* hidden relic helper
+
+</details>
+
+
+## [Modpack](https://modrinth.com/modpack/skyblocker-modpack)
+
+<details open>
+<summary>open</summary>
+
+1. [Here](https://docs.modrinth.com/docs/modpacks/playing_modpacks) is a tutorial how to install it easy with a launcher.
+2. Download the [Skyblocker Modpack](https://modrinth.com/modpack/skyblocker-modpack/version/latest).
+ * Drag and drop the .mrpack file into a Custom MC Launcher like [MultiMC](https://multimc.org/) or [Prism Launcher](https://prismlauncher.org/) and start the new instance.
+
+</details>
+
+## Kinetic Hosting Affiliate - 15% off your first month
+
+Looking for an affordable and reliable hosting platform for your Minecraft server? Look no further than Kinetic Hosting! As an affiliate partner with Kinetic Hosting, we highly recommend their service. They offer fast and reliable servers with the largest range of supported modpacks.
+
+As a special offer for our audience, you can **<u>[use the discount code "Skyblocker" during checkout to get 15% off your first month](https://billing.kinetichosting.net/aff.php?aff=315)</u>**.
+This helps to cover our server costs.
+
+[![Kinetic-hosting](https://cdn.discordapp.com/attachments/1098004599757099150/1099460202924879902/Skyblocker.png)](https://billing.kinetichosting.net/aff.php?aff=315)
+
+So what are you waiting for? Click on the **<u>[link](https://billing.kinetichosting.net/aff.php?aff=315)</u>** to check out Kinetic Hosting and start playing with your friends today! \ No newline at end of file
diff --git a/build.gradle b/build.gradle
index d26c0e92..3e4a13d3 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,5 +1,5 @@
plugins {
- id 'fabric-loom' version '1.3-SNAPSHOT'
+ id 'fabric-loom' version '1.4-SNAPSHOT'
id 'maven-publish'
id 'com.modrinth.minotaur' version '2.+'
}
@@ -140,18 +140,22 @@ modrinth {
gameVersions = [project.minecraft_version]
loaders = ["fabric"]
versionType = "release"
- dependencies = [ // Yet another array. Create a new `ModDependency` or `VersionDependency` with two strings - the ID and the scope
- new ModDependency("P7dR8mSH", "required"), // Creates a new required dependency on Fabric API
- new ModDependency("mOgUt4GM", "optional"), // modmenu
- new ModDependency("nfn13YXA", "optional") // REI
- ]
+ dependencies {
+ required.project "fabric-api"
+ optional.project "modmenu"
+ optional.project "rei"
+ optional.project "emi"
+ }
changelog = System.getenv('CHANGELOG')
+ syncBodyFrom = rootProject.file("MRREADME.md").text
}
tasks.modrinth.doLast {
println "::set-output name=url::https://modrinth.com/mod/skyblocker-liap/version/$uploadInfo.id"
}
+tasks.modrinth.dependsOn(tasks.modrinthSyncBody)
+
// configure the maven publication
publishing {
publications {
diff --git a/gradle.properties b/gradle.properties
index 44dbbc41..7b749d92 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -34,6 +34,6 @@ repoparser_version = 1.3.2
# Mod Properties
mod_version = 1.14.0
-maven_group = me.xmrvizzy
+maven_group = de.hysky
archives_base_name = skyblocker
modrinth_id=y6DuFGwJ \ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index c1962a79..7f93135c 100644
--- a/gradle/wrapper/gradle-wrapper.jar
+++ b/gradle/wrapper/gradle-wrapper.jar
Binary files differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 37aef8d3..3fa8f862 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
index aeb74cbb..1aa94a42 100755
--- a/gradlew
+++ b/gradlew
@@ -83,7 +83,8 @@ done
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
-APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
+# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
+APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
@@ -130,10 +131,13 @@ location of your Java installation."
fi
else
JAVACMD=java
- which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+ if ! command -v java >/dev/null 2>&1
+ then
+ die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
+ fi
fi
# Increase the maximum file descriptors if we can.
@@ -141,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
- # shellcheck disable=SC3045
+ # shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
@@ -149,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
- # shellcheck disable=SC3045
+ # shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
@@ -198,11 +202,11 @@ fi
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
-# Collect all arguments for the java command;
-# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
-# shell script including quotes and variable substitutions, so put them in
-# double quotes to make sure that they get re-expanded; and
-# * put everything else in single quotes, so that it's not re-expanded.
+# Collect all arguments for the java command:
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
+# and any embedded shellness will be escaped.
+# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
+# treated as '${Hostname}' itself on the command line.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
diff --git a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
index 129c4774..bd1cd5bd 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java
+++ b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
@@ -1,31 +1,31 @@
-package me.xmrvizzy.skyblocker;
+package de.hysky.skyblocker;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.skyblock.*;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.*;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.secrets.DungeonSecrets;
-import me.xmrvizzy.skyblocker.skyblock.dwarven.DwarvenHud;
-import me.xmrvizzy.skyblocker.skyblock.item.*;
-import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemRegistry;
-import me.xmrvizzy.skyblocker.skyblock.quicknav.QuickNav;
-import me.xmrvizzy.skyblocker.skyblock.rift.TheRift;
-import me.xmrvizzy.skyblocker.skyblock.shortcut.Shortcuts;
-import me.xmrvizzy.skyblocker.skyblock.special.SpecialEffects;
-import me.xmrvizzy.skyblocker.skyblock.spidersden.Relics;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.TabHud;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.ScreenMaster;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.utils.NEURepo;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.chat.ChatMessageListener;
-import me.xmrvizzy.skyblocker.utils.discord.DiscordRPCManager;
-import me.xmrvizzy.skyblocker.utils.render.culling.OcclusionCulling;
-import me.xmrvizzy.skyblocker.utils.render.gui.ContainerSolverManager;
-import me.xmrvizzy.skyblocker.utils.render.title.TitleContainer;
-import me.xmrvizzy.skyblocker.utils.scheduler.MessageScheduler;
-import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler;
+import de.hysky.skyblocker.skyblock.*;
+import de.hysky.skyblocker.skyblock.dungeon.*;
+import de.hysky.skyblocker.skyblock.dungeon.secrets.DungeonSecrets;
+import de.hysky.skyblocker.skyblock.item.*;
+import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.ScreenMaster;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.skyblock.dwarven.DwarvenHud;
+import de.hysky.skyblocker.skyblock.itemlist.ItemRegistry;
+import de.hysky.skyblocker.skyblock.quicknav.QuickNav;
+import de.hysky.skyblocker.skyblock.rift.TheRift;
+import de.hysky.skyblocker.skyblock.shortcut.Shortcuts;
+import de.hysky.skyblocker.skyblock.special.SpecialEffects;
+import de.hysky.skyblocker.skyblock.spidersden.Relics;
+import de.hysky.skyblocker.skyblock.tabhud.TabHud;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.utils.NEURepo;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.chat.ChatMessageListener;
+import de.hysky.skyblocker.utils.discord.DiscordRPCManager;
+import de.hysky.skyblocker.utils.render.culling.OcclusionCulling;
+import de.hysky.skyblocker.utils.render.gui.ContainerSolverManager;
+import de.hysky.skyblocker.utils.render.title.TitleContainer;
+import de.hysky.skyblocker.utils.scheduler.MessageScheduler;
+import de.hysky.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.fabricmc.loader.api.FabricLoader;
@@ -78,6 +78,7 @@ public class SkyblockerMod implements ClientModInitializer {
Relics.init();
BackpackPreview.init();
QuickNav.init();
+ ItemCooldowns.init();
DwarvenHud.init();
ChatMessageListener.init();
Shortcuts.init();
@@ -102,6 +103,7 @@ public class SkyblockerMod implements ClientModInitializer {
SpecialEffects.init();
ItemProtection.init();
CreeperBeams.init();
+ ItemRarityBackgrounds.init();
containerSolverManager.init();
statusBarTracker.init();
Scheduler.INSTANCE.scheduleCyclic(Utils::update, 20);
diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java b/src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java
index 8b96499d..c7fc6973 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java
+++ b/src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.compatibility;
+package de.hysky.skyblocker.compatibility;
import java.util.List;
import java.util.Set;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockEmiRecipe.java b/src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockEmiRecipe.java
index 6cf91dac..5875327d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockEmiRecipe.java
+++ b/src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockEmiRecipe.java
@@ -1,13 +1,13 @@
-package me.xmrvizzy.skyblocker.compatibility.emi;
+package de.hysky.skyblocker.compatibility.emi;
+import de.hysky.skyblocker.skyblock.itemlist.ItemRegistry;
+import de.hysky.skyblocker.skyblock.itemlist.SkyblockCraftingRecipe;
import dev.emi.emi.api.recipe.EmiCraftingRecipe;
import dev.emi.emi.api.recipe.EmiRecipeCategory;
import dev.emi.emi.api.stack.Comparison;
import dev.emi.emi.api.stack.EmiIngredient;
import dev.emi.emi.api.stack.EmiStack;
import dev.emi.emi.api.widget.WidgetHolder;
-import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemRegistry;
-import me.xmrvizzy.skyblocker.skyblock.itemlist.SkyblockCraftingRecipe;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java b/src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java
index 1df75de0..c6147016 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java
+++ b/src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java
@@ -1,13 +1,13 @@
-package me.xmrvizzy.skyblocker.compatibility.emi;
+package de.hysky.skyblocker.compatibility.emi;
+import de.hysky.skyblocker.SkyblockerMod;
+import de.hysky.skyblocker.skyblock.itemlist.ItemRegistry;
+import de.hysky.skyblocker.utils.ItemUtils;
import dev.emi.emi.api.EmiPlugin;
import dev.emi.emi.api.EmiRegistry;
import dev.emi.emi.api.recipe.EmiRecipeCategory;
import dev.emi.emi.api.render.EmiTexture;
import dev.emi.emi.api.stack.EmiStack;
-import me.xmrvizzy.skyblocker.SkyblockerMod;
-import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemRegistry;
-import me.xmrvizzy.skyblocker.utils.ItemUtils;
import net.minecraft.item.Items;
import net.minecraft.util.Identifier;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/modmenu/ModMenuEntry.java b/src/main/java/de/hysky/skyblocker/compatibility/modmenu/ModMenuEntry.java
index 5a3f4504..e0b0bc2f 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/compatibility/modmenu/ModMenuEntry.java
+++ b/src/main/java/de/hysky/skyblocker/compatibility/modmenu/ModMenuEntry.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.compatibility.modmenu;
+package de.hysky.skyblocker.compatibility.modmenu;
import com.terraformersmc.modmenu.api.ConfigScreenFactory;
import com.terraformersmc.modmenu.api.ModMenuApi;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockCategory.java b/src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockCategory.java
index 14c61d23..dfc6e871 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockCategory.java
+++ b/src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockCategory.java
@@ -1,6 +1,7 @@
-package me.xmrvizzy.skyblocker.compatibility.rei;
+package de.hysky.skyblocker.compatibility.rei;
import com.google.common.collect.Lists;
+import de.hysky.skyblocker.utils.ItemUtils;
import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.client.gui.Renderer;
@@ -12,7 +13,6 @@ import me.shedaniel.rei.api.client.registry.display.DisplayCategory;
import me.shedaniel.rei.api.common.category.CategoryIdentifier;
import me.shedaniel.rei.api.common.entry.EntryIngredient;
import me.shedaniel.rei.api.common.util.EntryStacks;
-import me.xmrvizzy.skyblocker.utils.ItemUtils;
import net.minecraft.text.Text;
import java.util.ArrayList;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockCraftingDisplay.java b/src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockCraftingDisplay.java
index 35b5c886..7cd712f2 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockCraftingDisplay.java
+++ b/src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockCraftingDisplay.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.compatibility.rei;
+package de.hysky.skyblocker.compatibility.rei;
import me.shedaniel.rei.api.common.category.CategoryIdentifier;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockCraftingDisplayGenerator.java b/src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockCraftingDisplayGenerator.java
index 370e15dc..8db617dc 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockCraftingDisplayGenerator.java
+++ b/src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockCraftingDisplayGenerator.java
@@ -1,11 +1,11 @@
-package me.xmrvizzy.skyblocker.compatibility.rei;
+package de.hysky.skyblocker.compatibility.rei;
+import de.hysky.skyblocker.skyblock.itemlist.ItemRegistry;
+import de.hysky.skyblocker.skyblock.itemlist.SkyblockCraftingRecipe;
import me.shedaniel.rei.api.client.registry.display.DynamicDisplayGenerator;
import me.shedaniel.rei.api.common.entry.EntryIngredient;
import me.shedaniel.rei.api.common.entry.EntryStack;
import me.shedaniel.rei.api.common.util.EntryStacks;
-import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemRegistry;
-import me.xmrvizzy.skyblocker.skyblock.itemlist.SkyblockCraftingRecipe;
import net.minecraft.item.ItemStack;
import java.util.ArrayList;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockerREIClientPlugin.java b/src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockerREIClientPlugin.java
index 32f0bd85..97651718 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockerREIClientPlugin.java
+++ b/src/main/java/de/hysky/skyblocker/compatibility/rei/SkyblockerREIClientPlugin.java
@@ -1,13 +1,13 @@
-package me.xmrvizzy.skyblocker.compatibility.rei;
+package de.hysky.skyblocker.compatibility.rei;
+import de.hysky.skyblocker.SkyblockerMod;
+import de.hysky.skyblocker.skyblock.itemlist.ItemRegistry;
import me.shedaniel.rei.api.client.plugins.REIClientPlugin;
import me.shedaniel.rei.api.client.registry.category.CategoryRegistry;
import me.shedaniel.rei.api.client.registry.display.DisplayRegistry;
import me.shedaniel.rei.api.client.registry.entry.EntryRegistry;
import me.shedaniel.rei.api.common.category.CategoryIdentifier;
import me.shedaniel.rei.api.common.util.EntryStacks;
-import me.xmrvizzy.skyblocker.SkyblockerMod;
-import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemRegistry;
import net.minecraft.item.Items;
/**
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/ConfigUtils.java b/src/main/java/de/hysky/skyblocker/config/ConfigUtils.java
index 28ed704b..9a7a41b5 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/ConfigUtils.java
+++ b/src/main/java/de/hysky/skyblocker/config/ConfigUtils.java
@@ -1,11 +1,19 @@
-package me.xmrvizzy.skyblocker.config;
+package de.hysky.skyblocker.config;
import dev.isxander.yacl3.api.Option;
import dev.isxander.yacl3.api.controller.BooleanControllerBuilder;
import dev.isxander.yacl3.api.controller.EnumControllerBuilder;
-import me.xmrvizzy.skyblocker.config.controllers.EnumDropdownControllerBuilder;
+import dev.isxander.yacl3.api.controller.ValueFormatter;
+import net.minecraft.text.Text;
+import net.minecraft.util.Formatting;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.function.Function;
public class ConfigUtils {
+ public static final Function<Formatting, String> FORMATTING_TO_STRING = formatting -> StringUtils.capitalize(formatting.getName().replaceAll("_", " "));
+ public static final ValueFormatter<Float> FLOAT_TWO_FORMATTER = value -> Text.literal(String.format("%,.2f", value).replaceAll("[\u00a0\u202F]", " "));
+
public static BooleanControllerBuilder createBooleanController(Option<Boolean> opt) {
return BooleanControllerBuilder.create(opt).yesNoFormatter().coloured(true);
}
@@ -14,8 +22,4 @@ public class ConfigUtils {
public static <E extends Enum<E>> EnumControllerBuilder<E> createEnumCyclingListController(Option<E> opt) {
return EnumControllerBuilder.create(opt).enumClass((Class<E>) opt.binding().defaultValue().getClass());
}
-
- public static <E extends Enum<E>> EnumDropdownControllerBuilder<E> createEnumDropdownController(Option<E> opt) {
- return EnumDropdownControllerBuilder.create(opt);
- }
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
index e40c3f21..cb51afdc 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
@@ -1,20 +1,18 @@
-package me.xmrvizzy.skyblocker.config;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.commons.lang3.StringUtils;
+package de.hysky.skyblocker.config;
import dev.isxander.yacl3.config.v2.api.SerialEntry;
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet;
-import me.xmrvizzy.skyblocker.skyblock.item.CustomArmorTrims;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
+import de.hysky.skyblocker.skyblock.item.CustomArmorTrims;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
+import java.util.ArrayList;
+import java.util.List;
+
public class SkyblockerConfig {
@SerialEntry
public int version = 1;
@@ -179,6 +177,9 @@ public class SkyblockerConfig {
public FairySouls fairySouls = new FairySouls();
@SerialEntry
+ public ItemCooldown itemCooldown = new ItemCooldown();
+
+ @SerialEntry
public Shortcuts shortcuts = new Shortcuts();
@SerialEntry
@@ -315,6 +316,11 @@ public class SkyblockerConfig {
public boolean highlightOnlyNearbySouls = false;
}
+ public static class ItemCooldown {
+ @SerialEntry
+ public boolean enableItemCooldowns = true;
+ }
+
public static class Shortcuts {
@SerialEntry
public boolean enableShortcuts = true;
@@ -461,6 +467,12 @@ public class SkyblockerConfig {
public static class ItemInfoDisplay {
@SerialEntry
public boolean attributeShardInfo = true;
+
+ @SerialEntry
+ public boolean itemRarityBackgrounds = false;
+
+ @SerialEntry
+ public float itemRarityBackgroundsOpacity = 1f;
}
public static class SpecialEffects {
@@ -581,55 +593,18 @@ public class SkyblockerConfig {
public int neutralThreshold = 1000;
@SerialEntry
- public FormattingOption neutralColor = FormattingOption.DARK_GRAY;
+ public Formatting neutralColor = Formatting.DARK_GRAY;
@SerialEntry
- public FormattingOption profitColor = FormattingOption.DARK_GREEN;
+ public Formatting profitColor = Formatting.DARK_GREEN;
@SerialEntry
- public FormattingOption lossColor = FormattingOption.RED;
+ public Formatting lossColor = Formatting.RED;
@SerialEntry
- public FormattingOption incompleteColor = FormattingOption.BLUE;
+ public Formatting incompleteColor = Formatting.BLUE;
}
-
- public enum FormattingOption {
- BLACK(Formatting.BLACK),
- DARK_BLUE(Formatting.DARK_BLUE),
- DARK_GREEN(Formatting.DARK_GREEN),
- DARK_AQUA(Formatting.DARK_AQUA),
- DARK_RED(Formatting.DARK_RED),
- DARK_PURPLE(Formatting.DARK_PURPLE),
- GOLD(Formatting.GOLD),
- GRAY(Formatting.GRAY),
- DARK_GRAY(Formatting.DARK_GRAY),
- BLUE(Formatting.BLUE),
- GREEN(Formatting.GREEN),
- AQUA(Formatting.AQUA),
- RED(Formatting.RED),
- LIGHT_PURPLE(Formatting.LIGHT_PURPLE),
- YELLOW(Formatting.YELLOW),
- WHITE(Formatting.WHITE),
- OBFUSCATED(Formatting.OBFUSCATED),
- BOLD(Formatting.BOLD),
- STRIKETHROUGH(Formatting.STRIKETHROUGH),
- UNDERLINE(Formatting.UNDERLINE),
- ITALIC(Formatting.ITALIC),
- RESET(Formatting.RESET);
-
- public final Formatting formatting;
-
-
- FormattingOption(Formatting formatting) {
- this.formatting = formatting;
- }
-
- @Override
- public String toString() {
- return StringUtils.capitalize(formatting.getName().replaceAll("_", " "));
- }
- }
public static class LividColor {
@SerialEntry
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfigManager.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java
index eb756641..98c83975 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfigManager.java
+++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.config;
+package de.hysky.skyblocker.config;
import java.lang.StackWalker.Option;
import java.nio.file.Path;
@@ -6,19 +6,19 @@ import java.nio.file.Path;
import com.google.gson.FieldNamingPolicy;
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
+import de.hysky.skyblocker.SkyblockerMod;
import dev.isxander.yacl3.api.YetAnotherConfigLib;
import dev.isxander.yacl3.config.v2.api.ConfigClassHandler;
import dev.isxander.yacl3.config.v2.api.serializer.GsonConfigSerializerBuilder;
-import me.xmrvizzy.skyblocker.SkyblockerMod;
-import me.xmrvizzy.skyblocker.config.categories.DiscordRPCCategory;
-import me.xmrvizzy.skyblocker.config.categories.DungeonsCategory;
-import me.xmrvizzy.skyblocker.config.categories.DwarvenMinesCategory;
-import me.xmrvizzy.skyblocker.config.categories.GeneralCategory;
-import me.xmrvizzy.skyblocker.config.categories.LocationsCategory;
-import me.xmrvizzy.skyblocker.config.categories.MessageFilterCategory;
-import me.xmrvizzy.skyblocker.config.categories.QuickNavigationCategory;
-import me.xmrvizzy.skyblocker.config.categories.SlayersCategory;
-import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler;
+import de.hysky.skyblocker.config.categories.DiscordRPCCategory;
+import de.hysky.skyblocker.config.categories.DungeonsCategory;
+import de.hysky.skyblocker.config.categories.DwarvenMinesCategory;
+import de.hysky.skyblocker.config.categories.GeneralCategory;
+import de.hysky.skyblocker.config.categories.LocationsCategory;
+import de.hysky.skyblocker.config.categories.MessageFilterCategory;
+import de.hysky.skyblocker.config.categories.QuickNavigationCategory;
+import de.hysky.skyblocker.config.categories.SlayersCategory;
+import de.hysky.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/DiscordRPCCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/DiscordRPCCategory.java
index 1e35bc32..fcdc3d8d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/DiscordRPCCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/DiscordRPCCategory.java
@@ -1,11 +1,11 @@
-package me.xmrvizzy.skyblocker.config.categories;
+package de.hysky.skyblocker.config.categories;
+import de.hysky.skyblocker.config.ConfigUtils;
+import de.hysky.skyblocker.config.SkyblockerConfig;
import dev.isxander.yacl3.api.ConfigCategory;
import dev.isxander.yacl3.api.Option;
import dev.isxander.yacl3.api.OptionDescription;
import dev.isxander.yacl3.api.controller.StringControllerBuilder;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.config.ConfigUtils;
import net.minecraft.text.Text;
public class DiscordRPCCategory {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/DungeonsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java
index 16439cb5..ffd979eb 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/DungeonsCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java
@@ -1,5 +1,7 @@
-package me.xmrvizzy.skyblocker.config.categories;
+package de.hysky.skyblocker.config.categories;
+import de.hysky.skyblocker.config.ConfigUtils;
+import de.hysky.skyblocker.config.SkyblockerConfig;
import dev.isxander.yacl3.api.ButtonOption;
import dev.isxander.yacl3.api.ConfigCategory;
import dev.isxander.yacl3.api.Option;
@@ -9,12 +11,11 @@ import dev.isxander.yacl3.api.OptionGroup;
import dev.isxander.yacl3.api.controller.FloatFieldControllerBuilder;
import dev.isxander.yacl3.api.controller.IntegerFieldControllerBuilder;
import dev.isxander.yacl3.api.controller.StringControllerBuilder;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig.FormattingOption;
-import me.xmrvizzy.skyblocker.config.ConfigUtils;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.DungeonMapConfigScreen;
+import de.hysky.skyblocker.config.controllers.EnumDropdownControllerBuilder;
+import de.hysky.skyblocker.skyblock.dungeon.DungeonMapConfigScreen;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
+import net.minecraft.util.Formatting;
public class DungeonsCategory {
@@ -150,34 +151,34 @@ public class DungeonsCategory {
newValue -> config.locations.dungeons.dungeonChestProfit.neutralThreshold = newValue)
.controller(IntegerFieldControllerBuilder::create)
.build())
- .option(Option.<FormattingOption>createBuilder()
+ .option(Option.<Formatting>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.neutralColor"))
.binding(defaults.locations.dungeons.dungeonChestProfit.neutralColor,
() -> config.locations.dungeons.dungeonChestProfit.neutralColor,
newValue -> config.locations.dungeons.dungeonChestProfit.neutralColor = newValue)
- .controller(ConfigUtils::createEnumDropdownController)
+ .controller(EnumDropdownControllerBuilder.getFactory(ConfigUtils.FORMATTING_TO_STRING))
.build())
- .option(Option.<FormattingOption>createBuilder()
+ .option(Option.<Formatting>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.profitColor"))
.binding(defaults.locations.dungeons.dungeonChestProfit.profitColor,
() -> config.locations.dungeons.dungeonChestProfit.profitColor,
newValue -> config.locations.dungeons.dungeonChestProfit.profitColor = newValue)
- .controller(ConfigUtils::createEnumDropdownController)
+ .controller(EnumDropdownControllerBuilder.getFactory(ConfigUtils.FORMATTING_TO_STRING))
.build())
- .option(Option.<FormattingOption>createBuilder()
+ .option(Option.<Formatting>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.lossColor"))
.binding(defaults.locations.dungeons.dungeonChestProfit.lossColor,
() -> config.locations.dungeons.dungeonChestProfit.lossColor,
newValue -> config.locations.dungeons.dungeonChestProfit.lossColor = newValue)
- .controller(ConfigUtils::createEnumDropdownController)
+ .controller(EnumDropdownControllerBuilder.getFactory(ConfigUtils.FORMATTING_TO_STRING))
.build())
- .option(Option.<FormattingOption>createBuilder()
+ .option(Option.<Formatting>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.incompleteColor"))
.description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.incompleteColor.@Tooltip")))
.binding(defaults.locations.dungeons.dungeonChestProfit.incompleteColor,
() -> config.locations.dungeons.dungeonChestProfit.incompleteColor,
newValue -> config.locations.dungeons.dungeonChestProfit.incompleteColor = newValue)
- .controller(ConfigUtils::createEnumDropdownController)
+ .controller(EnumDropdownControllerBuilder.getFactory(ConfigUtils.FORMATTING_TO_STRING))
.build())
.build())
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/DwarvenMinesCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/DwarvenMinesCategory.java
index 8330ba2a..35c91d64 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/DwarvenMinesCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/DwarvenMinesCategory.java
@@ -1,14 +1,14 @@
-package me.xmrvizzy.skyblocker.config.categories;
+package de.hysky.skyblocker.config.categories;
+import de.hysky.skyblocker.config.ConfigUtils;
+import de.hysky.skyblocker.config.SkyblockerConfig;
import dev.isxander.yacl3.api.ButtonOption;
import dev.isxander.yacl3.api.ConfigCategory;
import dev.isxander.yacl3.api.Option;
import dev.isxander.yacl3.api.OptionDescription;
import dev.isxander.yacl3.api.OptionGroup;
import dev.isxander.yacl3.api.controller.IntegerFieldControllerBuilder;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.config.ConfigUtils;
-import me.xmrvizzy.skyblocker.skyblock.dwarven.DwarvenHudConfigScreen;
+import de.hysky.skyblocker.skyblock.dwarven.DwarvenHudConfigScreen;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/GeneralCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
index c5e2d34c..6a393868 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/GeneralCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
@@ -1,26 +1,23 @@
-package me.xmrvizzy.skyblocker.config.categories;
+package de.hysky.skyblocker.config.categories;
-import dev.isxander.yacl3.api.ButtonOption;
-import dev.isxander.yacl3.api.ConfigCategory;
-import dev.isxander.yacl3.api.Option;
-import dev.isxander.yacl3.api.OptionDescription;
-import dev.isxander.yacl3.api.OptionGroup;
+import de.hysky.skyblocker.config.ConfigUtils;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import dev.isxander.yacl3.api.*;
import dev.isxander.yacl3.api.controller.FloatFieldControllerBuilder;
+import dev.isxander.yacl3.api.controller.FloatSliderControllerBuilder;
import dev.isxander.yacl3.api.controller.IntegerFieldControllerBuilder;
import dev.isxander.yacl3.api.controller.IntegerSliderControllerBuilder;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.config.ConfigUtils;
-import me.xmrvizzy.skyblocker.skyblock.shortcut.ShortcutsConfigScreen;
-import me.xmrvizzy.skyblocker.utils.render.title.TitleContainerConfigScreen;
+import de.hysky.skyblocker.skyblock.shortcut.ShortcutsConfigScreen;
+import de.hysky.skyblocker.utils.render.title.TitleContainerConfigScreen;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
public class GeneralCategory {
- public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
+ public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) {
return ConfigCategory.createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.category.general"))
-
+
//Ungrouped Options
.option(Option.<Boolean>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.acceptReparty"))
@@ -57,7 +54,7 @@ public class GeneralCategory {
newValue -> config.general.hideStatusEffectOverlay = newValue)
.controller(ConfigUtils::createBooleanController)
.build())
-
+
//Tab Hud
.group(OptionGroup.createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.tabHud"))
@@ -94,7 +91,7 @@ public class GeneralCategory {
.controller(ConfigUtils::createEnumCyclingListController)
.build())
.build())
-
+
//Fancy Bars
.group(OptionGroup.createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.bars"))
@@ -135,7 +132,7 @@ public class GeneralCategory {
.controller(ConfigUtils::createEnumCyclingListController)
.build())
.build())
-
+
//Experiments Solver
.group(OptionGroup.createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.experiments"))
@@ -162,7 +159,7 @@ public class GeneralCategory {
.controller(ConfigUtils::createBooleanController)
.build())
.build())
-
+
//Fishing Helper
.group(OptionGroup.createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.fishing"))
@@ -175,7 +172,7 @@ public class GeneralCategory {
.controller(ConfigUtils::createBooleanController)
.build())
.build())
-
+
//Fairy Souls Helper
.group(OptionGroup.createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.fairySouls"))
@@ -203,7 +200,20 @@ public class GeneralCategory {
.controller(ConfigUtils::createBooleanController)
.build())
.build())
-
+
+ //Item Cooldown
+ .group(OptionGroup.createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemCooldown"))
+ .collapsed(true)
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemCooldown.enableItemCooldowns"))
+ .binding(defaults.general.itemCooldown.enableItemCooldowns,
+ () -> config.general.itemCooldown.enableItemCooldowns,
+ newValue -> config.general.itemCooldown.enableItemCooldowns = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .build())
+
//Shortcuts
.group(OptionGroup.createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.shortcuts"))
@@ -238,7 +248,7 @@ public class GeneralCategory {
.action((screen, opt) -> MinecraftClient.getInstance().setScreen(new ShortcutsConfigScreen(screen)))
.build())
.build())
-
+
//Quiver Warning
.group(OptionGroup.createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.quiverWarning"))
@@ -265,7 +275,7 @@ public class GeneralCategory {
.controller(ConfigUtils::createBooleanController)
.build())
.build())
-
+
//Item List
.group(OptionGroup.createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.itemList"))
@@ -278,7 +288,7 @@ public class GeneralCategory {
.controller(ConfigUtils::createBooleanController)
.build())
.build())
-
+
//Item Tooltip
.group(OptionGroup.createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip"))
@@ -335,7 +345,7 @@ public class GeneralCategory {
.controller(ConfigUtils::createBooleanController)
.build())
.build())
-
+
//Item Info Display
.group(OptionGroup.createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.itemInfoDisplay"))
@@ -348,8 +358,23 @@ public class GeneralCategory {
newValue -> config.general.itemInfoDisplay.attributeShardInfo = newValue)
.controller(ConfigUtils::createBooleanController)
.build())
+ .option(Option.<Boolean>createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemInfoDisplay.itemRarityBackgrounds"))
+ .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.itemInfoDisplay.itemRarityBackgrounds.@Tooltip")))
+ .binding(defaults.general.itemInfoDisplay.itemRarityBackgrounds,
+ () -> config.general.itemInfoDisplay.itemRarityBackgrounds,
+ newValue -> config.general.itemInfoDisplay.itemRarityBackgrounds = newValue)
+ .controller(ConfigUtils::createBooleanController)
+ .build())
+ .option(Option.<Float>createBuilder()
+ .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemInfoDisplay.itemRarityBackgroundsOpacity"))
+ .binding(defaults.general.itemInfoDisplay.itemRarityBackgroundsOpacity,
+ () -> config.general.itemInfoDisplay.itemRarityBackgroundsOpacity,
+ newValue -> config.general.itemInfoDisplay.itemRarityBackgroundsOpacity = newValue)
+ .controller(opt -> FloatSliderControllerBuilder.create(opt).range(0f, 1f).step(0.05f).formatValue(ConfigUtils.FLOAT_TWO_FORMATTER))
+ .build())
.build())
-
+
//Special Effects
.group(OptionGroup.createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.specialEffects"))
@@ -363,7 +388,7 @@ public class GeneralCategory {
.controller(ConfigUtils::createBooleanController)
.build())
.build())
-
+
//Hitboxes
.group(OptionGroup.createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.hitbox"))
@@ -383,7 +408,7 @@ public class GeneralCategory {
.controller(ConfigUtils::createBooleanController)
.build())
.build())
-
+
//Title Container
.group(OptionGroup.createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.titleContainer"))
@@ -430,7 +455,7 @@ public class GeneralCategory {
.action((screen, opt) -> MinecraftClient.getInstance().setScreen(new TitleContainerConfigScreen(screen)))
.build())
.build())
-
+
//Teleport Overlays
.group(OptionGroup.createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.teleportOverlay"))
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/LocationsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/LocationsCategory.java
index 099c917c..399bb9f6 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/LocationsCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/LocationsCategory.java
@@ -1,12 +1,12 @@
-package me.xmrvizzy.skyblocker.config.categories;
+package de.hysky.skyblocker.config.categories;
+import de.hysky.skyblocker.config.ConfigUtils;
+import de.hysky.skyblocker.config.SkyblockerConfig;
import dev.isxander.yacl3.api.ConfigCategory;
import dev.isxander.yacl3.api.Option;
import dev.isxander.yacl3.api.OptionDescription;
import dev.isxander.yacl3.api.OptionGroup;
import dev.isxander.yacl3.api.controller.IntegerSliderControllerBuilder;
-import me.xmrvizzy.skyblocker.config.ConfigUtils;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.minecraft.text.Text;
public class LocationsCategory {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/MessageFilterCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/MessageFilterCategory.java
index 268dc9b9..ba76a903 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/MessageFilterCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/MessageFilterCategory.java
@@ -1,11 +1,11 @@
-package me.xmrvizzy.skyblocker.config.categories;
+package de.hysky.skyblocker.config.categories;
+import de.hysky.skyblocker.config.ConfigUtils;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
import dev.isxander.yacl3.api.ConfigCategory;
import dev.isxander.yacl3.api.Option;
import dev.isxander.yacl3.api.OptionDescription;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.config.ConfigUtils;
import net.minecraft.text.Text;
public class MessageFilterCategory {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/QuickNavigationCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/QuickNavigationCategory.java
index 3189a1f3..b17fed23 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/QuickNavigationCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/QuickNavigationCategory.java
@@ -1,12 +1,12 @@
-package me.xmrvizzy.skyblocker.config.categories;
+package de.hysky.skyblocker.config.categories;
+import de.hysky.skyblocker.config.ConfigUtils;
+import de.hysky.skyblocker.config.SkyblockerConfig;
import dev.isxander.yacl3.api.ConfigCategory;
import dev.isxander.yacl3.api.Option;
import dev.isxander.yacl3.api.OptionGroup;
import dev.isxander.yacl3.api.controller.IntegerFieldControllerBuilder;
import dev.isxander.yacl3.api.controller.StringControllerBuilder;
-import me.xmrvizzy.skyblocker.config.ConfigUtils;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.minecraft.text.Text;
public class QuickNavigationCategory {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/SlayersCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java
index febca720..2d8b1332 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/SlayersCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java
@@ -1,5 +1,7 @@
-package me.xmrvizzy.skyblocker.config.categories;
+package de.hysky.skyblocker.config.categories;
+import de.hysky.skyblocker.config.ConfigUtils;
+import de.hysky.skyblocker.config.SkyblockerConfig;
import dev.isxander.yacl3.api.ConfigCategory;
import dev.isxander.yacl3.api.Option;
import dev.isxander.yacl3.api.OptionDescription;
@@ -7,8 +9,6 @@ import dev.isxander.yacl3.api.OptionGroup;
import dev.isxander.yacl3.api.controller.FloatFieldControllerBuilder;
import dev.isxander.yacl3.api.controller.IntegerFieldControllerBuilder;
import dev.isxander.yacl3.api.controller.IntegerSliderControllerBuilder;
-import me.xmrvizzy.skyblocker.config.ConfigUtils;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.minecraft.text.Text;
public class SlayersCategory {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownController.java b/src/main/java/de/hysky/skyblocker/config/controllers/EnumDropdownController.java
index cf40c7d5..0b9a809d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownController.java
+++ b/src/main/java/de/hysky/skyblocker/config/controllers/EnumDropdownController.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.config.controllers;
+package de.hysky.skyblocker.config.controllers;
import dev.isxander.yacl3.api.Option;
import dev.isxander.yacl3.api.utils.Dimension;
@@ -8,16 +8,23 @@ import dev.isxander.yacl3.gui.controllers.dropdown.AbstractDropdownController;
import org.jetbrains.annotations.NotNull;
import java.util.Arrays;
+import java.util.function.Function;
import java.util.stream.Stream;
public class EnumDropdownController<E extends Enum<E>> extends AbstractDropdownController<E> {
- protected EnumDropdownController(Option<E> option) {
+ /**
+ * The function used to convert enum constants to strings used for display, suggestion, and validation. Defaults to {@link Enum#toString}.
+ */
+ protected final Function<E, String> toString;
+
+ protected EnumDropdownController(Option<E> option, Function<E, String> toString) {
super(option);
+ this.toString = toString;
}
@Override
public String getString() {
- return option().pendingValue().toString();
+ return toString.apply(option().pendingValue());
}
@Override
@@ -26,15 +33,15 @@ public class EnumDropdownController<E extends Enum<E>> extends AbstractDropdownC
}
/**
- * Searches through enum constants for one whose {@link Enum#toString()} result equals {@code value}
+ * Searches through enum constants for one whose {@link #toString} result equals {@code value}
*
* @return The enum constant associated with the {@code value} or the pending value if none are found
- * @implNote The return value of {@link Enum#toString()} on each enum constant should be unique in order to ensure accuracy
+ * @implNote The return value of {@link #toString} on each enum constant should be unique in order to ensure accuracy
*/
private E getEnumFromString(String value) {
value = value.toLowerCase();
for (E constant : option().pendingValue().getDeclaringClass().getEnumConstants()) {
- if (constant.toString().toLowerCase().equals(value)) return constant;
+ if (toString.apply(constant).toLowerCase().equals(value)) return constant;
}
return option().pendingValue();
@@ -44,7 +51,7 @@ public class EnumDropdownController<E extends Enum<E>> extends AbstractDropdownC
public boolean isValueValid(String value) {
value = value.toLowerCase();
for (E constant : option().pendingValue().getDeclaringClass().getEnumConstants()) {
- if (constant.toString().equals(value)) return true;
+ if (toString.apply(constant).equals(value)) return true;
}
return false;
@@ -59,16 +66,16 @@ public class EnumDropdownController<E extends Enum<E>> extends AbstractDropdownC
}
/**
- * Filters and sorts through enum constants for those whose {@link Enum#toString()} result equals {@code value}
+ * Filters and sorts through enum constants for those whose {@link #toString} result equals {@code value}
*
* @return a sorted stream containing enum constants associated with the {@code value}
- * @implNote The return value of {@link Enum#toString()} on each enum constant should be unique in order to ensure accuracy
+ * @implNote The return value of {@link #toString} on each enum constant should be unique in order to ensure accuracy
*/
@NotNull
protected Stream<String> getValidEnumConstants(String value) {
String valueLowerCase = value.toLowerCase();
return Arrays.stream(option().pendingValue().getDeclaringClass().getEnumConstants())
- .map(Enum::toString)
+ .map(this.toString)
.filter(constant -> constant.toLowerCase().contains(valueLowerCase))
.sorted((s1, s2) -> {
String s1LowerCase = s1.toLowerCase();
diff --git a/src/main/java/de/hysky/skyblocker/config/controllers/EnumDropdownControllerBuilder.java b/src/main/java/de/hysky/skyblocker/config/controllers/EnumDropdownControllerBuilder.java
new file mode 100644
index 00000000..d451a88c
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/config/controllers/EnumDropdownControllerBuilder.java
@@ -0,0 +1,27 @@
+package de.hysky.skyblocker.config.controllers;
+
+import dev.isxander.yacl3.api.Option;
+import dev.isxander.yacl3.api.controller.ControllerBuilder;
+
+import java.util.function.Function;
+
+public interface EnumDropdownControllerBuilder<E extends Enum<E>> extends ControllerBuilder<E> {
+ EnumDropdownControllerBuilder<E> toString(Function<E, String> toString);
+
+ static <E extends Enum<E>> EnumDropdownControllerBuilder<E> create(Option<E> option) {
+ return new EnumDropdownControllerBuilderImpl<>(option);
+ }
+
+ /**
+ * Creates a factory for {@link EnumDropdownControllerBuilder}s with the given function for converting enum constants to strings.
+ * Use this if a custom toString function for an enum is needed.
+ * Use it like this:
+ * <pre>{@code Option.<MyEnum>createBuilder().controller(createEnumDropdownControllerBuilder.getFactory(MY_CUSTOM_ENUM_TO_STRING_FUNCTION))}</pre>
+ * @param toString The function used to convert enum constants to strings used for display, suggestion, and validation
+ * @return a factory for {@link EnumDropdownControllerBuilder}s
+ * @param <E> the enum type
+ */
+ static <E extends Enum<E>> Function<Option<E>, ControllerBuilder<E>> getFactory(Function<E, String> toString) {
+ return opt -> EnumDropdownControllerBuilder.create(opt).toString(toString);
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownControllerBuilderImpl.java b/src/main/java/de/hysky/skyblocker/config/controllers/EnumDropdownControllerBuilderImpl.java
index ea30d1da..8f6dbb2a 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownControllerBuilderImpl.java
+++ b/src/main/java/de/hysky/skyblocker/config/controllers/EnumDropdownControllerBuilderImpl.java
@@ -1,17 +1,27 @@
-package me.xmrvizzy.skyblocker.config.controllers;
+package de.hysky.skyblocker.config.controllers;
import dev.isxander.yacl3.api.Controller;
import dev.isxander.yacl3.api.Option;
import dev.isxander.yacl3.impl.controller.AbstractControllerBuilderImpl;
+import java.util.function.Function;
+
public class EnumDropdownControllerBuilderImpl<E extends Enum<E>> extends AbstractControllerBuilderImpl<E> implements EnumDropdownControllerBuilder<E> {
+ private Function<E, String> toString = Enum::toString;
+
public EnumDropdownControllerBuilderImpl(Option<E> option) {
super(option);
}
+ @Override
+ public EnumDropdownControllerBuilder<E> toString(Function<E, String> toString) {
+ this.toString = toString;
+ return this;
+ }
+
@SuppressWarnings("UnstableApiUsage")
@Override
public Controller<E> build() {
- return new EnumDropdownController<>(option);
+ return new EnumDropdownController<>(option, toString);
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownControllerElement.java b/src/main/java/de/hysky/skyblocker/config/controllers/EnumDropdownControllerElement.java
index 6c5a0097..2a8de609 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownControllerElement.java
+++ b/src/main/java/de/hysky/skyblocker/config/controllers/EnumDropdownControllerElement.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.config.controllers;
+package de.hysky.skyblocker.config.controllers;
import dev.isxander.yacl3.api.utils.Dimension;
import dev.isxander.yacl3.gui.YACLScreen;
diff --git a/src/main/java/de/hysky/skyblocker/events/ClientPlayerBlockBreakEvent.java b/src/main/java/de/hysky/skyblocker/events/ClientPlayerBlockBreakEvent.java
new file mode 100644
index 00000000..83ac716f
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/events/ClientPlayerBlockBreakEvent.java
@@ -0,0 +1,23 @@
+package de.hysky.skyblocker.events;
+
+import net.fabricmc.fabric.api.event.Event;
+import net.fabricmc.fabric.api.event.EventFactory;
+import net.minecraft.block.BlockState;
+import net.minecraft.entity.player.PlayerEntity;
+import net.minecraft.util.math.BlockPos;
+import net.minecraft.world.World;
+
+// Fabric API currently doesn't have an event for this
+public class ClientPlayerBlockBreakEvent {
+ public static final Event<AfterBlockBreak> AFTER = EventFactory.createArrayBacked(AfterBlockBreak.class,
+ (listeners) -> (world, player, pos, state) -> {
+ for (AfterBlockBreak listener : listeners) {
+ listener.afterBlockBreak(world, player, pos, state);
+ }
+ });
+
+ @FunctionalInterface
+ public interface AfterBlockBreak {
+ void afterBlockBreak(World world, PlayerEntity player, BlockPos pos, BlockState state);
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/SkyblockEvents.java b/src/main/java/de/hysky/skyblocker/events/SkyblockEvents.java
index 2dd83ffa..303e454f 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/SkyblockEvents.java
+++ b/src/main/java/de/hysky/skyblocker/events/SkyblockEvents.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.utils;
+package de.hysky.skyblocker.events;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/AbstractInventoryScreenMixin.java b/src/main/java/de/hysky/skyblocker/mixin/AbstractInventoryScreenMixin.java
index df71396e..d0d4b9f7 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/AbstractInventoryScreenMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/AbstractInventoryScreenMixin.java
@@ -1,12 +1,12 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
import net.minecraft.client.gui.screen.ingame.AbstractInventoryScreen;
@Mixin(AbstractInventoryScreen.class)
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ArmorTrimMixin.java b/src/main/java/de/hysky/skyblocker/mixin/ArmorTrimMixin.java
index 1076332f..02d75409 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ArmorTrimMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/ArmorTrimMixin.java
@@ -1,11 +1,11 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import com.llamalad7.mixinextras.sugar.Local;
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.skyblock.item.CustomArmorTrims;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.skyblock.item.CustomArmorTrims;
+import de.hysky.skyblocker.utils.Utils;
import net.minecraft.item.ItemStack;
import net.minecraft.item.trim.ArmorTrim;
import net.minecraft.nbt.NbtCompound;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/BatEntityMixin.java b/src/main/java/de/hysky/skyblocker/mixin/BatEntityMixin.java
index 3eb13073..dc2fa673 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/BatEntityMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/BatEntityMixin.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.secrets.DungeonSecrets;
+import de.hysky.skyblocker.skyblock.dungeon.secrets.DungeonSecrets;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.mob.AmbientEntity;
import net.minecraft.entity.passive.BatEntity;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayNetworkHandlerMixin.java b/src/main/java/de/hysky/skyblocker/mixin/ClientPlayNetworkHandlerMixin.java
index 7efefafd..fff534b2 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayNetworkHandlerMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/ClientPlayNetworkHandlerMixin.java
@@ -1,11 +1,11 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
import com.llamalad7.mixinextras.injector.WrapWithCondition;
import com.llamalad7.mixinextras.sugar.Local;
+import de.hysky.skyblocker.skyblock.dungeon.secrets.DungeonSecrets;
import dev.cbyrne.betterinject.annotations.Inject;
-import me.xmrvizzy.skyblocker.skyblock.FishingHelper;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.secrets.DungeonSecrets;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.skyblock.FishingHelper;
+import de.hysky.skyblocker.utils.Utils;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.entity.ItemEntity;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java b/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java
index 8b2ec417..37ae92e8 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerEntityMixin.java
@@ -1,12 +1,12 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
import com.mojang.authlib.GameProfile;
import dev.cbyrne.betterinject.annotations.Inject;
-import me.xmrvizzy.skyblocker.skyblock.HotbarSlotLock;
-import me.xmrvizzy.skyblocker.skyblock.item.ItemProtection;
-import me.xmrvizzy.skyblocker.skyblock.rift.HealingMelonIndicator;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.skyblock.HotbarSlotLock;
+import de.hysky.skyblocker.skyblock.item.ItemProtection;
+import de.hysky.skyblocker.skyblock.rift.HealingMelonIndicator;
+import de.hysky.skyblocker.utils.Utils;
import net.minecraft.client.network.AbstractClientPlayerEntity;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.world.ClientWorld;
diff --git a/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerInteractionManagerMixin.java b/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerInteractionManagerMixin.java
new file mode 100644
index 00000000..fab9a1ea
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/mixin/ClientPlayerInteractionManagerMixin.java
@@ -0,0 +1,27 @@
+package de.hysky.skyblocker.mixin;
+
+import de.hysky.skyblocker.events.ClientPlayerBlockBreakEvent;
+import net.minecraft.block.BlockState;
+import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.network.ClientPlayerInteractionManager;
+import net.minecraft.util.math.BlockPos;
+import net.minecraft.world.World;
+import org.spongepowered.asm.mixin.Final;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.Shadow;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
+import org.spongepowered.asm.mixin.injection.callback.LocalCapture;
+
+@Mixin(ClientPlayerInteractionManager.class)
+public class ClientPlayerInteractionManagerMixin {
+ @Shadow
+ @Final
+ private MinecraftClient client;
+
+ @Inject(method = "breakBlock", at = @At(value = "INVOKE", target = "Lnet/minecraft/block/Block;onBroken(Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)V"), locals = LocalCapture.CAPTURE_FAILHARD)
+ private void skyblocker$onBlockBroken(BlockPos pos, CallbackInfoReturnable<Boolean> cir, World world, BlockState blockState) {
+ ClientPlayerBlockBreakEvent.AFTER.invoker().afterBlockBreak(world, this.client.player, pos, blockState);
+ }
+}
diff --git a/src/main/java/de/hysky/skyblocker/mixin/DrawContextMixin.java b/src/main/java/de/hysky/skyblocker/mixin/DrawContextMixin.java
new file mode 100644
index 00000000..41b8e985
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/mixin/DrawContextMixin.java
@@ -0,0 +1,72 @@
+package de.hysky.skyblocker.mixin;
+
+import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
+import com.llamalad7.mixinextras.sugar.Local;
+import com.llamalad7.mixinextras.sugar.ref.LocalRef;
+import dev.cbyrne.betterinject.annotations.Arg;
+import dev.cbyrne.betterinject.annotations.Inject;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.skyblock.item.AttributeShards;
+import de.hysky.skyblocker.skyblock.item.ItemCooldowns;
+import de.hysky.skyblocker.utils.Utils;
+import net.minecraft.client.font.TextRenderer;
+import net.minecraft.client.gui.DrawContext;
+import net.minecraft.client.util.math.MatrixStack;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NbtCompound;
+import net.minecraft.util.Formatting;
+import org.jetbrains.annotations.Nullable;
+import org.spongepowered.asm.mixin.Final;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.Shadow;
+import org.spongepowered.asm.mixin.injection.At;
+
+@Mixin(DrawContext.class)
+public abstract class DrawContextMixin {
+ @Shadow
+ @Final
+ private MatrixStack matrices;
+
+ @Shadow
+ public abstract int drawText(TextRenderer textRenderer, @Nullable String text, int x, int y, int color, boolean shadow);
+
+ @Inject(method = "drawItemInSlot(Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/item/ItemStack;IILjava/lang/String;)V", at = @At("HEAD"))
+ private void skyblocker$renderAttributeShardDisplay(@Arg TextRenderer textRenderer, @Arg ItemStack stack, @Arg(ordinal = 0) int x, @Arg(ordinal = 1) int y, @Local(argsOnly = true) LocalRef<String> countOverride) {
+ if (!SkyblockerConfigManager.get().general.itemInfoDisplay.attributeShardInfo) return;
+
+ NbtCompound nbt = stack.getNbt();
+
+ if (Utils.isOnSkyblock() && nbt != null && nbt.contains("ExtraAttributes")) {
+ NbtCompound extraAttributes = nbt.getCompound("ExtraAttributes");
+
+ if (extraAttributes.getString("id").equals("ATTRIBUTE_SHARD")) {
+ NbtCompound attributesTag = extraAttributes.getCompound("attributes");
+ String[] attributes = attributesTag.getKeys().toArray(String[]::new);
+
+ if (attributes.length != 0) {
+ String attributeId = attributes[0];
+ int attributeLevel = attributesTag.getInt(attributeId);
+
+ //Set item count
+ countOverride.set(Integer.toString(attributeLevel));
+
+ //Draw the attribute name
+ this.matrices.push();
+ this.matrices.translate(0f, 0f, 200f);
+
+ String attributeInitials = AttributeShards.getShortName(attributeId);
+
+ this.drawText(textRenderer, attributeInitials, x, y, Formatting.AQUA.getColorValue(), true);
+
+ this.matrices.pop();
+ }
+ }
+ }
+ }
+
+ @ModifyExpressionValue(method = "drawItemInSlot(Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/item/ItemStack;IILjava/lang/String;)V",
+ at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/player/ItemCooldownManager;getCooldownProgress(Lnet/minecraft/item/Item;F)F"))
+ private float skyblocker$modifyItemCooldown(float cooldownProgress, @Local ItemStack stack) {
+ return Utils.isOnSkyblock() && ItemCooldowns.isOnCooldown(stack) ? ItemCooldowns.getItemCooldownEntry(stack).getRemainingCooldownPercent() : cooldownProgress;
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/DyeableItemMixin.java b/src/main/java/de/hysky/skyblocker/mixin/DyeableItemMixin.java
index bbe31472..51ab3852 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/DyeableItemMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/DyeableItemMixin.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
import net.minecraft.item.DyeableItem;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NbtCompound;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/FarmlandBlockMixin.java b/src/main/java/de/hysky/skyblocker/mixin/FarmlandBlockMixin.java
index 94053381..dfa886c4 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/FarmlandBlockMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/FarmlandBlockMixin.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.FarmlandBlock;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/GenericContainerScreenHandlerMixin.java b/src/main/java/de/hysky/skyblocker/mixin/GenericContainerScreenHandlerMixin.java
index be8d454d..9929c5d4 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/GenericContainerScreenHandlerMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/GenericContainerScreenHandlerMixin.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
-import me.xmrvizzy.skyblocker.SkyblockerMod;
+import de.hysky.skyblocker.SkyblockerMod;
import net.minecraft.item.ItemStack;
import net.minecraft.screen.GenericContainerScreenHandler;
import net.minecraft.screen.ScreenHandler;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java b/src/main/java/de/hysky/skyblocker/mixin/HandledScreenMixin.java
index 9ba2107b..689974c8 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/HandledScreenMixin.java
@@ -1,18 +1,19 @@
-package me.xmrvizzy.skyblocker.mixin;
-
-import me.xmrvizzy.skyblocker.SkyblockerMod;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.skyblock.experiment.ChronomatronSolver;
-import me.xmrvizzy.skyblocker.skyblock.experiment.ExperimentSolver;
-import me.xmrvizzy.skyblocker.skyblock.experiment.SuperpairsSolver;
-import me.xmrvizzy.skyblocker.skyblock.experiment.UltrasequencerSolver;
-import me.xmrvizzy.skyblocker.skyblock.item.BackpackPreview;
-import me.xmrvizzy.skyblocker.skyblock.item.CompactorDeletorPreview;
-import me.xmrvizzy.skyblocker.skyblock.item.ItemProtection;
-import me.xmrvizzy.skyblocker.skyblock.item.WikiLookup;
-import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemRegistry;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.render.gui.ContainerSolver;
+package de.hysky.skyblocker.mixin;
+
+import de.hysky.skyblocker.SkyblockerMod;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.skyblock.experiment.ChronomatronSolver;
+import de.hysky.skyblocker.skyblock.experiment.ExperimentSolver;
+import de.hysky.skyblocker.skyblock.experiment.SuperpairsSolver;
+import de.hysky.skyblocker.skyblock.experiment.UltrasequencerSolver;
+import de.hysky.skyblocker.skyblock.item.BackpackPreview;
+import de.hysky.skyblocker.skyblock.item.CompactorDeletorPreview;
+import de.hysky.skyblocker.skyblock.item.ItemProtection;
+import de.hysky.skyblocker.skyblock.item.ItemRarityBackgrounds;
+import de.hysky.skyblocker.skyblock.item.WikiLookup;
+import de.hysky.skyblocker.skyblock.itemlist.ItemRegistry;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.render.gui.ContainerSolver;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
@@ -184,4 +185,9 @@ public abstract class HandledScreenMixin<T extends ScreenHandler> extends Screen
private static boolean skyblocker$doesLoreContain(ItemStack stack, MinecraftClient client, String searchString) {
return stack.getTooltip(client.player, TooltipContext.BASIC).stream().map(Text::getString).anyMatch(line -> line.contains(searchString));
}
+
+ @Inject(method = "drawSlot", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/DrawContext;drawItem(Lnet/minecraft/item/ItemStack;III)V"))
+ private void skyblocker$drawItemRarityBackground(DrawContext context, Slot slot, CallbackInfo ci) {
+ if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.itemInfoDisplay.itemRarityBackgrounds) ItemRarityBackgrounds.tryDraw(slot.getStack(), context, slot.x, slot.y);
+ }
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java b/src/main/java/de/hysky/skyblocker/mixin/InGameHudMixin.java
index c73ca2aa..1b6d62d4 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/InGameHudMixin.java
@@ -1,17 +1,24 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
+import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import com.llamalad7.mixinextras.sugar.Local;
-import me.xmrvizzy.skyblocker.SkyblockerMod;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.skyblock.FancyStatusBars;
-import me.xmrvizzy.skyblocker.skyblock.HotbarSlotLock;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.DungeonMap;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.SkyblockerMod;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.skyblock.FancyStatusBars;
+import de.hysky.skyblocker.skyblock.HotbarSlotLock;
+import de.hysky.skyblocker.skyblock.item.ItemCooldowns;
+import de.hysky.skyblocker.skyblock.dungeon.DungeonMap;
+import de.hysky.skyblocker.skyblock.item.ItemRarityBackgrounds;
+import de.hysky.skyblocker.utils.Utils;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
+import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.hud.InGameHud;
+import net.minecraft.entity.player.PlayerEntity;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.Identifier;
+import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
@@ -32,10 +39,15 @@ public abstract class InGameHudMixin {
@Shadow
private int scaledWidth;
+ @Shadow
+ @Final
+ private MinecraftClient client;
+
@Inject(method = "renderHotbar", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/InGameHud;renderHotbarItem(Lnet/minecraft/client/gui/DrawContext;IIFLnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/item/ItemStack;I)V", ordinal = 0))
- public void skyblocker$renderHotbarItemLock(float tickDelta, DrawContext context, CallbackInfo ci, @Local(ordinal = 4, name = "m") int index, @Local(ordinal = 5, name = "n") int x, @Local(ordinal = 6, name = "o") int y) {
- if (Utils.isOnSkyblock() && HotbarSlotLock.isLocked(index)) {
- context.drawTexture(SLOT_LOCK, x, y, 0, 0, 16, 16);
+ public void skyblocker$renderHotbarItemLockOrRarityBg(float tickDelta, DrawContext context, CallbackInfo ci, @Local(ordinal = 4, name = "m") int index, @Local(ordinal = 5, name = "n") int x, @Local(ordinal = 6, name = "o") int y, @Local PlayerEntity player) {
+ if (Utils.isOnSkyblock()) {
+ if (SkyblockerConfigManager.get().general.itemInfoDisplay.itemRarityBackgrounds) ItemRarityBackgrounds.tryDraw(player.getInventory().main.get(index), context, x, y);
+ if (HotbarSlotLock.isLocked(index)) context.drawTexture(SLOT_LOCK, x, y, 0, 0, 16, 16);
}
}
@@ -61,9 +73,21 @@ public abstract class InGameHudMixin {
if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.bars.enableBars && !Utils.isInTheRift())
ci.cancel();
}
-
+
@Inject(method = "renderStatusEffectOverlay", at = @At("HEAD"), cancellable = true)
private void skyblocker$dontRenderStatusEffects(CallbackInfo ci) {
if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.hideStatusEffectOverlay) ci.cancel();
}
-} \ No newline at end of file
+
+ @ModifyExpressionValue(method = "renderCrosshair", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/network/ClientPlayerEntity;getAttackCooldownProgress(F)F"))
+ private float skyblocker$modifyAttackIndicatorCooldown(float cooldownProgress) {
+ if (Utils.isOnSkyblock() && client.player != null) {
+ ItemStack stack = client.player.getMainHandStack();
+ if (ItemCooldowns.isOnCooldown(stack)) {
+ return ItemCooldowns.getItemCooldownEntry(stack).getRemainingCooldownPercent();
+ }
+ }
+
+ return cooldownProgress;
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java b/src/main/java/de/hysky/skyblocker/mixin/InventoryScreenMixin.java
index 596fa1f9..8e6b9230 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/InventoryScreenMixin.java
@@ -1,9 +1,9 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemListWidget;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.skyblock.itemlist.ItemListWidget;
+import de.hysky.skyblocker.utils.Utils;
import net.minecraft.client.gui.screen.ingame.InventoryScreen;
import net.minecraft.client.gui.screen.recipebook.RecipeBookWidget;
import org.spongepowered.asm.mixin.Mixin;
diff --git a/src/main/java/de/hysky/skyblocker/mixin/ItemMixin.java b/src/main/java/de/hysky/skyblocker/mixin/ItemMixin.java
new file mode 100644
index 00000000..98bea52b
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/mixin/ItemMixin.java
@@ -0,0 +1,22 @@
+package de.hysky.skyblocker.mixin;
+
+import org.objectweb.asm.Opcodes;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+
+import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
+import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
+
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
+@Mixin(Item.class)
+public abstract class ItemMixin {
+ @WrapOperation(
+ method = {"getItemBarColor", "getItemBarStep"},
+ at = @At(value = "FIELD", target = "Lnet/minecraft/item/Item;maxDamage:I", opcode = Opcodes.GETFIELD)
+ )
+ private int skyblocker$handlePickoDrillBar(Item item, Operation<Integer> original, ItemStack stack) {
+ return stack.getMaxDamage();
+ }
+}
diff --git a/src/main/java/de/hysky/skyblocker/mixin/ItemStackMixin.java b/src/main/java/de/hysky/skyblocker/mixin/ItemStackMixin.java
new file mode 100644
index 00000000..76073a2c
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/mixin/ItemStackMixin.java
@@ -0,0 +1,63 @@
+package de.hysky.skyblocker.mixin;
+
+
+import org.jetbrains.annotations.Nullable;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.Shadow;
+import org.spongepowered.asm.mixin.injection.At;
+
+import com.llamalad7.mixinextras.injector.ModifyReturnValue;
+
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.ItemUtils;
+import de.hysky.skyblocker.utils.ItemUtils.Durability;
+import de.hysky.skyblocker.utils.Utils;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NbtCompound;
+import net.minecraft.text.Text;
+
+@Mixin(ItemStack.class)
+public abstract class ItemStackMixin {
+ @Shadow
+ @Nullable
+ private NbtCompound nbt;
+
+ @ModifyReturnValue(method = "getName", at = @At("RETURN"))
+ private Text skyblocker$customItemNames(Text original) {
+ if (Utils.isOnSkyblock() && nbt != null && nbt.contains("ExtraAttributes")) {
+ NbtCompound extraAttributes = nbt.getCompound("ExtraAttributes");
+ String itemUuid = extraAttributes.contains("uuid") ? extraAttributes.getString("uuid") : null;
+
+ return SkyblockerConfigManager.get().general.customItemNames.getOrDefault(itemUuid, original);
+ }
+
+ return original;
+ }
+
+ @ModifyReturnValue(method = "getDamage", at = @At("RETURN"))
+ private int skyblocker$handleDamage(int original) {
+ Durability dur = ItemUtils.getDurability((ItemStack) (Object) this);
+ if (dur != null) {
+ return dur.max() - dur.current();
+ }
+ return original;
+ }
+
+ @ModifyReturnValue(method = "getMaxDamage", at = @At("RETURN"))
+ private int skyblocker$handleMaxDamage(int original) {
+ Durability dur = ItemUtils.getDurability((ItemStack) (Object) this);
+ if (dur != null) {
+ return dur.max();
+ }
+ return original;
+ }
+
+ @ModifyReturnValue(method = "isDamageable", at = @At("RETURN"))
+ private boolean skyblocker$handleDamageable(boolean original) {
+ Durability dur = ItemUtils.getDurability((ItemStack) (Object) this);
+ if (dur != null) {
+ return true;
+ }
+ return original;
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/LeverBlockMixin.java b/src/main/java/de/hysky/skyblocker/mixin/LeverBlockMixin.java
index d65b93a2..97c0a7c0 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/LeverBlockMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/LeverBlockMixin.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.OldLever;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.skyblock.dungeon.OldLever;
+import de.hysky.skyblocker.utils.Utils;
import net.minecraft.block.BlockState;
import net.minecraft.block.LeverBlock;
import net.minecraft.block.WallMountedBlock;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/MinecraftClientMixin.java b/src/main/java/de/hysky/skyblocker/mixin/MinecraftClientMixin.java
index 85f179e4..066490d5 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/MinecraftClientMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/MinecraftClientMixin.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
-import me.xmrvizzy.skyblocker.skyblock.HotbarSlotLock;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.skyblock.HotbarSlotLock;
+import de.hysky.skyblocker.utils.Utils;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
import org.jetbrains.annotations.Nullable;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java b/src/main/java/de/hysky/skyblocker/mixin/PlayerListHudMixin.java
index 903e8ee0..7330b1c1 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/PlayerListHudMixin.java
@@ -1,10 +1,10 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.TabHud;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.ScreenMaster;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.ScreenMaster;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.skyblock.tabhud.TabHud;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.utils.Utils;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerSkinProviderMixin.java b/src/main/java/de/hysky/skyblocker/mixin/PlayerSkinProviderMixin.java
index 4ca9a642..978835d2 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerSkinProviderMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/PlayerSkinProviderMixin.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
@@ -8,7 +8,7 @@ import com.llamalad7.mixinextras.sugar.Local;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.minecraft.MinecraftSessionService;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.Utils;
import net.minecraft.client.texture.PlayerSkinProvider.Textures;
@Mixin(targets = "net.minecraft.client.texture.PlayerSkinProvider$1")
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ScoreboardMixin.java b/src/main/java/de/hysky/skyblocker/mixin/ScoreboardMixin.java
index 90edde6f..2cfb658a 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ScoreboardMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/ScoreboardMixin.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
import com.llamalad7.mixinextras.injector.WrapWithCondition;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.Utils;
import net.minecraft.scoreboard.Scoreboard;
import org.slf4j.Logger;
import org.spongepowered.asm.mixin.Mixin;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/SocialInteractionsPlayerListWidgetMixin.java b/src/main/java/de/hysky/skyblocker/mixin/SocialInteractionsPlayerListWidgetMixin.java
index 854c4e17..3a60bfbb 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/SocialInteractionsPlayerListWidgetMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/SocialInteractionsPlayerListWidgetMixin.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
import java.util.Map;
@@ -8,7 +8,7 @@ import org.spongepowered.asm.mixin.injection.At;
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.Utils;
import net.minecraft.client.gui.screen.multiplayer.SocialInteractionsPlayerListEntry;
import net.minecraft.client.gui.screen.multiplayer.SocialInteractionsPlayerListWidget;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/WorldRendererMixin.java b/src/main/java/de/hysky/skyblocker/mixin/WorldRendererMixin.java
index 8cf94c69..e723c998 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/WorldRendererMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/WorldRendererMixin.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
@@ -9,8 +9,8 @@ import com.llamalad7.mixinextras.sugar.Local;
import com.llamalad7.mixinextras.sugar.Share;
import com.llamalad7.mixinextras.sugar.ref.LocalBooleanRef;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.StarredMobGlow;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.skyblock.dungeon.StarredMobGlow;
import net.minecraft.client.render.WorldRenderer;
import net.minecraft.entity.Entity;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/YggdrasilMinecraftSessionServiceMixin.java b/src/main/java/de/hysky/skyblocker/mixin/YggdrasilMinecraftSessionServiceMixin.java
index f0a0c768..8da87be0 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/YggdrasilMinecraftSessionServiceMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/YggdrasilMinecraftSessionServiceMixin.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
import org.slf4j.Logger;
import org.spongepowered.asm.mixin.Mixin;
@@ -8,7 +8,7 @@ import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
import com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.Utils;
@Mixin(value = YggdrasilMinecraftSessionService.class, remap = false)
public class YggdrasilMinecraftSessionServiceMixin {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/YggdrasilServicesKeyInfoMixin.java b/src/main/java/de/hysky/skyblocker/mixin/YggdrasilServicesKeyInfoMixin.java
index 9abca5ad..d38e40cc 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/YggdrasilServicesKeyInfoMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/YggdrasilServicesKeyInfoMixin.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.mixin;
+package de.hysky.skyblocker.mixin;
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
@@ -6,7 +6,7 @@ import com.mojang.authlib.yggdrasil.YggdrasilServicesKeyInfo;
import it.unimi.dsi.fastutil.ints.IntArrayList;
import it.unimi.dsi.fastutil.ints.IntList;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.Utils;
import org.slf4j.Logger;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/BeaconBlockEntityRendererInvoker.java b/src/main/java/de/hysky/skyblocker/mixin/accessor/BeaconBlockEntityRendererInvoker.java
index ff7c7cbc..0b607fce 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/BeaconBlockEntityRendererInvoker.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/accessor/BeaconBlockEntityRendererInvoker.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.mixin.accessor;
+package de.hysky.skyblocker.mixin.accessor;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.block.entity.BeaconBlockEntityRenderer;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/DrawContextInvoker.java b/src/main/java/de/hysky/skyblocker/mixin/accessor/DrawContextInvoker.java
index f1e5b684..8dcccf34 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/DrawContextInvoker.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/accessor/DrawContextInvoker.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.mixin.accessor;
+package de.hysky.skyblocker.mixin.accessor;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawContext;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/FrustumInvoker.java b/src/main/java/de/hysky/skyblocker/mixin/accessor/FrustumInvoker.java
index 9dacbe34..dd4f5ef1 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/FrustumInvoker.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/accessor/FrustumInvoker.java
@@ -1,11 +1,11 @@
-package me.xmrvizzy.skyblocker.mixin.accessor;
+package de.hysky.skyblocker.mixin.accessor;
import net.minecraft.client.render.Frustum;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Invoker;
/**
- * Use {@link me.xmrvizzy.skyblocker.utils.render.FrustumUtils#isVisible(double, double, double, double, double, double) FrustumUtils#isVisible} which is shorter. For the purpose of avoiding object allocations!
+ * Use {@link de.hysky.skyblocker.utils.render.FrustumUtils#isVisible(double, double, double, double, double, double) FrustumUtils#isVisible} which is shorter. For the purpose of avoiding object allocations!
*/
@Mixin(Frustum.class)
public interface FrustumInvoker {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/HandledScreenAccessor.java b/src/main/java/de/hysky/skyblocker/mixin/accessor/HandledScreenAccessor.java
index e6e0ebb7..d82422cb 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/HandledScreenAccessor.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/accessor/HandledScreenAccessor.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.mixin.accessor;
+package de.hysky.skyblocker.mixin.accessor;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import org.spongepowered.asm.mixin.Mixin;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/PlayerListHudAccessor.java b/src/main/java/de/hysky/skyblocker/mixin/accessor/PlayerListHudAccessor.java
index 7e335d73..d82c568f 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/PlayerListHudAccessor.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/accessor/PlayerListHudAccessor.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.mixin.accessor;
+package de.hysky.skyblocker.mixin.accessor;
import net.minecraft.client.gui.hud.PlayerListHud;
import net.minecraft.client.network.PlayerListEntry;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/RecipeBookWidgetAccessor.java b/src/main/java/de/hysky/skyblocker/mixin/accessor/RecipeBookWidgetAccessor.java
index 0f20d4e4..aecdf9b7 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/RecipeBookWidgetAccessor.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/accessor/RecipeBookWidgetAccessor.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.mixin.accessor;
+package de.hysky.skyblocker.mixin.accessor;
import net.minecraft.client.gui.screen.recipebook.RecipeBookWidget;
import net.minecraft.client.gui.widget.TextFieldWidget;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/ScreenAccessor.java b/src/main/java/de/hysky/skyblocker/mixin/accessor/ScreenAccessor.java
index 6a671601..c0196e5f 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/ScreenAccessor.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/accessor/ScreenAccessor.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.mixin.accessor;
+package de.hysky.skyblocker.mixin.accessor;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/WorldRendererAccessor.java b/src/main/java/de/hysky/skyblocker/mixin/accessor/WorldRendererAccessor.java
index 831a3385..f1b3158d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/WorldRendererAccessor.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/accessor/WorldRendererAccessor.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.mixin.accessor;
+package de.hysky.skyblocker.mixin.accessor;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java b/src/main/java/de/hysky/skyblocker/skyblock/FairySouls.java
index 46454fb3..24465e06 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/FairySouls.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock;
+package de.hysky.skyblocker.skyblock;
import com.google.common.collect.ImmutableSet;
import com.google.gson.JsonArray;
@@ -6,13 +6,13 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.mojang.brigadier.CommandDispatcher;
-import me.xmrvizzy.skyblocker.SkyblockerMod;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.NEURepo;
-import me.xmrvizzy.skyblocker.utils.PosUtils;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.render.RenderHelper;
+import de.hysky.skyblocker.SkyblockerMod;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.NEURepo;
+import de.hysky.skyblocker.utils.PosUtils;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.render.RenderHelper;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java b/src/main/java/de/hysky/skyblocker/skyblock/FancyStatusBars.java
index a7428056..4cd356a8 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/FancyStatusBars.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock;
+package de.hysky.skyblocker.skyblock;
-import me.xmrvizzy.skyblocker.SkyblockerMod;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.SkyblockerMod;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawContext;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FishingHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java
index dca3f30b..6edb416e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FishingHelper.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock;
+package de.hysky.skyblocker.skyblock;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.render.RenderHelper;
-import me.xmrvizzy.skyblocker.utils.render.title.Title;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.render.RenderHelper;
+import de.hysky.skyblocker.utils.render.title.Title;
import net.fabricmc.fabric.api.event.player.UseItemCallback;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/HotbarSlotLock.java b/src/main/java/de/hysky/skyblocker/skyblock/HotbarSlotLock.java
index 30dd1270..13f09ec6 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/HotbarSlotLock.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/HotbarSlotLock.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock;
+package de.hysky.skyblocker.skyblock;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.option.KeyBinding;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/QuiverWarning.java b/src/main/java/de/hysky/skyblocker/skyblock/QuiverWarning.java
index 2d0715e4..a6c45d21 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/QuiverWarning.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/QuiverWarning.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock;
+package de.hysky.skyblocker.skyblock;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.hud.InGameHud;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/StatusBarTracker.java b/src/main/java/de/hysky/skyblocker/skyblock/StatusBarTracker.java
index ae5aff0b..c3483102 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/StatusBarTracker.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/StatusBarTracker.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock;
+package de.hysky.skyblocker.skyblock;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/TeleportOverlay.java b/src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java
index 1aeeb6d3..e878d108 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/TeleportOverlay.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java
@@ -1,10 +1,10 @@
-package me.xmrvizzy.skyblocker.skyblock;
+package de.hysky.skyblocker.skyblock;
import com.mojang.blaze3d.systems.RenderSystem;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.skyblock.item.PriceInfoTooltip;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.render.RenderHelper;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.skyblock.item.PriceInfoTooltip;
+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;
import net.minecraft.block.BlockState;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java b/src/main/java/de/hysky/skyblocker/skyblock/barn/HungryHiker.java
index 91862622..abb4a76d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/barn/HungryHiker.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.barn;
+package de.hysky.skyblocker.skyblock.barn;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
+import de.hysky.skyblocker.utils.chat.ChatPatternListener;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/TreasureHunter.java b/src/main/java/de/hysky/skyblocker/skyblock/barn/TreasureHunter.java
index 385dc20b..191014d5 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/TreasureHunter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/barn/TreasureHunter.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.barn;
+package de.hysky.skyblocker.skyblock.barn;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
+import de.hysky.skyblocker.utils.chat.ChatPatternListener;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/CreeperBeams.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CreeperBeams.java
index 9ed5d1ae..7c668948 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/CreeperBeams.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CreeperBeams.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon;
+package de.hysky.skyblocker.skyblock.dungeon;
import java.util.ArrayList;
import java.util.List;
@@ -8,9 +8,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import it.unimi.dsi.fastutil.objects.ObjectDoublePair;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.render.RenderHelper;
-import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.render.RenderHelper;
+import de.hysky.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents;
import net.minecraft.block.Block;
@@ -20,7 +20,6 @@ import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.entity.mob.CreeperEntity;
import net.minecraft.predicate.entity.EntityPredicates;
-import net.minecraft.text.Text;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Box;
import net.minecraft.util.math.Vec3d;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/CroesusHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusHelper.java
index 67e6d7f4..e95b47c9 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/CroesusHelper.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusHelper.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon;
+package de.hysky.skyblocker.skyblock.dungeon;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.render.gui.ColorHighlight;
-import me.xmrvizzy.skyblocker.utils.render.gui.ContainerSolver;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.render.gui.ColorHighlight;
+import de.hysky.skyblocker.utils.render.gui.ContainerSolver;
import net.minecraft.item.ItemStack;
import java.util.ArrayList;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonBlaze.java
index f39684eb..9f247668 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonBlaze.java
@@ -1,10 +1,10 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon;
+package de.hysky.skyblocker.skyblock.dungeon;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.render.RenderHelper;
+import de.hysky.skyblocker.utils.scheduler.Scheduler;
import it.unimi.dsi.fastutil.objects.ObjectIntPair;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.render.RenderHelper;
-import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents;
import net.minecraft.client.MinecraftClient;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonChestProfit.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonChestProfit.java
index 91be5248..4e6a5240 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonChestProfit.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonChestProfit.java
@@ -1,12 +1,12 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon;
+package de.hysky.skyblocker.skyblock.dungeon;
import com.google.gson.JsonObject;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.mixin.accessor.ScreenAccessor;
+import de.hysky.skyblocker.skyblock.item.PriceInfoTooltip;
+import de.hysky.skyblocker.utils.Utils;
import it.unimi.dsi.fastutil.ints.IntBooleanPair;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.mixin.accessor.ScreenAccessor;
-import me.xmrvizzy.skyblocker.skyblock.item.PriceInfoTooltip;
-import me.xmrvizzy.skyblocker.utils.Utils;
import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.ingame.GenericContainerScreen;
@@ -160,7 +160,7 @@ public class DungeonChestProfit {
private static Text getProfitText(int profit, boolean hasIncompleteData) {
SkyblockerConfig.DungeonChestProfit config = SkyblockerConfigManager.get().locations.dungeons.dungeonChestProfit;
- return getProfitText(profit, hasIncompleteData, config.neutralThreshold, config.neutralColor.formatting, config.profitColor.formatting, config.lossColor.formatting, config.incompleteColor.formatting);
+ return getProfitText(profit, hasIncompleteData, config.neutralThreshold, config.neutralColor, config.profitColor, config.lossColor, config.incompleteColor);
}
static Text getProfitText(int profit, boolean hasIncompleteData, int neutralThreshold, Formatting neutralColor, Formatting profitColor, Formatting lossColor, Formatting incompleteColor) {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java
index 53cc4fac..e1af85ea 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon;
+package de.hysky.skyblocker.skyblock.dungeon;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.minecraft.client.MinecraftClient;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
index 94b05e86..145ee2bc 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon;
+package de.hysky.skyblocker.skyblock.dungeon;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.render.RenderHelper;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.render.RenderHelper;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/LividColor.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/LividColor.java
index 2df8192d..762a6e17 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/LividColor.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/LividColor.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon;
+package de.hysky.skyblocker.skyblock.dungeon;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.scheduler.MessageScheduler;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.scheduler.MessageScheduler;
import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents;
import net.minecraft.client.MinecraftClient;
import net.minecraft.util.math.BlockPos;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/OldLever.java
index b9fba7be..b9b76c59 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/OldLever.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon;
+package de.hysky.skyblocker.skyblock.dungeon;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
import net.minecraft.block.Block;
import net.minecraft.block.enums.BlockFace;
import net.minecraft.util.math.Direction;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/Reparty.java
index 288a8b5a..6165ac6a 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/Reparty.java
@@ -1,11 +1,11 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon;
+package de.hysky.skyblocker.skyblock.dungeon;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener;
-import me.xmrvizzy.skyblocker.utils.scheduler.MessageScheduler;
-import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
+import de.hysky.skyblocker.utils.chat.ChatPatternListener;
+import de.hysky.skyblocker.utils.scheduler.MessageScheduler;
+import de.hysky.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.minecraft.client.MinecraftClient;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/StarredMobGlow.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/StarredMobGlow.java
index f614662b..2072017d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/StarredMobGlow.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/StarredMobGlow.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon;
+package de.hysky.skyblocker.skyblock.dungeon;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.render.culling.OcclusionCulling;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.render.culling.OcclusionCulling;
import net.minecraft.entity.Entity;
import net.minecraft.entity.decoration.ArmorStandEntity;
import net.minecraft.entity.passive.BatEntity;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdos.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/ThreeWeirdos.java
index 05ed4d94..e1ab2fa8 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdos.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/ThreeWeirdos.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon;
+package de.hysky.skyblocker.skyblock.dungeon;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
+import de.hysky.skyblocker.utils.chat.ChatPatternListener;
import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.decoration.ArmorStandEntity;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/TicTacToe.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/TicTacToe.java
index 21493da7..2d56c8a0 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/TicTacToe.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/TicTacToe.java
@@ -1,9 +1,9 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon;
+package de.hysky.skyblocker.skyblock.dungeon;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.render.RenderHelper;
-import me.xmrvizzy.skyblocker.utils.tictactoe.TicTacToeUtils;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.render.RenderHelper;
+import de.hysky.skyblocker.utils.tictactoe.TicTacToeUtils;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents;
import net.minecraft.block.Block;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/Trivia.java
index b1e51aa6..262d4a4e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/Trivia.java
@@ -1,9 +1,9 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon;
+package de.hysky.skyblocker.skyblock.dungeon;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener;
-import me.xmrvizzy.skyblocker.skyblock.FairySouls;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.skyblock.FairySouls;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
+import de.hysky.skyblocker.utils.chat.ChatPatternListener;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonMapUtils.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonMapUtils.java
index 04cde662..259cc3f3 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonMapUtils.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonMapUtils.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon.secrets;
+package de.hysky.skyblocker.skyblock.dungeon.secrets;
import com.google.gson.JsonObject;
import it.unimi.dsi.fastutil.ints.IntSortedSet;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java
index 4e4e9565..c2358689 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon.secrets;
+package de.hysky.skyblocker.skyblock.dungeon.secrets;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
@@ -10,10 +10,10 @@ import com.mojang.brigadier.builder.RequiredArgumentBuilder;
import it.unimi.dsi.fastutil.objects.Object2ByteMap;
import it.unimi.dsi.fastutil.objects.Object2ByteOpenHashMap;
import it.unimi.dsi.fastutil.objects.ObjectIntPair;
-import me.xmrvizzy.skyblocker.SkyblockerMod;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler;
+import de.hysky.skyblocker.SkyblockerMod;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents;
@@ -61,7 +61,7 @@ public class DungeonSecrets {
/**
* Maps the block identifier string to a custom numeric block id used in dungeon rooms data.
*
- * @implNote Not using {@link net.minecraft.registry.Registry#getId(Object) Registry#getId(Block)} and {@link net.minecraft.block.Blocks Blocks} since this is also used by {@link me.xmrvizzy.skyblocker.skyblock.dungeon.secrets.DungeonRoomsDFU DungeonRoomsDFU}, which runs outside of Minecraft.
+ * @implNote Not using {@link net.minecraft.registry.Registry#getId(Object) Registry#getId(Block)} and {@link net.minecraft.block.Blocks Blocks} since this is also used by {@link de.hysky.skyblocker.skyblock.dungeon.secrets.DungeonRoomsDFU DungeonRoomsDFU}, which runs outside of Minecraft.
*/
@SuppressWarnings("JavadocReference")
protected static final Object2ByteMap<String> NUMERIC_ID = new Object2ByteOpenHashMap<>(Map.ofEntries(
@@ -88,7 +88,7 @@ public class DungeonSecrets {
Map.entry("minecraft:black_terracotta", (byte) 21)
));
/**
- * Block data for dungeon rooms. See {@link me.xmrvizzy.skyblocker.skyblock.dungeon.secrets.DungeonRoomsDFU DungeonRoomsDFU} for format details and how it's generated.
+ * Block data for dungeon rooms. See {@link de.hysky.skyblocker.skyblock.dungeon.secrets.DungeonRoomsDFU DungeonRoomsDFU} for format details and how it's generated.
* All access to this map must check {@link #isRoomsLoaded()} to prevent concurrent modification.
*/
@SuppressWarnings("JavadocReference")
@@ -430,7 +430,7 @@ public class DungeonSecrets {
}
/**
- * Checks if the player is in a dungeon and {@link me.xmrvizzy.skyblocker.config.SkyblockerConfigManager.Dungeons#secretWaypoints Secret Waypoints} is enabled.
+ * Checks if the player is in a dungeon and {@link de.hysky.skyblocker.config.SkyblockerConfig.Dungeons#secretWaypoints Secret Waypoints} is enabled.
*
* @return whether dungeon secrets should be processed
*/
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/Room.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/Room.java
index ae5afaa3..dd7dc91e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/Room.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/Room.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon.secrets;
+package de.hysky.skyblocker.skyblock.dungeon.secrets;
import com.google.common.collect.HashBasedTable;
import com.google.common.collect.ImmutableTable;
@@ -8,7 +8,7 @@ import com.google.gson.JsonObject;
import it.unimi.dsi.fastutil.ints.IntRBTreeSet;
import it.unimi.dsi.fastutil.ints.IntSortedSet;
import it.unimi.dsi.fastutil.ints.IntSortedSets;
-import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler;
+import de.hysky.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
import net.fabricmc.fabric.api.util.TriState;
import net.minecraft.block.BlockState;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/SecretWaypoint.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretWaypoint.java
index 73ac1883..d2a31ea3 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/SecretWaypoint.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretWaypoint.java
@@ -1,10 +1,10 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon.secrets;
+package de.hysky.skyblocker.skyblock.dungeon.secrets;
import com.google.gson.JsonObject;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.render.RenderHelper;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.render.RenderHelper;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.Entity;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java
index 787d696e..6e9eb02d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon.terminal;
+package de.hysky.skyblocker.skyblock.dungeon.terminal;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.render.gui.ColorHighlight;
-import me.xmrvizzy.skyblocker.utils.render.gui.ContainerSolver;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.render.gui.ColorHighlight;
+import de.hysky.skyblocker.utils.render.gui.ContainerSolver;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java
index afb07b4b..b2636373 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon.terminal;
+package de.hysky.skyblocker.skyblock.dungeon.terminal;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.render.gui.ColorHighlight;
-import me.xmrvizzy.skyblocker.utils.render.gui.ContainerSolver;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.render.gui.ColorHighlight;
+import de.hysky.skyblocker.utils.render.gui.ContainerSolver;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java
index fa9fa324..5f856af2 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon.terminal;
+package de.hysky.skyblocker.skyblock.dungeon.terminal;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.render.gui.ColorHighlight;
-import me.xmrvizzy.skyblocker.utils.render.gui.ContainerSolver;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.render.gui.ColorHighlight;
+import de.hysky.skyblocker.utils.render.gui.ContainerSolver;
import net.minecraft.item.ItemStack;
import java.util.ArrayList;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java
index 3d8292a5..b853d7cc 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java
@@ -1,9 +1,9 @@
-package me.xmrvizzy.skyblocker.skyblock.dwarven;
+package de.hysky.skyblocker.skyblock.dwarven;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.skyblock.tabhud.widget.hud.HudCommsWidget;
+import de.hysky.skyblocker.utils.scheduler.Scheduler;
import it.unimi.dsi.fastutil.ints.IntIntPair;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.hud.HudCommsWidget;
-import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
index 232817bb..2bb21568 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
@@ -1,10 +1,10 @@
-package me.xmrvizzy.skyblocker.skyblock.dwarven;
+package de.hysky.skyblocker.skyblock.dwarven;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.skyblock.dwarven.DwarvenHud.Commission;
+import de.hysky.skyblocker.skyblock.tabhud.widget.hud.HudCommsWidget;
+import de.hysky.skyblocker.utils.render.RenderHelper;
import it.unimi.dsi.fastutil.ints.IntIntPair;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.skyblock.dwarven.DwarvenHud.Commission;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.hud.HudCommsWidget;
-import me.xmrvizzy.skyblocker.utils.render.RenderHelper;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.text.Text;
@@ -14,7 +14,7 @@ import java.util.List;
public class DwarvenHudConfigScreen extends Screen {
- private static final List<Commission> CFG_COMMS = List.of(new DwarvenHud.Commission("Test Commission 1", "1%"), new DwarvenHud.Commission("Test Commission 2", "2%"));
+ private static final List<DwarvenHud.Commission> CFG_COMMS = List.of(new Commission("Test Commission 1", "1%"), new DwarvenHud.Commission("Test Commission 2", "2%"));
private int hudX = SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.x;
private int hudY = SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.y;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Fetchur.java
index d5c18545..9bfb77f7 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Fetchur.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.dwarven;
+package de.hysky.skyblocker.skyblock.dwarven;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
+import de.hysky.skyblocker.utils.chat.ChatPatternListener;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Puzzler.java
index 90a0e30f..fae845b5 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Puzzler.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.dwarven;
+package de.hysky.skyblocker.skyblock.dwarven;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
+import de.hysky.skyblocker.utils.chat.ChatPatternListener;
import net.minecraft.block.Blocks;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.world.ClientWorld;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java b/src/main/java/de/hysky/skyblocker/skyblock/experiment/ChronomatronSolver.java
index 02d612a6..19459b43 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/experiment/ChronomatronSolver.java
@@ -1,9 +1,9 @@
-package me.xmrvizzy.skyblocker.skyblock.experiment;
+package de.hysky.skyblocker.skyblock.experiment;
import com.google.common.collect.ImmutableMap;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.utils.render.gui.ColorHighlight;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.utils.render.gui.ColorHighlight;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.ingame.GenericContainerScreen;
import net.minecraft.inventory.Inventory;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ExperimentSolver.java b/src/main/java/de/hysky/skyblocker/skyblock/experiment/ExperimentSolver.java
index 9e25fa2a..6efcd420 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ExperimentSolver.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/experiment/ExperimentSolver.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.experiment;
+package de.hysky.skyblocker.skyblock.experiment;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.render.gui.ContainerSolver;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.render.gui.ContainerSolver;
import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.ingame.GenericContainerScreen;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java b/src/main/java/de/hysky/skyblocker/skyblock/experiment/SuperpairsSolver.java
index f329a395..c00249fe 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/experiment/SuperpairsSolver.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.experiment;
+package de.hysky.skyblocker.skyblock.experiment;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.utils.render.gui.ColorHighlight;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.utils.render.gui.ColorHighlight;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.ingame.GenericContainerScreen;
import net.minecraft.item.ItemStack;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java b/src/main/java/de/hysky/skyblocker/skyblock/experiment/UltrasequencerSolver.java
index d4d80ee6..1fcb976b 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/experiment/UltrasequencerSolver.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.experiment;
+package de.hysky.skyblocker.skyblock.experiment;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.utils.render.gui.ColorHighlight;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.utils.render.gui.ColorHighlight;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.ingame.GenericContainerScreen;
import net.minecraft.inventory.Inventory;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AbilityFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/filters/AbilityFilter.java
index addb1b05..17842891 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AbilityFilter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/filters/AbilityFilter.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
public class AbilityFilter extends SimpleChatFilter {
public AbilityFilter() {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AdFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/filters/AdFilter.java
index e0493389..5860b41e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AdFilter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/filters/AdFilter.java
@@ -1,9 +1,9 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Constants;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Constants;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
+import de.hysky.skyblocker.utils.chat.ChatPatternListener;
import net.minecraft.text.Text;
import java.util.regex.Matcher;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AoteFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/filters/AoteFilter.java
index 02e8867c..5d660037 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AoteFilter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/filters/AoteFilter.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
public class AoteFilter extends SimpleChatFilter {
public AoteFilter() {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AutopetFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/filters/AutopetFilter.java
index 65811a8a..f97e8177 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AutopetFilter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/filters/AutopetFilter.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
+import de.hysky.skyblocker.utils.chat.ChatPatternListener;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ComboFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/filters/ComboFilter.java
index d884bf37..5fd6f741 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ComboFilter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/filters/ComboFilter.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
public class ComboFilter extends SimpleChatFilter {
public ComboFilter() {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/HealFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/filters/HealFilter.java
index 938b1aaa..8b46efb5 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/HealFilter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/filters/HealFilter.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
public class HealFilter extends SimpleChatFilter {
public HealFilter() {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ImplosionFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/filters/ImplosionFilter.java
index 2cc89185..730f6d5d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ImplosionFilter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/filters/ImplosionFilter.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
public class ImplosionFilter extends SimpleChatFilter {
public ImplosionFilter() {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/MoltenWaveFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/filters/MoltenWaveFilter.java
index 9627dc13..aa3bb64d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/MoltenWaveFilter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/filters/MoltenWaveFilter.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
public class MoltenWaveFilter extends SimpleChatFilter {
public MoltenWaveFilter() {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ShowOffFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/filters/ShowOffFilter.java
index 418e0f27..a9c551fb 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ShowOffFilter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/filters/ShowOffFilter.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
-import me.xmrvizzy.skyblocker.utils.Constants;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Constants;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
public class ShowOffFilter extends SimpleChatFilter {
private static final String[] SHOW_TYPES = { "is holding", "is wearing", "is friends with a", "has" };
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/SimpleChatFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/filters/SimpleChatFilter.java
index 20017443..025b3dce 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/SimpleChatFilter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/filters/SimpleChatFilter.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener;
+import de.hysky.skyblocker.utils.chat.ChatPatternListener;
import net.minecraft.text.Text;
import java.util.regex.Matcher;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/TeleportPadFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/filters/TeleportPadFilter.java
index 2035facb..57fac590 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/TeleportPadFilter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/filters/TeleportPadFilter.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.chat.ChatFilterResult;
public class TeleportPadFilter extends SimpleChatFilter {
public TeleportPadFilter() {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/AttributeShards.java b/src/main/java/de/hysky/skyblocker/skyblock/item/AttributeShards.java
index 8f71e7b9..ed650e26 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/AttributeShards.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/AttributeShards.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.item;
+package de.hysky.skyblocker.skyblock.item;
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/BackpackPreview.java b/src/main/java/de/hysky/skyblocker/skyblock/item/BackpackPreview.java
index f8af5d33..122ffe9b 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/BackpackPreview.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/BackpackPreview.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.item;
+package de.hysky.skyblocker.skyblock.item;
import com.mojang.blaze3d.systems.RenderSystem;
-import me.xmrvizzy.skyblocker.SkyblockerMod;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.SkyblockerMod;
+import de.hysky.skyblocker.utils.Utils;
import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.client.MinecraftClient;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CompactorDeletorPreview.java b/src/main/java/de/hysky/skyblocker/skyblock/item/CompactorDeletorPreview.java
index 7b93fe1e..2a6551c7 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CompactorDeletorPreview.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/CompactorDeletorPreview.java
@@ -1,9 +1,9 @@
-package me.xmrvizzy.skyblocker.skyblock.item;
+package de.hysky.skyblocker.skyblock.item;
+import de.hysky.skyblocker.mixin.accessor.DrawContextInvoker;
import it.unimi.dsi.fastutil.ints.IntIntPair;
import it.unimi.dsi.fastutil.ints.IntObjectPair;
-import me.xmrvizzy.skyblocker.mixin.accessor.DrawContextInvoker;
-import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemRegistry;
+import de.hysky.skyblocker.skyblock.itemlist.ItemRegistry;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CompactorPreviewTooltipComponent.java b/src/main/java/de/hysky/skyblocker/skyblock/item/CompactorPreviewTooltipComponent.java
index 45e3c635..f3634548 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CompactorPreviewTooltipComponent.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/CompactorPreviewTooltipComponent.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.item;
+package de.hysky.skyblocker.skyblock.item;
+import de.hysky.skyblocker.SkyblockerMod;
import it.unimi.dsi.fastutil.ints.IntIntPair;
import it.unimi.dsi.fastutil.ints.IntObjectPair;
-import me.xmrvizzy.skyblocker.SkyblockerMod;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.tooltip.TooltipComponent;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomArmorDyeColors.java b/src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorDyeColors.java
index 88df1b40..76042a81 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomArmorDyeColors.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorDyeColors.java
@@ -1,11 +1,11 @@
-package me.xmrvizzy.skyblocker.skyblock.item;
+package de.hysky.skyblocker.skyblock.item;
import com.mojang.brigadier.Command;
import com.mojang.brigadier.CommandDispatcher;
import com.mojang.brigadier.arguments.StringArgumentType;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomArmorTrims.java b/src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorTrims.java
index dba066a5..b8fa0797 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomArmorTrims.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorTrims.java
@@ -1,15 +1,15 @@
-package me.xmrvizzy.skyblocker.skyblock.item;
+package de.hysky.skyblocker.skyblock.item;
import com.mojang.brigadier.Command;
import com.mojang.brigadier.CommandDispatcher;
import com.mojang.brigadier.suggestion.SuggestionProvider;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.events.SkyblockEvents;
+import de.hysky.skyblocker.utils.Utils;
import dev.isxander.yacl3.config.v2.api.SerialEntry;
import it.unimi.dsi.fastutil.Pair;
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.SkyblockEvents;
-import me.xmrvizzy.skyblocker.utils.Utils;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomItemNames.java b/src/main/java/de/hysky/skyblocker/skyblock/item/CustomItemNames.java
index 76312461..5fbff253 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomItemNames.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/CustomItemNames.java
@@ -1,10 +1,10 @@
-package me.xmrvizzy.skyblocker.skyblock.item;
+package de.hysky.skyblocker.skyblock.item;
import com.mojang.brigadier.Command;
import com.mojang.brigadier.CommandDispatcher;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/ItemCooldowns.java b/src/main/java/de/hysky/skyblocker/skyblock/item/ItemCooldowns.java
new file mode 100644
index 00000000..9c1fa6ad
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/ItemCooldowns.java
@@ -0,0 +1,115 @@
+package de.hysky.skyblocker.skyblock.item;
+
+import com.google.common.collect.ImmutableList;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.events.ClientPlayerBlockBreakEvent;
+import de.hysky.skyblocker.utils.ItemUtils;
+import net.fabricmc.fabric.api.event.player.UseItemCallback;
+import net.minecraft.block.BlockState;
+import net.minecraft.entity.player.PlayerEntity;
+import net.minecraft.item.ItemStack;
+import net.minecraft.registry.tag.BlockTags;
+import net.minecraft.util.Hand;
+import net.minecraft.util.TypedActionResult;
+import net.minecraft.util.math.BlockPos;
+import net.minecraft.world.World;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class ItemCooldowns {
+ private static final String JUNGLE_AXE_ID = "JUNGLE_AXE";
+ private static final String TREECAPITATOR_ID = "TREECAPITATOR_AXE";
+ private static final String GRAPPLING_HOOK_ID = "GRAPPLING_HOOK";
+ private static final ImmutableList<String> BAT_ARMOR_IDS = ImmutableList.of("BAT_PERSON_HELMET", "BAT_PERSON_CHESTPLATE", "BAT_PERSON_LEGGINGS", "BAT_PERSON_BOOTS");
+
+ private static final Map<String, CooldownEntry> ITEM_COOLDOWNS = new HashMap<>();
+
+ public static void init() {
+ ClientPlayerBlockBreakEvent.AFTER.register(ItemCooldowns::afterBlockBreak);
+ UseItemCallback.EVENT.register(ItemCooldowns::onItemInteract);
+ }
+
+ public static void afterBlockBreak(World world, PlayerEntity player, BlockPos pos, BlockState state) {
+ if (!SkyblockerConfigManager.get().general.itemCooldown.enableItemCooldowns) return;
+
+ String usedItemId = ItemUtils.getItemId(player.getMainHandStack());
+ if (usedItemId == null) return;
+
+ if (state.isIn(BlockTags.LOGS)) {
+ if (usedItemId.equals(JUNGLE_AXE_ID)) {
+ if (!isOnCooldown(JUNGLE_AXE_ID)) {
+ ITEM_COOLDOWNS.put(JUNGLE_AXE_ID, new CooldownEntry(2000));
+ }
+ } else if (usedItemId.equals(TREECAPITATOR_ID)) {
+ if (!isOnCooldown(TREECAPITATOR_ID)) {
+ ITEM_COOLDOWNS.put(TREECAPITATOR_ID, new CooldownEntry(2000));
+ }
+ }
+ }
+ }
+
+ private static TypedActionResult<ItemStack> onItemInteract(PlayerEntity player, World world, Hand hand) {
+ if (!SkyblockerConfigManager.get().general.itemCooldown.enableItemCooldowns) return TypedActionResult.pass(ItemStack.EMPTY);
+
+ String usedItemId = ItemUtils.getItemId(player.getMainHandStack());
+ if (usedItemId != null && usedItemId.equals(GRAPPLING_HOOK_ID) && player.fishHook != null) {
+ if (!isOnCooldown(GRAPPLING_HOOK_ID) && !isWearingBatArmor(player)) {
+ ITEM_COOLDOWNS.put(GRAPPLING_HOOK_ID, new CooldownEntry(2000));
+ }
+ }
+
+ return TypedActionResult.pass(ItemStack.EMPTY);
+ }
+
+ public static boolean isOnCooldown(ItemStack itemStack) {
+ return isOnCooldown(ItemUtils.getItemId(itemStack));
+ }
+
+ private static boolean isOnCooldown(String itemId) {
+ if (ITEM_COOLDOWNS.containsKey(itemId)) {
+ CooldownEntry cooldownEntry = ITEM_COOLDOWNS.get(itemId);
+ if (cooldownEntry.isOnCooldown()) {
+ return true;
+ } else {
+ ITEM_COOLDOWNS.remove(itemId);
+ return false;
+ }
+ }
+
+ return false;
+ }
+
+ public static CooldownEntry getItemCooldownEntry(ItemStack itemStack) {
+ return ITEM_COOLDOWNS.get(ItemUtils.getItemId(itemStack));
+ }
+
+ private static boolean isWearingBatArmor(PlayerEntity player) {
+ for (ItemStack stack : player.getArmorItems()) {
+ String itemId = ItemUtils.getItemId(stack);
+ if (!BAT_ARMOR_IDS.contains(itemId)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ public record CooldownEntry(int cooldown, long startTime) {
+ public CooldownEntry(int cooldown) {
+ this(cooldown, System.currentTimeMillis());
+ }
+
+ public boolean isOnCooldown() {
+ return (this.startTime + this.cooldown) > System.currentTimeMillis();
+ }
+
+ public long getRemainingCooldown() {
+ long time = (this.startTime + this.cooldown) - System.currentTimeMillis();
+ return Math.max(time, 0);
+ }
+
+ public float getRemainingCooldownPercent() {
+ return this.isOnCooldown() ? (float) this.getRemainingCooldown() / cooldown : 0.0f;
+ }
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/ItemProtection.java b/src/main/java/de/hysky/skyblocker/skyblock/item/ItemProtection.java
index db671787..d73e1545 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/ItemProtection.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/ItemProtection.java
@@ -1,11 +1,11 @@
-package me.xmrvizzy.skyblocker.skyblock.item;
+package de.hysky.skyblocker.skyblock.item;
import com.mojang.brigadier.Command;
import com.mojang.brigadier.CommandDispatcher;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/ItemRarityBackgrounds.java b/src/main/java/de/hysky/skyblocker/skyblock/item/ItemRarityBackgrounds.java
new file mode 100644
index 00000000..0af64bd9
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/ItemRarityBackgrounds.java
@@ -0,0 +1,109 @@
+package de.hysky.skyblocker.skyblock.item;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Supplier;
+
+import com.google.common.collect.ImmutableMap;
+import com.mojang.blaze3d.systems.RenderSystem;
+
+import de.hysky.skyblocker.SkyblockerMod;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.scheduler.Scheduler;
+import it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap;
+import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
+import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.gui.DrawContext;
+import net.minecraft.client.item.TooltipContext;
+import net.minecraft.client.network.ClientPlayerEntity;
+import net.minecraft.client.texture.Sprite;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NbtCompound;
+import net.minecraft.text.Text;
+import net.minecraft.util.Identifier;
+
+public class ItemRarityBackgrounds {
+ private static final Identifier RARITY_BG_TEX = new Identifier(SkyblockerMod.NAMESPACE, "item_rarity_background");
+ private static final Supplier<Sprite> SPRITE = () -> MinecraftClient.getInstance().getGuiAtlasManager().getSprite(RARITY_BG_TEX);
+ private static final ImmutableMap<String, SkyblockItemRarity> LORE_RARITIES = ImmutableMap.ofEntries(
+ Map.entry("ADMIN", SkyblockItemRarity.ADMIN),
+ Map.entry("SPECIAL", SkyblockItemRarity.SPECIAL), //Very special is the same color so this will cover it
+ Map.entry("DIVINE", SkyblockItemRarity.DIVINE),
+ Map.entry("MYTHIC", SkyblockItemRarity.MYTHIC),
+ Map.entry("LEGENDARY", SkyblockItemRarity.LEGENDARY),
+ Map.entry("LEGENJERRY", SkyblockItemRarity.LEGENDARY),
+ Map.entry("EPIC", SkyblockItemRarity.EPIC),
+ Map.entry("RARE", SkyblockItemRarity.RARE),
+ Map.entry("UNCOMMON", SkyblockItemRarity.UNCOMMON),
+ Map.entry("COMMON", SkyblockItemRarity.COMMON)
+ );
+ private static final Int2ReferenceOpenHashMap<SkyblockItemRarity> CACHE = new Int2ReferenceOpenHashMap<>();
+
+ public static void init() {
+ //Clear the cache every 5 minutes, ints are very compact!
+ Scheduler.INSTANCE.scheduleCyclic(CACHE::clear, 4800);
+
+ //Clear cache after a screen where items can be upgraded in rarity closes
+ ScreenEvents.BEFORE_INIT.register((client, screen, scaledWidth, scaledHeight) -> {
+ String title = screen.getTitle().getString();
+
+ if (Utils.isOnSkyblock() && (title.equals("The Hex") || title.equals("Craft Item") || title.equals("Anvil") || title.equals("Reforge Anvil"))) {
+ ScreenEvents.remove(screen).register(screen1 -> CACHE.clear());
+ }
+ });
+ }
+
+ public static void tryDraw(ItemStack stack, DrawContext context, int x, int y) {
+ MinecraftClient client = MinecraftClient.getInstance();
+
+ if (client.player != null) {
+ SkyblockItemRarity itemRarity = getItemRarity(stack, client.player);
+
+ if (itemRarity != null) draw(context, x, y, itemRarity);
+ }
+ }
+
+ private static SkyblockItemRarity getItemRarity(ItemStack stack, ClientPlayerEntity player) {
+ if (stack == null || stack.isEmpty()) return null;
+
+ int hashCode = 0;
+ NbtCompound nbt = stack.getNbt();
+
+ if (nbt != null && nbt.contains("ExtraAttributes")) {
+ NbtCompound extraAttributes = nbt.getCompound("ExtraAttributes");
+ String itemUuid = extraAttributes.getString("uuid");
+
+ //If the item has an uuid, then use the hash code of the uuid otherwise use the identity hash code of the stack
+ hashCode = itemUuid.isEmpty() ? System.identityHashCode(stack) : itemUuid.hashCode();
+ }
+
+ if (CACHE.containsKey(hashCode)) return CACHE.get(hashCode);
+
+ List<Text> tooltip = stack.getTooltip(player, TooltipContext.BASIC);
+ String[] stringifiedTooltip = tooltip.stream().map(Text::getString).toArray(String[]::new);
+
+ for (String rarityString : LORE_RARITIES.keySet()) {
+ if (Arrays.stream(stringifiedTooltip).anyMatch(line -> line.contains(rarityString))) {
+ SkyblockItemRarity rarity = LORE_RARITIES.get(rarityString);
+
+ CACHE.put(hashCode, rarity);
+ return rarity;
+ }
+ }
+
+ CACHE.put(hashCode, null);
+ return null;
+ }
+
+ private static void draw(DrawContext context, int x, int y, SkyblockItemRarity rarity) {
+ //Enable blending to handle HUD translucency
+ RenderSystem.enableBlend();
+ RenderSystem.defaultBlendFunc();
+
+ context.drawSprite(x, y, 0, 16, 16, SPRITE.get(), rarity.r, rarity.g, rarity.b, SkyblockerConfigManager.get().general.itemInfoDisplay.itemRarityBackgroundsOpacity);
+
+ RenderSystem.disableBlend();
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/PriceInfoTooltip.java
index 16a4c596..05767558 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/PriceInfoTooltip.java
@@ -1,13 +1,13 @@
-package me.xmrvizzy.skyblocker.skyblock.item;
+package de.hysky.skyblocker.skyblock.item;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Http;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Http;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.scheduler.Scheduler;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.item.TooltipContext;
import net.minecraft.item.ItemStack;
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/SkyblockItemRarity.java b/src/main/java/de/hysky/skyblocker/skyblock/item/SkyblockItemRarity.java
new file mode 100644
index 00000000..08cc5377
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/SkyblockItemRarity.java
@@ -0,0 +1,29 @@
+package de.hysky.skyblocker.skyblock.item;
+
+import net.minecraft.util.Formatting;
+
+public enum SkyblockItemRarity {
+ ADMIN(Formatting.DARK_RED),
+ VERY_SPECIAL(Formatting.RED),
+ SPECIAL(Formatting.RED),
+ DIVINE(Formatting.AQUA),
+ MYTHIC(Formatting.LIGHT_PURPLE),
+ LEGENDARY(Formatting.GOLD),
+ EPIC(Formatting.DARK_PURPLE),
+ RARE(Formatting.BLUE),
+ UNCOMMON(Formatting.GREEN),
+ COMMON(Formatting.WHITE);
+
+ public final float r;
+ public final float g;
+ public final float b;
+
+ SkyblockItemRarity(Formatting formatting) {
+ @SuppressWarnings("DataFlowIssue")
+ int rgb = formatting.getColorValue();
+
+ this.r = ((rgb >> 16) & 0xFF) / 255f;
+ this.g = ((rgb >> 8) & 0xFF) / 255f;
+ this.b = (rgb & 0xFF) / 255f;
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java b/src/main/java/de/hysky/skyblocker/skyblock/item/WikiLookup.java
index a6412cf7..3ab478d0 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/WikiLookup.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.item;
+package de.hysky.skyblocker.skyblock.item;
-import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemRegistry;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.skyblock.itemlist.ItemRegistry;
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.option.KeyBinding;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemFixerUpper.java b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/ItemFixerUpper.java
index cc7b216c..488c5f48 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemFixerUpper.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/ItemFixerUpper.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.itemlist;
+package de.hysky.skyblocker.skyblock.itemlist;
import java.util.Map;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/ItemListWidget.java
index 4fc24e6c..afdcaca8 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/ItemListWidget.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.itemlist;
+package de.hysky.skyblocker.skyblock.itemlist;
import com.mojang.blaze3d.systems.RenderSystem;
-import me.xmrvizzy.skyblocker.mixin.accessor.RecipeBookWidgetAccessor;
+import de.hysky.skyblocker.mixin.accessor.RecipeBookWidgetAccessor;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/ItemRegistry.java
index 5eb9e488..edfeccc0 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/ItemRegistry.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.itemlist;
+package de.hysky.skyblocker.skyblock.itemlist;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
-import me.xmrvizzy.skyblocker.utils.NEURepo;
+import de.hysky.skyblocker.utils.NEURepo;
import net.minecraft.client.MinecraftClient;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/ItemStackBuilder.java
index 8028099a..24146c64 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/ItemStackBuilder.java
@@ -1,10 +1,10 @@
-package me.xmrvizzy.skyblocker.skyblock.itemlist;
+package de.hysky.skyblocker.skyblock.itemlist;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
-import me.xmrvizzy.skyblocker.utils.NEURepo;
+import de.hysky.skyblocker.utils.NEURepo;
import net.minecraft.item.FireworkRocketItem;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.*;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/ResultButtonWidget.java
index 19f656e5..814611e5 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/ResultButtonWidget.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.itemlist;
+package de.hysky.skyblocker.skyblock.itemlist;
import java.util.List;
import java.util.ArrayList;
@@ -15,7 +15,7 @@ import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
public class ResultButtonWidget extends ClickableWidget {
- private static final Identifier BACKGROUND_TEXTURE = new Identifier("textures/gui/recipe_book.png");
+ private static final Identifier BACKGROUND_TEXTURE = new Identifier("recipe_book/slot_craftable");
protected ItemStack itemStack = null;
@@ -38,7 +38,7 @@ public class ResultButtonWidget extends ClickableWidget {
public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) {
MinecraftClient client = MinecraftClient.getInstance();
// this.drawTexture(matrices, this.x, this.y, 29, 206, this.width, this.height);
- context.drawTexture(BACKGROUND_TEXTURE, this.getX(), this.getY(), 29, 206, this.getWidth(), this.getHeight());
+ context.drawGuiTexture(BACKGROUND_TEXTURE, this.getX(), this.getY(), this.getWidth(), this.getHeight());
// client.getItemRenderer().renderInGui(this.itemStack, this.x + 4, this.y + 4);
context.drawItem(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/de/hysky/skyblocker/skyblock/itemlist/SearchResultsWidget.java
index 38060584..eedf695e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchResultsWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/SearchResultsWidget.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.itemlist;
+package de.hysky.skyblocker.skyblock.itemlist;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.MinecraftClient;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SkyblockCraftingRecipe.java b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/SkyblockCraftingRecipe.java
index 29aed7a1..b738dfef 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SkyblockCraftingRecipe.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/SkyblockCraftingRecipe.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.itemlist;
+package de.hysky.skyblocker.skyblock.itemlist;
import com.google.gson.JsonObject;
import net.minecraft.item.ItemStack;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java b/src/main/java/de/hysky/skyblocker/skyblock/quicknav/QuickNav.java
index aa933da4..51a3d409 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/quicknav/QuickNav.java
@@ -1,10 +1,10 @@
-package me.xmrvizzy.skyblocker.skyblock.quicknav;
+package de.hysky.skyblocker.skyblock.quicknav;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
import net.fabricmc.fabric.api.client.screen.v1.Screens;
import net.minecraft.client.MinecraftClient;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java b/src/main/java/de/hysky/skyblocker/skyblock/quicknav/QuickNavButton.java
index e41ea768..5e76427a 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/quicknav/QuickNavButton.java
@@ -1,9 +1,9 @@
-package me.xmrvizzy.skyblocker.skyblock.quicknav;
+package de.hysky.skyblocker.skyblock.quicknav;
import com.mojang.blaze3d.systems.RenderSystem;
-import me.xmrvizzy.skyblocker.mixin.accessor.HandledScreenAccessor;
-import me.xmrvizzy.skyblocker.utils.scheduler.MessageScheduler;
+import de.hysky.skyblocker.mixin.accessor.HandledScreenAccessor;
+import de.hysky.skyblocker.utils.scheduler.MessageScheduler;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/EffigyWaypoints.java
index 5548484e..4cc20ca5 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/EffigyWaypoints.java
@@ -1,16 +1,9 @@
-package me.xmrvizzy.skyblocker.skyblock.rift;
+package de.hysky.skyblocker.skyblock.rift;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.render.RenderHelper;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.render.RenderHelper;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.network.ClientPlayerEntity;
-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.text.Text;
import net.minecraft.text.TextColor;
import net.minecraft.util.DyeColor;
@@ -23,7 +16,7 @@ import java.util.List;
public class EffigyWaypoints {
private static final Logger LOGGER = LoggerFactory.getLogger(EffigyWaypoints.class);
- private static final List<BlockPos> effigies = List.of(
+ private static final List<BlockPos> EFFIGIES = List.of(
new BlockPos(150, 79, 95), //Effigy 1
new BlockPos(193, 93, 119), //Effigy 2
new BlockPos(235, 110, 147), //Effigy 3
@@ -31,29 +24,27 @@ public class EffigyWaypoints {
new BlockPos(262, 99, 94), //Effigy 5
new BlockPos(240, 129, 118) //Effigy 6
);
- private static final List<BlockPos> unBrokenEffigies = new ArrayList<>();
+ 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;
- unBrokenEffigies.clear();
+ UNBROKEN_EFFIGIES.clear();
+
try {
- ClientPlayerEntity player = MinecraftClient.getInstance().player;
- if (player == null) return;
- Scoreboard scoreboard = player.getScoreboard();
- ScoreboardObjective objective = scoreboard.getObjectiveForSlot(ScoreboardDisplaySlot.FROM_ID.apply(1));
- for (ScoreboardPlayerScore score : scoreboard.getAllPlayerScores(objective)) {
- Team team = scoreboard.getPlayerTeam(score.getPlayerName());
- if (team != null) {
- String line = team.getPrefix().getString() + team.getSuffix().getString();
- if (line.contains("Effigies")) {
- List<Text> newList = new ArrayList<>(team.getPrefix().getSiblings());
- newList.addAll(team.getSuffix().getSiblings());
- for (int i = 1; i < newList.size(); i++) {
- if (newList.get(i).getStyle().getColor() == TextColor.parse("gray")) {
- unBrokenEffigies.add(effigies.get(i - 1));
- }
- }
+ for (int i = 0; i < Utils.STRING_SCOREBOARD.size(); i++) {
+ String line = Utils.STRING_SCOREBOARD.get(i);
+
+ if (line.contains("Effigies")) {
+ List<Text> effigiesText = new ArrayList<>();
+ List<Text> prefixAndSuffix = Utils.TEXT_SCOREBOARD.get(i).getSiblings();
+
+ //Add contents of prefix and suffix to list
+ effigiesText.addAll(prefixAndSuffix.get(0).getSiblings());
+ effigiesText.addAll(prefixAndSuffix.get(1).getSiblings());
+
+ for (int i2 = 1; i2 < effigiesText.size(); i2++) {
+ if (effigiesText.get(i2).getStyle().getColor() == TextColor.parse("gray")) UNBROKEN_EFFIGIES.add(EFFIGIES.get(i2 - 1));
}
}
}
@@ -64,7 +55,7 @@ public class EffigyWaypoints {
protected static void render(WorldRenderContext context) {
if (SkyblockerConfigManager.get().slayer.vampireSlayer.enableEffigyWaypoints && Utils.getLocation().contains("Stillgore Château")) {
- for (BlockPos effigy : unBrokenEffigies) {
+ for (BlockPos effigy : UNBROKEN_EFFIGIES) {
float[] colorComponents = DyeColor.RED.getColorComponents();
if (SkyblockerConfigManager.get().slayer.vampireSlayer.compactEffigyWaypoints) {
RenderHelper.renderFilledThroughWallsWithBeaconBeam(context, effigy.down(6), colorComponents, 0.5F);
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/HealingMelonIndicator.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/HealingMelonIndicator.java
index 78fe8f6c..333a4aa1 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/HealingMelonIndicator.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/HealingMelonIndicator.java
@@ -1,10 +1,10 @@
-package me.xmrvizzy.skyblocker.skyblock.rift;
+package de.hysky.skyblocker.skyblock.rift;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.render.RenderHelper;
-import me.xmrvizzy.skyblocker.utils.render.title.Title;
-import me.xmrvizzy.skyblocker.utils.render.title.TitleContainer;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.render.RenderHelper;
+import de.hysky.skyblocker.utils.render.title.Title;
+import de.hysky.skyblocker.utils.render.title.TitleContainer;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/ManiaIndicator.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/ManiaIndicator.java
index 1fca4559..ab252ff0 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/ManiaIndicator.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/ManiaIndicator.java
@@ -1,11 +1,11 @@
-package me.xmrvizzy.skyblocker.skyblock.rift;
+package de.hysky.skyblocker.skyblock.rift;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.SlayerUtils;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.render.RenderHelper;
-import me.xmrvizzy.skyblocker.utils.render.title.Title;
-import me.xmrvizzy.skyblocker.utils.render.title.TitleContainer;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.SlayerUtils;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.render.RenderHelper;
+import de.hysky.skyblocker.utils.render.title.Title;
+import de.hysky.skyblocker.utils.render.title.TitleContainer;
import net.minecraft.block.Blocks;
import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.Entity;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/MirrorverseWaypoints.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/MirrorverseWaypoints.java
index 3063f63c..06181349 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/MirrorverseWaypoints.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/MirrorverseWaypoints.java
@@ -1,12 +1,12 @@
-package me.xmrvizzy.skyblocker.skyblock.rift;
+package de.hysky.skyblocker.skyblock.rift;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
-import me.xmrvizzy.skyblocker.SkyblockerMod;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.render.RenderHelper;
+import de.hysky.skyblocker.SkyblockerMod;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.render.RenderHelper;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
import net.minecraft.client.MinecraftClient;
import net.minecraft.util.DyeColor;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/StakeIndicator.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/StakeIndicator.java
index ff7298a3..be502143 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/StakeIndicator.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/StakeIndicator.java
@@ -1,11 +1,11 @@
-package me.xmrvizzy.skyblocker.skyblock.rift;
+package de.hysky.skyblocker.skyblock.rift;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.SlayerUtils;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.render.RenderHelper;
-import me.xmrvizzy.skyblocker.utils.render.title.Title;
-import me.xmrvizzy.skyblocker.utils.render.title.TitleContainer;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.SlayerUtils;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.render.RenderHelper;
+import de.hysky.skyblocker.utils.render.title.Title;
+import de.hysky.skyblocker.utils.render.title.TitleContainer;
import net.minecraft.entity.Entity;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TheRift.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/TheRift.java
index f3a35869..b39151d3 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TheRift.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/TheRift.java
@@ -1,12 +1,12 @@
-package me.xmrvizzy.skyblocker.skyblock.rift;
+package de.hysky.skyblocker.skyblock.rift;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents;
public class TheRift {
/**
- * @see me.xmrvizzy.skyblocker.utils.Utils#isInTheRift() Utils#isInTheRift().
+ * @see de.hysky.skyblocker.utils.Utils#isInTheRift() Utils#isInTheRift().
*/
public static final String LOCATION = "rift";
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TwinClawsIndicator.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/TwinClawsIndicator.java
index 2bd84106..1622bf4a 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TwinClawsIndicator.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/TwinClawsIndicator.java
@@ -1,12 +1,12 @@
-package me.xmrvizzy.skyblocker.skyblock.rift;
+package de.hysky.skyblocker.skyblock.rift;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.SlayerUtils;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.render.RenderHelper;
-import me.xmrvizzy.skyblocker.utils.render.title.Title;
-import me.xmrvizzy.skyblocker.utils.render.title.TitleContainer;
-import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.SlayerUtils;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.render.RenderHelper;
+import de.hysky.skyblocker.utils.scheduler.Scheduler;
+import de.hysky.skyblocker.utils.render.title.Title;
+import de.hysky.skyblocker.utils.render.title.TitleContainer;
import net.minecraft.entity.Entity;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/Shortcuts.java b/src/main/java/de/hysky/skyblocker/skyblock/shortcut/Shortcuts.java
index e9309706..9c058a4f 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/Shortcuts.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/shortcut/Shortcuts.java
@@ -1,13 +1,13 @@
-package me.xmrvizzy.skyblocker.skyblock.shortcut;
+package de.hysky.skyblocker.skyblock.shortcut;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import com.mojang.brigadier.Command;
import com.mojang.brigadier.CommandDispatcher;
import com.mojang.brigadier.arguments.StringArgumentType;
-import me.xmrvizzy.skyblocker.SkyblockerMod;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler;
+import de.hysky.skyblocker.SkyblockerMod;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/ShortcutsConfigListWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/shortcut/ShortcutsConfigListWidget.java
index f29470bf..5ebe4c1a 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/ShortcutsConfigListWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/shortcut/ShortcutsConfigListWidget.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.shortcut;
+package de.hysky.skyblocker.skyblock.shortcut;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawContext;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/ShortcutsConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/shortcut/ShortcutsConfigScreen.java
index d9fe850b..196ad0d6 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/ShortcutsConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/shortcut/ShortcutsConfigScreen.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.shortcut;
+package de.hysky.skyblocker.skyblock.shortcut;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.ConfirmScreen;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/special/SpecialEffects.java b/src/main/java/de/hysky/skyblocker/skyblock/special/SpecialEffects.java
index 84af889c..fba447ea 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/special/SpecialEffects.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/special/SpecialEffects.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.special;
+package de.hysky.skyblocker.skyblock.special;
import com.mojang.blaze3d.systems.RenderSystem;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.Utils;
import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents;
import net.minecraft.client.MinecraftClient;
import net.minecraft.enchantment.Enchantments;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/spidersden/Relics.java b/src/main/java/de/hysky/skyblocker/skyblock/spidersden/Relics.java
index 994317f8..e5223874 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/spidersden/Relics.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/spidersden/Relics.java
@@ -1,16 +1,16 @@
-package me.xmrvizzy.skyblocker.skyblock.spidersden;
+package de.hysky.skyblocker.skyblock.spidersden;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.mojang.brigadier.CommandDispatcher;
-import me.xmrvizzy.skyblocker.SkyblockerMod;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.PosUtils;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.render.RenderHelper;
+import de.hysky.skyblocker.SkyblockerMod;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.PosUtils;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.render.RenderHelper;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/TabHud.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/TabHud.java
index 8f18e367..f226f371 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/TabHud.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/TabHud.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud;
+package de.hysky.skyblocker.skyblock.tabhud;
import org.lwjgl.glfw.GLFW;
import org.slf4j.Logger;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java
index f02c7dc6..ceeaa365 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder;
+package de.hysky.skyblocker.skyblock.tabhud.screenbuilder;
import java.io.BufferedReader;
import java.lang.reflect.Constructor;
@@ -12,15 +12,15 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.pipeline.AlignStage;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.pipeline.CollideStage;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.pipeline.PipelineStage;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.pipeline.PlaceStage;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.pipeline.StackStage;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.DungeonPlayerWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.ErrorWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.EventWidget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.pipeline.AlignStage;
+import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.pipeline.CollideStage;
+import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.pipeline.PipelineStage;
+import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.pipeline.PlaceStage;
+import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.pipeline.StackStage;
+import de.hysky.skyblocker.skyblock.tabhud.widget.DungeonPlayerWidget;
+import de.hysky.skyblocker.skyblock.tabhud.widget.ErrorWidget;
+import de.hysky.skyblocker.skyblock.tabhud.widget.EventWidget;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.util.Identifier;
@@ -103,7 +103,7 @@ public class ScreenBuilder {
// list all packages that might contain widget classes
// using Package isn't reliable, as some classes might not be loaded yet,
// causing the packages not to show.
- String packbase = "me.xmrvizzy.skyblocker.skyblock.tabhud.widget";
+ String packbase = "de.hysky.skyblocker.skyblock.tabhud.widget";
String[] packnames = {
packbase,
packbase + ".rift"
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java
index 194ab3d4..210d8001 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder;
+package de.hysky.skyblocker.skyblock.tabhud.screenbuilder;
import java.io.BufferedReader;
import java.util.HashMap;
@@ -10,8 +10,8 @@ import org.slf4j.LoggerFactory;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.TabHud;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerLocator;
+import de.hysky.skyblocker.skyblock.tabhud.TabHud;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerLocator;
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
import net.fabricmc.fabric.api.resource.ResourcePackActivationType;
import net.fabricmc.fabric.api.resource.SimpleSynchronousResourceReloadListener;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/AlignStage.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/pipeline/AlignStage.java
index 76789a4c..7c01a6db 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/AlignStage.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/pipeline/AlignStage.java
@@ -1,13 +1,13 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.pipeline;
+package de.hysky.skyblocker.skyblock.tabhud.screenbuilder.pipeline;
import java.util.ArrayList;
import java.util.NoSuchElementException;
import com.google.gson.JsonObject;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.ScreenBuilder;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.ScreenConst;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.ScreenBuilder;
+import de.hysky.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.util.ScreenConst;
public class AlignStage extends PipelineStage {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/CollideStage.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/pipeline/CollideStage.java
index b6a5f789..d100a52e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/CollideStage.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/pipeline/CollideStage.java
@@ -1,13 +1,13 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.pipeline;
+package de.hysky.skyblocker.skyblock.tabhud.screenbuilder.pipeline;
import java.util.ArrayList;
import java.util.NoSuchElementException;
import com.google.gson.JsonObject;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.ScreenBuilder;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.ScreenConst;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.ScreenBuilder;
+import de.hysky.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.util.ScreenConst;
public class CollideStage extends PipelineStage {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/PipelineStage.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/pipeline/PipelineStage.java
index e560058c..20e4859e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/PipelineStage.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/pipeline/PipelineStage.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.pipeline;
+package de.hysky.skyblocker.skyblock.tabhud.screenbuilder.pipeline;
import java.util.ArrayList;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.widget.Widget;
public abstract class PipelineStage {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/PlaceStage.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/pipeline/PlaceStage.java
index a950f8f2..7d57305b 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/PlaceStage.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/pipeline/PlaceStage.java
@@ -1,13 +1,13 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.pipeline;
+package de.hysky.skyblocker.skyblock.tabhud.screenbuilder.pipeline;
import java.util.ArrayList;
import java.util.NoSuchElementException;
import com.google.gson.JsonObject;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.ScreenBuilder;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.ScreenConst;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.ScreenBuilder;
+import de.hysky.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.util.ScreenConst;
public class PlaceStage extends PipelineStage {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/StackStage.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/pipeline/StackStage.java
index 078927ef..f4fe07e5 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/StackStage.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/pipeline/StackStage.java
@@ -1,13 +1,13 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.pipeline;
+package de.hysky.skyblocker.skyblock.tabhud.screenbuilder.pipeline;
import java.util.ArrayList;
import java.util.NoSuchElementException;
import com.google.gson.JsonObject;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.ScreenBuilder;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.ScreenConst;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.ScreenBuilder;
+import de.hysky.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.util.ScreenConst;
public class StackStage extends PipelineStage {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/Ico.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/Ico.java
index 97237769..24883d77 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/Ico.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/Ico.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.util;
+package de.hysky.skyblocker.skyblock.tabhud.util;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerListMgr.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/PlayerListMgr.java
index 446b7d81..f577f2d3 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerListMgr.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/PlayerListMgr.java
@@ -1,15 +1,14 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.util;
+package de.hysky.skyblocker.skyblock.tabhud.util;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import de.hysky.skyblocker.mixin.accessor.PlayerListHudAccessor;
+import de.hysky.skyblocker.utils.Utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import me.xmrvizzy.skyblocker.mixin.accessor.PlayerListHudAccessor;
-
-import me.xmrvizzy.skyblocker.utils.Utils;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.client.network.PlayerListEntry;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerLocator.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/PlayerLocator.java
index 11c9d860..e5f5bfc8 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/PlayerLocator.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/PlayerLocator.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.util;
+package de.hysky.skyblocker.skyblock.tabhud.util;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.utils.Utils;
/**
* Uses data from the player list to determine the area the player is in.
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/ScreenConst.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/ScreenConst.java
index c230548b..05f0afa5 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/ScreenConst.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/ScreenConst.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.util;
+package de.hysky.skyblocker.skyblock.tabhud.util;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
public class ScreenConst {
public static final int WIDGET_PAD = 5;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/CameraPositionWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/CameraPositionWidget.java
index 7e44bc44..9cff3d32 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/CameraPositionWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/CameraPositionWidget.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/CommsWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/CommsWidget.java
index 8bbdb25f..e8bf91ab 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/CommsWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/CommsWidget.java
@@ -1,12 +1,12 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ComposterWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ComposterWidget.java
index 1307b407..fbeb5ae5 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ComposterWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ComposterWidget.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/CookieWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/CookieWidget.java
index bf1d086f..a5883e7e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/CookieWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/CookieWidget.java
@@ -1,11 +1,11 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java
index 1d056e0c..fd896796 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonDeathWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDeathWidget.java
index 80134b66..9c299210 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonDeathWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDeathWidget.java
@@ -1,11 +1,11 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonDownedWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDownedWidget.java
index 2ca617ee..9a8de0eb 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonDownedWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonDownedWidget.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonPlayerWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonPlayerWidget.java
index 2ba0c0cc..be1a3c6e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonPlayerWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonPlayerWidget.java
@@ -1,14 +1,14 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
import net.minecraft.item.ItemStack;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonPuzzleWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonPuzzleWidget.java
index ef765fc3..1b3b8644 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonPuzzleWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonPuzzleWidget.java
@@ -1,11 +1,11 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonSecretWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonSecretWidget.java
index a985b4b1..6f40f5a8 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonSecretWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonSecretWidget.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonServerWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonServerWidget.java
index 05b88127..569987e8 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonServerWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/DungeonServerWidget.java
@@ -1,11 +1,11 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/EffectWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EffectWidget.java
index 718ea2d3..5ec3faf1 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/EffectWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EffectWidget.java
@@ -1,9 +1,9 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoFatTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoFatTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ElectionWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ElectionWidget.java
index 0f858fb6..ec935faf 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ElectionWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ElectionWidget.java
@@ -1,13 +1,13 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.HashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
import net.minecraft.item.ItemStack;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ErrorWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ErrorWidget.java
index 7f53fde7..85019dbf 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ErrorWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ErrorWidget.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/EssenceWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EssenceWidget.java
index c503d89f..d171b753 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/EssenceWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EssenceWidget.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.TableComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.TableComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/EventWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EventWidget.java
index 7d07ad75..5a1e4239 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/EventWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/EventWidget.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java
index ba6a0ec1..0211cbd6 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/FireSaleWidget.java
@@ -1,12 +1,12 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ForgeWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ForgeWidget.java
index ed87d496..1a4683f5 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ForgeWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ForgeWidget.java
@@ -1,10 +1,10 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.Component;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoFatTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.Component;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoFatTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/GardenServerWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/GardenServerWidget.java
index 2fd81873..221f8b08 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/GardenServerWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/GardenServerWidget.java
@@ -1,11 +1,11 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/GardenSkillsWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/GardenSkillsWidget.java
index 2b928cba..e7058fd6 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/GardenSkillsWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/GardenSkillsWidget.java
@@ -1,13 +1,13 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.TableComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.TableComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/GardenVisitorsWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/GardenVisitorsWidget.java
index 945fb17c..cfbd6cd0 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/GardenVisitorsWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/GardenVisitorsWidget.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/GuestServerWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/GuestServerWidget.java
index 6f1f4811..bbd97fb5 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/GuestServerWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/GuestServerWidget.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/IslandGuestsWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/IslandGuestsWidget.java
index faf231a8..b527dc78 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/IslandGuestsWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/IslandGuestsWidget.java
@@ -1,10 +1,10 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/IslandOwnersWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/IslandOwnersWidget.java
index afa883be..cde1fa38 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/IslandOwnersWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/IslandOwnersWidget.java
@@ -1,10 +1,10 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/IslandSelfWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/IslandSelfWidget.java
index cc7a2f0c..31ad66f7 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/IslandSelfWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/IslandSelfWidget.java
@@ -1,10 +1,10 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/IslandServerWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/IslandServerWidget.java
index 1ed15f5e..53dc11a6 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/IslandServerWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/IslandServerWidget.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/JacobsContestWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/JacobsContestWidget.java
index 888c3697..5ae0bd3d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/JacobsContestWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/JacobsContestWidget.java
@@ -1,11 +1,11 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.HashMap;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.TableComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.TableComponent;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.text.MutableText;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/MinionWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/MinionWidget.java
index 579828d4..35b9a0c6 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/MinionWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/MinionWidget.java
@@ -1,12 +1,12 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.HashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ParkServerWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ParkServerWidget.java
index 2c422bd1..c781a1bc 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ParkServerWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ParkServerWidget.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java
index 241cb2a2..ba178a5e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java
@@ -1,11 +1,11 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
-
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlayerComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.TableComponent;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
+
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlayerComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.TableComponent;
import net.minecraft.client.network.PlayerListEntry;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/PowderWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PowderWidget.java
index 7e56d4d9..44635fbe 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/PowderWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PowderWidget.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ProfileWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ProfileWidget.java
index 8bc94622..de2ea0c6 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ProfileWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ProfileWidget.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/QuestWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/QuestWidget.java
index 02137b1a..3c3d3c92 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/QuestWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/QuestWidget.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ReputationWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ReputationWidget.java
index 32060bd0..3c218fb1 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ReputationWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ReputationWidget.java
@@ -1,12 +1,12 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ServerWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ServerWidget.java
index 62c01b63..475cb038 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/ServerWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/ServerWidget.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/SkillsWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/SkillsWidget.java
index cecee76c..379fbb62 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/SkillsWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/SkillsWidget.java
@@ -1,15 +1,15 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.Component;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoFatTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.TableComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.Component;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoFatTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.TableComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/TrapperWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/TrapperWidget.java
index 68f8dcf2..74bba632 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/TrapperWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/TrapperWidget.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/UpgradeWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/UpgradeWidget.java
index 4553c7f9..a245cbe9 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/UpgradeWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/UpgradeWidget.java
@@ -1,9 +1,9 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/VolcanoWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/VolcanoWidget.java
index 90f947ba..8dacfb3a 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/VolcanoWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/VolcanoWidget.java
@@ -1,9 +1,9 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.HashMap;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.text.MutableText;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/Widget.java
index 97d31981..5f0d2c3c 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/Widget.java
@@ -1,13 +1,13 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget;
+package de.hysky.skyblocker.skyblock.tabhud.widget;
import java.util.ArrayList;
import com.mojang.blaze3d.systems.RenderSystem;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.Component;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.Component;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawContext;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/Component.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/Component.java
index 118d3cfe..3c987068 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/Component.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/Component.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component;
+package de.hysky.skyblocker.skyblock.tabhud.widget.component;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoFatTextComponent.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/IcoFatTextComponent.java
index afd05c26..def60d4d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoFatTextComponent.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/IcoFatTextComponent.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component;
+package de.hysky.skyblocker.skyblock.tabhud.widget.component;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoTextComponent.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/IcoTextComponent.java
index 7ab92dd5..903a1fa3 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoTextComponent.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/IcoTextComponent.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component;
+package de.hysky.skyblocker.skyblock.tabhud.widget.component;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlainTextComponent.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/PlainTextComponent.java
index 34e0268b..59e82e4e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlainTextComponent.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/PlainTextComponent.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component;
+package de.hysky.skyblocker.skyblock.tabhud.widget.component;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java
index cea8f6f0..ab79bb31 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component;
+package de.hysky.skyblocker.skyblock.tabhud.widget.component;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.PlayerSkinDrawer;
import net.minecraft.client.network.PlayerListEntry;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java
index 90e210e9..fa839dbe 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component;
+package de.hysky.skyblocker.skyblock.tabhud.widget.component;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/TableComponent.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/TableComponent.java
index 850bbb0d..dbc0bf55 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/TableComponent.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/TableComponent.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component;
+package de.hysky.skyblocker.skyblock.tabhud.widget.component;
import net.minecraft.client.gui.DrawContext;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java
index 88d40891..6aa363c9 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java
@@ -1,13 +1,13 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.hud;
+package de.hysky.skyblocker.skyblock.tabhud.widget.hud;
import java.util.List;
-import me.xmrvizzy.skyblocker.skyblock.dwarven.DwarvenHud.Commission;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.Widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.Component;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.dwarven.DwarvenHud.Commission;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.Component;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/AdvertisementWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/AdvertisementWidget.java
index 8d50fc2f..3499ce39 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/AdvertisementWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/AdvertisementWidget.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.rift;
+package de.hysky.skyblocker.skyblock.tabhud.widget.rift;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.Widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/GoodToKnowWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/GoodToKnowWidget.java
index d1a3df1f..3a5da142 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/GoodToKnowWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/GoodToKnowWidget.java
@@ -1,9 +1,9 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.rift;
+package de.hysky.skyblocker.skyblock.tabhud.widget.rift;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/RiftProfileWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/RiftProfileWidget.java
index 785850d5..178bf142 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/RiftProfileWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/RiftProfileWidget.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.rift;
+package de.hysky.skyblocker.skyblock.tabhud.widget.rift;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/RiftProgressWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/RiftProgressWidget.java
index ad43c9f4..93ade5cb 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/RiftProgressWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/RiftProgressWidget.java
@@ -1,13 +1,13 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.rift;
+package de.hysky.skyblocker.skyblock.tabhud.widget.rift;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.Widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/RiftServerInfoWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/RiftServerInfoWidget.java
index 1ec3771e..89530e2f 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/RiftServerInfoWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/RiftServerInfoWidget.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.rift;
+package de.hysky.skyblocker.skyblock.tabhud.widget.rift;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/RiftStatsWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/RiftStatsWidget.java
index 95a587a9..0e2f323d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/RiftStatsWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/RiftStatsWidget.java
@@ -1,9 +1,9 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.rift;
+package de.hysky.skyblocker.skyblock.tabhud.widget.rift;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.Widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.TableComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.TableComponent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/ShenWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/ShenWidget.java
index 1f432406..2827400e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/rift/ShenWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/rift/ShenWidget.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.rift;
+package de.hysky.skyblocker.skyblock.tabhud.widget.rift;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.Widget;
-import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Boxes.java b/src/main/java/de/hysky/skyblocker/utils/Boxes.java
index 977d013c..cd944a46 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/Boxes.java
+++ b/src/main/java/de/hysky/skyblocker/utils/Boxes.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.utils;
+package de.hysky.skyblocker.utils;
import net.minecraft.util.math.Box;
import net.minecraft.util.math.Direction.Axis;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Constants.java b/src/main/java/de/hysky/skyblocker/utils/Constants.java
index aef55687..fbeb448c 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/Constants.java
+++ b/src/main/java/de/hysky/skyblocker/utils/Constants.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.utils;
+package de.hysky.skyblocker.utils;
/**
* Holds generic static constants
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Http.java b/src/main/java/de/hysky/skyblocker/utils/Http.java
index 3461189c..ee500b5a 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/Http.java
+++ b/src/main/java/de/hysky/skyblocker/utils/Http.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.utils;
+package de.hysky.skyblocker.utils;
import java.io.IOException;
import java.io.InputStream;
@@ -15,7 +15,7 @@ import java.time.Duration;
import java.util.zip.GZIPInputStream;
import java.util.zip.InflaterInputStream;
-import me.xmrvizzy.skyblocker.SkyblockerMod;
+import de.hysky.skyblocker.SkyblockerMod;
import net.minecraft.SharedConstants;
/**
diff --git a/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java b/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java
new file mode 100644
index 00000000..6ae1b4d0
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java
@@ -0,0 +1,111 @@
+package de.hysky.skyblocker.utils;
+
+import com.mojang.brigadier.exceptions.CommandSyntaxException;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.item.TooltipContext;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NbtCompound;
+import net.minecraft.nbt.StringNbtReader;
+import net.minecraft.text.Text;
+import net.minecraft.util.Formatting;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.regex.Pattern;
+
+public class ItemUtils {
+ private final static Pattern WHITESPACES = Pattern.compile("^\\s*$");
+
+ public static List<Text> getTooltip(ItemStack item) {
+ MinecraftClient client = MinecraftClient.getInstance();
+ return client.player == null || item == null ? Collections.emptyList() : item.getTooltip(client.player, TooltipContext.Default.BASIC);
+ }
+
+ public static List<String> getTooltipStrings(ItemStack item) {
+ List<Text> lines = getTooltip(item);
+ List<String> list = new ArrayList<>();
+
+ for (Text line : lines) {
+ String string = line.getString();
+ if (!WHITESPACES.matcher(string).matches())
+ list.add(string);
+ }
+
+ return list;
+ }
+
+ @Nullable
+ public static Durability getDurability(ItemStack stack) {
+ if (!Utils.isOnSkyblock() || !SkyblockerConfigManager.get().locations.dwarvenMines.enableDrillFuel || stack.isEmpty()) {
+ return null;
+ }
+
+ NbtCompound tag = stack.getNbt();
+ if (tag == null || !tag.contains("ExtraAttributes")) {
+ return null;
+ }
+
+ NbtCompound extraAttributes = tag.getCompound("ExtraAttributes");
+ if (!extraAttributes.contains("drill_fuel") && !extraAttributes.getString("id").equals("PICKONIMBUS")) {
+ return null;
+ }
+
+ int current = 0;
+ int max = 0;
+ String clearFormatting;
+
+ for (String line : ItemUtils.getTooltipStrings(stack)) {
+ clearFormatting = Formatting.strip(line);
+ if (line.contains("Fuel: ")) {
+ if (clearFormatting != null) {
+ String clear = Pattern.compile("[^0-9 /]").matcher(clearFormatting).replaceAll("").trim();
+ String[] split = clear.split("/");
+ current = Integer.parseInt(split[0]);
+ max = Integer.parseInt(split[1]) * 1000;
+ return new Durability(current, max);
+ }
+ } else if (line.contains("uses.")) {
+ if (clearFormatting != null) {
+ int startIndex = clearFormatting.lastIndexOf("after") + 6;
+ int endIndex = clearFormatting.indexOf("uses", startIndex);
+ if (startIndex >= 0 && endIndex > startIndex) {
+ String usesString = clearFormatting.substring(startIndex, endIndex).trim();
+ current = Integer.parseInt(usesString);
+ max = 5000;
+ }
+ return new Durability(current, max);
+ }
+ }
+ }
+
+ return null;
+ }
+
+ public static ItemStack getSkyblockerStack() {
+ try {
+ return ItemStack.fromNbt(StringNbtReader.parse("{id:\"minecraft:player_head\",Count:1,tag:{SkullOwner:{Id:[I;-300151517,-631415889,-1193921967,-1821784279],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDdjYzY2ODc0MjNkMDU3MGQ1NTZhYzUzZTA2NzZjYjU2M2JiZGQ5NzE3Y2Q4MjY5YmRlYmVkNmY2ZDRlN2JmOCJ9fX0=\"}]}}}}"));
+ } catch (CommandSyntaxException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public static String getItemId(ItemStack itemStack) {
+ if (itemStack == null) return null;
+
+ NbtCompound nbt = itemStack.getNbt();
+ if (nbt != null && nbt.contains("ExtraAttributes")) {
+ NbtCompound extraAttributes = nbt.getCompound("ExtraAttributes");
+ if (extraAttributes.contains("id")) {
+ return extraAttributes.getString("id");
+ }
+ }
+
+ return null;
+ }
+
+ public record Durability(int current, int max) {
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/NEURepo.java b/src/main/java/de/hysky/skyblocker/utils/NEURepo.java
index 29b39aa3..9bc6b245 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/NEURepo.java
+++ b/src/main/java/de/hysky/skyblocker/utils/NEURepo.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.utils;
+package de.hysky.skyblocker.utils;
-import me.xmrvizzy.skyblocker.SkyblockerMod;
-import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemRegistry;
+import de.hysky.skyblocker.SkyblockerMod;
+import de.hysky.skyblocker.skyblock.itemlist.ItemRegistry;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.minecraft.client.MinecraftClient;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/PosUtils.java b/src/main/java/de/hysky/skyblocker/utils/PosUtils.java
index 4f32292c..6a34b060 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/PosUtils.java
+++ b/src/main/java/de/hysky/skyblocker/utils/PosUtils.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.utils;
+package de.hysky.skyblocker.utils;
import net.minecraft.util.math.BlockPos;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/SlayerUtils.java b/src/main/java/de/hysky/skyblocker/utils/SlayerUtils.java
index 216dc7e9..0a42c6ae 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/SlayerUtils.java
+++ b/src/main/java/de/hysky/skyblocker/utils/SlayerUtils.java
@@ -1,14 +1,8 @@
-package me.xmrvizzy.skyblocker.utils;
+package de.hysky.skyblocker.utils;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.entity.Entity;
import net.minecraft.entity.decoration.ArmorStandEntity;
-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 org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -46,22 +40,15 @@ public class SlayerUtils {
public static boolean isInSlayer() {
try {
- ClientPlayerEntity client = MinecraftClient.getInstance().player;
- if (client == null) return false;
- Scoreboard scoreboard = MinecraftClient.getInstance().player.getScoreboard();
- ScoreboardObjective objective = scoreboard.getObjectiveForSlot(ScoreboardDisplaySlot.FROM_ID.apply(1));
- for (ScoreboardPlayerScore score : scoreboard.getAllPlayerScores(objective)) {
- Team team = scoreboard.getPlayerTeam(score.getPlayerName());
- if (team != null) {
- String line = team.getPrefix().getString() + team.getSuffix().getString();
- if (line.contains("Slay the boss!")) {
- return true;
- }
- }
+ for (int i = 0; i < Utils.STRING_SCOREBOARD.size(); i++) {
+ String line = Utils.STRING_SCOREBOARD.get(i);
+
+ if (line.contains("Slay the boss!")) return true;
}
} catch (NullPointerException e) {
LOGGER.error("[Skyblocker] Error while checking if player is in slayer", e);
}
+
return false;
}
} \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java b/src/main/java/de/hysky/skyblocker/utils/Utils.java
index b0fb6edf..f046bffb 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
+++ b/src/main/java/de/hysky/skyblocker/utils/Utils.java
@@ -1,10 +1,13 @@
-package me.xmrvizzy.skyblocker.utils;
+package de.hysky.skyblocker.utils;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
-import me.xmrvizzy.skyblocker.skyblock.item.PriceInfoTooltip;
-import me.xmrvizzy.skyblocker.skyblock.rift.TheRift;
-import me.xmrvizzy.skyblocker.utils.scheduler.MessageScheduler;
+
+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 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;
@@ -24,7 +27,6 @@ import net.minecraft.util.Formatting;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -51,6 +53,12 @@ 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.
+ */
+ public static final ObjectArrayList<Text> TEXT_SCOREBOARD = new ObjectArrayList<>();
+ public static final ObjectArrayList<String> STRING_SCOREBOARD = new ObjectArrayList<>();
public static boolean isOnHypixel() {
return isOnHypixel;
@@ -118,7 +126,8 @@ public class Utils {
*/
public static void update() {
MinecraftClient client = MinecraftClient.getInstance();
- updateFromScoreboard(client);
+ updateScoreboard(client);
+ updatePlayerPresenceFromScoreboard(client);
updateFromPlayerList(client);
updateLocRaw();
}
@@ -126,11 +135,11 @@ public class Utils {
/**
* Updates {@link #isOnSkyblock}, {@link #isInDungeons}, and {@link #isInjected} from the scoreboard.
*/
- public static void updateFromScoreboard(MinecraftClient client) {
- List<String> sidebar;
+ public static void updatePlayerPresenceFromScoreboard(MinecraftClient client) {
+ List<String> sidebar = STRING_SCOREBOARD;
FabricLoader fabricLoader = FabricLoader.getInstance();
- if ((client.world == null || client.isInSingleplayer() || (sidebar = getSidebar()) == null)) {
+ if ((client.world == null || client.isInSingleplayer() || sidebar == null || sidebar.isEmpty())) {
if (fabricLoader.isDevelopmentEnvironment()) {
sidebar = Collections.emptyList();
} else {
@@ -157,12 +166,12 @@ public class Utils {
SkyblockEvents.JOIN.invoker().onSkyblockJoin();
}
} else {
- leaveSkyblock();
+ onLeaveSkyblock();
}
isInDungeons = fabricLoader.isDevelopmentEnvironment() || isOnSkyblock && string.contains("The Catacombs");
} else if (isOnHypixel) {
isOnHypixel = false;
- leaveSkyblock();
+ onLeaveSkyblock();
}
}
@@ -173,7 +182,7 @@ public class Utils {
return serverAddress.equalsIgnoreCase(ALTERNATE_HYPIXEL_ADDRESS) || serverAddress.contains("hypixel.net") || serverAddress.contains("hypixel.io") || serverBrand.contains("Hypixel BungeeCord");
}
- private static void leaveSkyblock() {
+ private static void onLeaveSkyblock() {
if (isOnSkyblock) {
isOnSkyblock = false;
isInDungeons = false;
@@ -183,7 +192,7 @@ public class Utils {
public static String getLocation() {
String location = null;
- List<String> sidebarLines = getSidebar();
+ List<String> sidebarLines = STRING_SCOREBOARD;
try {
if (sidebarLines != null) {
for (String sidebarLine : sidebarLines) {
@@ -203,7 +212,7 @@ public class Utils {
String purseString = null;
double purse = 0;
- List<String> sidebarLines = getSidebar();
+ List<String> sidebarLines = STRING_SCOREBOARD;
try {
if (sidebarLines != null) {
@@ -224,7 +233,7 @@ public class Utils {
public static int getBits() {
int bits = 0;
String bitsString = null;
- List<String> sidebarLines = getSidebar();
+ List<String> sidebarLines = STRING_SCOREBOARD;
try {
if (sidebarLines != null) {
for (String sidebarLine : sidebarLines) {
@@ -240,31 +249,47 @@ public class Utils {
return bits;
}
- public static List<String> getSidebar() {
+ private static void updateScoreboard(MinecraftClient client) {
try {
- ClientPlayerEntity client = MinecraftClient.getInstance().player;
- if (client == null) return Collections.emptyList();
- Scoreboard scoreboard = MinecraftClient.getInstance().player.getScoreboard();
+ 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));
- List<String> lines = new ArrayList<>();
+ 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) {
- String line = team.getPrefix().getString() + team.getSuffix().getString();
- if (!line.trim().isEmpty()) {
- String formatted = Formatting.strip(line);
- lines.add(formatted);
+ 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);
}
}
}
if (objective != null) {
- lines.add(objective.getDisplayName().getString());
- Collections.reverse(lines);
+ stringLines.add(objective.getDisplayName().getString());
+ textLines.add(Text.empty().append(objective.getDisplayName().copy()));
+
+ Collections.reverse(stringLines);
+ Collections.reverse(textLines);
}
- return lines;
+
+ TEXT_SCOREBOARD.addAll(textLines);
+ STRING_SCOREBOARD.addAll(stringLines);
} catch (NullPointerException e) {
- return null;
+ //Do nothing
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatFilterResult.java b/src/main/java/de/hysky/skyblocker/utils/chat/ChatFilterResult.java
index cd364eb5..5a94682a 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatFilterResult.java
+++ b/src/main/java/de/hysky/skyblocker/utils/chat/ChatFilterResult.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.utils.chat;
+package de.hysky.skyblocker.utils.chat;
import net.minecraft.client.resource.language.I18n;
public enum ChatFilterResult {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatMessageListener.java b/src/main/java/de/hysky/skyblocker/utils/chat/ChatMessageListener.java
index 7bb75947..7892445e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatMessageListener.java
+++ b/src/main/java/de/hysky/skyblocker/utils/chat/ChatMessageListener.java
@@ -1,14 +1,15 @@
-package me.xmrvizzy.skyblocker.utils.chat;
+package de.hysky.skyblocker.utils.chat;
-import me.xmrvizzy.skyblocker.skyblock.barn.HungryHiker;
-import me.xmrvizzy.skyblocker.skyblock.barn.TreasureHunter;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.Reparty;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.ThreeWeirdos;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.Trivia;
-import me.xmrvizzy.skyblocker.skyblock.dwarven.Fetchur;
-import me.xmrvizzy.skyblocker.skyblock.dwarven.Puzzler;
-import me.xmrvizzy.skyblocker.skyblock.filters.*;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.skyblock.filters.*;
+import de.hysky.skyblocker.utils.Utils;
+import de.hysky.skyblocker.skyblock.barn.HungryHiker;
+import de.hysky.skyblocker.skyblock.barn.TreasureHunter;
+import de.hysky.skyblocker.skyblock.dungeon.Reparty;
+import de.hysky.skyblocker.skyblock.dungeon.ThreeWeirdos;
+import de.hysky.skyblocker.skyblock.dungeon.Trivia;
+import de.hysky.skyblocker.skyblock.dwarven.Fetchur;
+import de.hysky.skyblocker.skyblock.dwarven.Puzzler;
+import de.hysky.skyblocker.skyblock.filters.*;
import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents;
import net.fabricmc.fabric.api.event.Event;
import net.fabricmc.fabric.api.event.EventFactory;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatPatternListener.java b/src/main/java/de/hysky/skyblocker/utils/chat/ChatPatternListener.java
index 3b363a85..708af280 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatPatternListener.java
+++ b/src/main/java/de/hysky/skyblocker/utils/chat/ChatPatternListener.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.utils.chat;
+package de.hysky.skyblocker.utils.chat;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/discord/DiscordRPCManager.java b/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java
index 39d91bba..4f48a12f 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/discord/DiscordRPCManager.java
+++ b/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java
@@ -1,9 +1,9 @@
-package me.xmrvizzy.skyblocker.utils.discord;
+package de.hysky.skyblocker.utils.discord;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.SkyblockEvents;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.events.SkyblockEvents;
+import de.hysky.skyblocker.utils.Utils;
import meteordevelopment.discordipc.DiscordIPC;
import meteordevelopment.discordipc.RichPresence;
import org.slf4j.Logger;
@@ -34,7 +34,7 @@ public class DiscordRPCManager {
}
/**
- * Checks the {@link SkyblockerConfigManager.RichPresence#customMessage custom message}, updates {@link #cycleCount} if enabled, and updates rich presence.
+ * Checks the {@link de.hysky.skyblocker.config.SkyblockerConfig.RichPresence#customMessage custom message}, updates {@link #cycleCount} if enabled, and updates rich presence.
*/
public static void updateDataAndPresence() {
// If the custom message is empty, discord will keep the last message, this is can serve as a default if the user doesn't want a custom message
@@ -58,16 +58,16 @@ public class DiscordRPCManager {
* <p>
* When the {@link #updateTask previous update} does not exist or {@link CompletableFuture#isDone() has completed}:
* <p>
- * Connects to discord if {@link SkyblockerConfigManager.RichPresence#enableRichPresence rich presence is enabled},
+ * Connects to discord if {@link de.hysky.skyblocker.config.SkyblockerConfig.RichPresence#enableRichPresence rich presence is enabled},
* the player {@link Utils#isOnSkyblock() is on Skyblock}, and {@link DiscordIPC#isConnected() discord is not already connected}.
- * Updates the presence if {@link SkyblockerConfigManager.RichPresence#enableRichPresence rich presence is enabled}
+ * Updates the presence if {@link de.hysky.skyblocker.config.SkyblockerConfig.RichPresence#enableRichPresence rich presence is enabled}
* and the player {@link Utils#isOnSkyblock() is on Skyblock}.
- * Stops the connection if {@link SkyblockerConfigManager.RichPresence#enableRichPresence rich presence is disabled}
+ * Stops the connection if {@link de.hysky.skyblocker.config.SkyblockerConfig.RichPresence#enableRichPresence rich presence is disabled}
* or the player {@link Utils#isOnSkyblock() is not on Skyblock} and {@link DiscordIPC#isConnected() discord is connected}.
* Saves the update task in {@link #updateTask}
*
* @param initialization whether this is the first time the presence is being updates. If {@code true}, a message will be logged
- * if {@link SkyblockerConfigManager.RichPresence#enableRichPresence rich presence is disabled}.
+ * if {@link de.hysky.skyblocker.config.SkyblockerConfig.RichPresence#enableRichPresence rich presence is disabled}.
*/
private static void initAndUpdatePresence(boolean initialization) {
if (updateTask == null || updateTask.isDone()) {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/render/FrustumUtils.java b/src/main/java/de/hysky/skyblocker/utils/render/FrustumUtils.java
index d4dd8b18..3fe79e43 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/render/FrustumUtils.java
+++ b/src/main/java/de/hysky/skyblocker/utils/render/FrustumUtils.java
@@ -1,7 +1,7 @@
-package me.xmrvizzy.skyblocker.utils.render;
+package de.hysky.skyblocker.utils.render;
-import me.xmrvizzy.skyblocker.mixin.accessor.WorldRendererAccessor;
-import me.xmrvizzy.skyblocker.mixin.accessor.FrustumInvoker;
+import de.hysky.skyblocker.mixin.accessor.FrustumInvoker;
+import de.hysky.skyblocker.mixin.accessor.WorldRendererAccessor;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.Frustum;
import net.minecraft.util.math.Box;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java b/src/main/java/de/hysky/skyblocker/utils/render/RenderHelper.java
index 907896e2..4630149c 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java
+++ b/src/main/java/de/hysky/skyblocker/utils/render/RenderHelper.java
@@ -1,13 +1,13 @@
-package me.xmrvizzy.skyblocker.utils.render;
+package de.hysky.skyblocker.utils.render;
import com.mojang.blaze3d.platform.GlStateManager.DstFactor;
import com.mojang.blaze3d.platform.GlStateManager.SrcFactor;
import com.mojang.blaze3d.systems.RenderSystem;
+import de.hysky.skyblocker.mixin.accessor.BeaconBlockEntityRendererInvoker;
import me.x150.renderer.render.Renderer3d;
-import me.xmrvizzy.skyblocker.mixin.accessor.BeaconBlockEntityRendererInvoker;
-import me.xmrvizzy.skyblocker.utils.render.culling.OcclusionCulling;
-import me.xmrvizzy.skyblocker.utils.render.title.Title;
-import me.xmrvizzy.skyblocker.utils.render.title.TitleContainer;
+import de.hysky.skyblocker.utils.render.culling.OcclusionCulling;
+import de.hysky.skyblocker.utils.render.title.Title;
+import de.hysky.skyblocker.utils.render.title.TitleContainer;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/render/culling/OcclusionCulling.java b/src/main/java/de/hysky/skyblocker/utils/render/culling/OcclusionCulling.java
index 5c7f69ad..5f8d1592 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/render/culling/OcclusionCulling.java
+++ b/src/main/java/de/hysky/skyblocker/utils/render/culling/OcclusionCulling.java
@@ -1,9 +1,9 @@
-package me.xmrvizzy.skyblocker.utils.render.culling;
+package de.hysky.skyblocker.utils.render.culling;
import com.logisticscraft.occlusionculling.OcclusionCullingInstance;
import com.logisticscraft.occlusionculling.cache.ArrayOcclusionCache;
import com.logisticscraft.occlusionculling.util.Vec3d;
-import me.xmrvizzy.skyblocker.utils.render.FrustumUtils;
+import de.hysky.skyblocker.utils.render.FrustumUtils;
import net.minecraft.client.MinecraftClient;
public class OcclusionCulling {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/render/culling/WorldProvider.java b/src/main/java/de/hysky/skyblocker/utils/render/culling/WorldProvider.java
index 09a7bc79..7ee0f0ed 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/render/culling/WorldProvider.java
+++ b/src/main/java/de/hysky/skyblocker/utils/render/culling/WorldProvider.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.utils.render.culling;
+package de.hysky.skyblocker.utils.render.culling;
import com.logisticscraft.occlusionculling.DataProvider;
import net.minecraft.client.MinecraftClient;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/render/culling/package-info.java b/src/main/java/de/hysky/skyblocker/utils/render/culling/package-info.java
index 97ebac86..1d5cdf98 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/render/culling/package-info.java
+++ b/src/main/java/de/hysky/skyblocker/utils/render/culling/package-info.java
@@ -1,4 +1,4 @@
/**
* Package dedicated to occlusion culling utilities
*/
-package me.xmrvizzy.skyblocker.utils.render.culling; \ No newline at end of file
+package de.hysky.skyblocker.utils.render.culling; \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/render/gui/ColorHighlight.java b/src/main/java/de/hysky/skyblocker/utils/render/gui/ColorHighlight.java
index 41cd0778..5451e1a8 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/render/gui/ColorHighlight.java
+++ b/src/main/java/de/hysky/skyblocker/utils/render/gui/ColorHighlight.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.utils.render.gui;
+package de.hysky.skyblocker.utils.render.gui;
public record ColorHighlight(int slot, int color) {
private static final int RED_HIGHLIGHT = 64 << 24 | 255 << 16;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/render/gui/ContainerSolver.java b/src/main/java/de/hysky/skyblocker/utils/render/gui/ContainerSolver.java
index 83c0f717..cf67e84c 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/render/gui/ContainerSolver.java
+++ b/src/main/java/de/hysky/skyblocker/utils/render/gui/ContainerSolver.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.utils.render.gui;
+package de.hysky.skyblocker.utils.render.gui;
import net.minecraft.client.gui.screen.ingame.GenericContainerScreen;
import net.minecraft.item.ItemStack;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/render/gui/ContainerSolverManager.java b/src/main/java/de/hysky/skyblocker/utils/render/gui/ContainerSolverManager.java
index f78222d0..60e2b4e4 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/render/gui/ContainerSolverManager.java
+++ b/src/main/java/de/hysky/skyblocker/utils/render/gui/ContainerSolverManager.java
@@ -1,15 +1,15 @@
-package me.xmrvizzy.skyblocker.utils.render.gui;
+package de.hysky.skyblocker.utils.render.gui;
import com.mojang.blaze3d.systems.RenderSystem;
-import me.xmrvizzy.skyblocker.mixin.accessor.HandledScreenAccessor;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.CroesusHelper;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.terminal.ColorTerminal;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.terminal.OrderTerminal;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.terminal.StartsWithTerminal;
-import me.xmrvizzy.skyblocker.skyblock.experiment.ChronomatronSolver;
-import me.xmrvizzy.skyblocker.skyblock.experiment.SuperpairsSolver;
-import me.xmrvizzy.skyblocker.skyblock.experiment.UltrasequencerSolver;
-import me.xmrvizzy.skyblocker.utils.Utils;
+import de.hysky.skyblocker.mixin.accessor.HandledScreenAccessor;
+import de.hysky.skyblocker.skyblock.dungeon.CroesusHelper;
+import de.hysky.skyblocker.skyblock.dungeon.terminal.ColorTerminal;
+import de.hysky.skyblocker.skyblock.dungeon.terminal.OrderTerminal;
+import de.hysky.skyblocker.skyblock.dungeon.terminal.StartsWithTerminal;
+import de.hysky.skyblocker.skyblock.experiment.ChronomatronSolver;
+import de.hysky.skyblocker.skyblock.experiment.SuperpairsSolver;
+import de.hysky.skyblocker.skyblock.experiment.UltrasequencerSolver;
+import de.hysky.skyblocker.utils.Utils;
import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.ingame.GenericContainerScreen;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/render/title/Title.java b/src/main/java/de/hysky/skyblocker/utils/render/title/Title.java
index b48771ee..1e167afa 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/render/title/Title.java
+++ b/src/main/java/de/hysky/skyblocker/utils/render/title/Title.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.utils.render.title;
+package de.hysky.skyblocker.utils.render.title;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainer.java b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainer.java
index a55965dc..487e3d8b 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainer.java
+++ b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainer.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.utils.render.title;
+package de.hysky.skyblocker.utils.render.title;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainerConfigScreen.java b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java
index caf9fbf0..5a42eeb4 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainerConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java
@@ -1,8 +1,8 @@
-package me.xmrvizzy.skyblocker.utils.render.title;
+package de.hysky.skyblocker.utils.render.title;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.render.RenderHelper;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.utils.render.RenderHelper;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.util.math.Vector2f;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/MessageScheduler.java b/src/main/java/de/hysky/skyblocker/utils/scheduler/MessageScheduler.java
index b8ffa548..15636965 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/MessageScheduler.java
+++ b/src/main/java/de/hysky/skyblocker/utils/scheduler/MessageScheduler.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.utils.scheduler;
+package de.hysky.skyblocker.utils.scheduler;
import net.minecraft.client.MinecraftClient;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/Scheduler.java b/src/main/java/de/hysky/skyblocker/utils/scheduler/Scheduler.java
index 700bdce3..0f44cf93 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/Scheduler.java
+++ b/src/main/java/de/hysky/skyblocker/utils/scheduler/Scheduler.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.utils.scheduler;
+package de.hysky.skyblocker.utils.scheduler;
import com.mojang.brigadier.Command;
import it.unimi.dsi.fastutil.ints.AbstractInt2ObjectMap;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/tictactoe/TicTacToeUtils.java b/src/main/java/de/hysky/skyblocker/utils/tictactoe/TicTacToeUtils.java
index 5e5c8f89..908ba46d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/tictactoe/TicTacToeUtils.java
+++ b/src/main/java/de/hysky/skyblocker/utils/tictactoe/TicTacToeUtils.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.utils.tictactoe;
+package de.hysky.skyblocker.utils.tictactoe;
import java.util.Collections;
import java.util.HashMap;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownControllerBuilder.java b/src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownControllerBuilder.java
deleted file mode 100644
index baadb8b3..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownControllerBuilder.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package me.xmrvizzy.skyblocker.config.controllers;
-
-import dev.isxander.yacl3.api.Option;
-import dev.isxander.yacl3.api.controller.ControllerBuilder;
-
-public interface EnumDropdownControllerBuilder<E extends Enum<E>> extends ControllerBuilder<E> {
- static <E extends Enum<E>> EnumDropdownControllerBuilder<E> create(Option<E> option) {
- return new EnumDropdownControllerBuilderImpl<>(option);
- }
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java
deleted file mode 100644
index 356095ab..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package me.xmrvizzy.skyblocker.mixin;
-
-import com.llamalad7.mixinextras.sugar.Local;
-import com.llamalad7.mixinextras.sugar.ref.LocalRef;
-import com.mojang.blaze3d.systems.RenderSystem;
-
-import dev.cbyrne.betterinject.annotations.Arg;
-import dev.cbyrne.betterinject.annotations.Inject;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.skyblock.item.AttributeShards;
-import me.xmrvizzy.skyblocker.utils.ItemUtils;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import net.minecraft.client.font.TextRenderer;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.render.RenderLayer;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NbtCompound;
-import net.minecraft.util.Formatting;
-import net.minecraft.util.math.ColorHelper;
-
-import org.jetbrains.annotations.Nullable;
-import org.spongepowered.asm.mixin.Final;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Shadow;
-import org.spongepowered.asm.mixin.injection.At;
-
-import java.awt.Color;
-import java.util.regex.Pattern;
-
-@Mixin(DrawContext.class)
-public abstract class DrawContextMixin {
- @Shadow
- @Final
- private MatrixStack matrices;
-
- @Shadow
- public abstract void fill(RenderLayer layer, int x1, int x2, int y1, int y2, int color);
-
- @Shadow
- public abstract int drawText(TextRenderer textRenderer, @Nullable String text, int x, int y, int color, boolean shadow);
-
- @Inject(method = "drawItemInSlot(Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/item/ItemStack;IILjava/lang/String;)V", at = @At("HEAD"))
- public void skyblocker$renderItemBar(@Arg ItemStack stack, @Arg(ordinal = 0) int x, @Arg(ordinal = 1) int y) {
- if (!Utils.isOnSkyblock() || !SkyblockerConfigManager.get().locations.dwarvenMines.enableDrillFuel || stack.isEmpty()) {
- return;
- }
-
- NbtCompound tag = stack.getNbt();
- if (tag == null || !tag.contains("ExtraAttributes")) {
- return;
- }
-
- NbtCompound extraAttributes = tag.getCompound("ExtraAttributes");
- if (!extraAttributes.contains("drill_fuel") && !extraAttributes.getString("id").equals("PICKONIMBUS")) {
- return;
- }
- matrices.push();
- matrices.translate(0f, 0f, 200f);
- RenderSystem.disableDepthTest();
-
- float current = 0.0F;
- float max = 0.0F;
- String clearFormatting = "";
-
- for (String line : ItemUtils.getTooltipStrings(stack)) {
- clearFormatting = Formatting.strip(line);
- if (line.contains("Fuel: ")) {
- if (clearFormatting != null) {
- String clear = Pattern.compile("[^0-9 /]").matcher(clearFormatting).replaceAll("").trim();
- String[] split = clear.split("/");
- current = Integer.parseInt(split[0]);
- max = Integer.parseInt(split[1]) * 1000;
- }
- break;
- } else if (line.contains("uses.")) {
- if (clearFormatting != null) {
- int startIndex = clearFormatting.lastIndexOf("after") + 6;
- int endIndex = clearFormatting.indexOf("uses", startIndex);
- if (startIndex >= 0 && endIndex > startIndex) {
- String usesString = clearFormatting.substring(startIndex, endIndex).trim();
- current = Integer.parseInt(usesString);
- max = 5000;
- }
- }
- break;
- }
- }
-
- float hue = Math.max(0.0F, 1.0F - (max - current) / max);
- int width = Math.round(current / max * 13.0F);
- Color color = Color.getHSBColor(hue / 3.0F, 1.0F, 1.0F);
- this.fill(RenderLayer.getGuiOverlay(), x + 2, y + 13, x + 15, y + 15, 0xFF000000);
- this.fill(RenderLayer.getGuiOverlay(), x + 2, y + 13, x + 2 + width, y + 14, ColorHelper.Argb.getArgb(color.getAlpha(), color.getRed(), color.getGreen(), color.getBlue()));
-
- matrices.pop();
- RenderSystem.enableDepthTest();
- }
-
- @Inject(method = "drawItemInSlot(Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/item/ItemStack;IILjava/lang/String;)V", at = @At("HEAD"))
- private void skyblocker$renderAttributeShardDisplay(@Arg TextRenderer textRenderer, @Arg ItemStack stack, @Arg(ordinal = 0) int x, @Arg(ordinal = 1) int y, @Local(argsOnly = true) LocalRef<String> countOverride) {
- if (!SkyblockerConfigManager.get().general.itemInfoDisplay.attributeShardInfo) return;
-
- NbtCompound nbt = stack.getNbt();
-
- if (Utils.isOnSkyblock() && nbt != null && nbt.contains("ExtraAttributes")) {
- NbtCompound extraAttributes = nbt.getCompound("ExtraAttributes");
-
- if (extraAttributes.getString("id").equals("ATTRIBUTE_SHARD")) {
- NbtCompound attributesTag = extraAttributes.getCompound("attributes");
- String[] attributes = attributesTag.getKeys().toArray(String[]::new);
-
- if (attributes.length != 0) {
- String attributeId = attributes[0];
- int attributeLevel = attributesTag.getInt(attributeId);
-
- //Set item count
- countOverride.set(Integer.toString(attributeLevel));
-
- //Draw the attribute name
- this.matrices.push();
- this.matrices.translate(0f, 0f, 200f);
-
- String attributeInitials = AttributeShards.getShortName(attributeId);
-
- this.drawText(textRenderer, attributeInitials, x, y, Formatting.AQUA.getColorValue(), true);
-
- this.matrices.pop();
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemStackMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemStackMixin.java
deleted file mode 100644
index 063c048e..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemStackMixin.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package me.xmrvizzy.skyblocker.mixin;
-
-import org.jetbrains.annotations.Nullable;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Shadow;
-import org.spongepowered.asm.mixin.injection.At;
-
-import com.llamalad7.mixinextras.injector.ModifyReturnValue;
-
-import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NbtCompound;
-import net.minecraft.text.Text;
-
-@Mixin(ItemStack.class)
-public abstract class ItemStackMixin {
- @Shadow
- @Nullable
- private NbtCompound nbt;
-
- @ModifyReturnValue(method = "getName", at = @At("RETURN"))
- private Text skyblocker$customItemNames(Text original) {
- if (Utils.isOnSkyblock() && nbt != null && nbt.contains("ExtraAttributes")) {
- NbtCompound extraAttributes = nbt.getCompound("ExtraAttributes");
- String itemUuid = extraAttributes.contains("uuid") ? extraAttributes.getString("uuid") : null;
-
- return SkyblockerConfigManager.get().general.customItemNames.getOrDefault(itemUuid, original);
- }
-
- return original;
- }
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/ItemUtils.java b/src/main/java/me/xmrvizzy/skyblocker/utils/ItemUtils.java
deleted file mode 100644
index 5c12b777..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/ItemUtils.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package me.xmrvizzy.skyblocker.utils;
-
-import com.mojang.brigadier.exceptions.CommandSyntaxException;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.item.TooltipContext;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.StringNbtReader;
-import net.minecraft.text.Text;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.regex.Pattern;
-
-public class ItemUtils {
- private final static Pattern WHITESPACES = Pattern.compile("^\\s*$");
-
- public static List<Text> getTooltip(ItemStack item) {
- MinecraftClient client = MinecraftClient.getInstance();
- return client.player == null || item == null ? Collections.emptyList() : item.getTooltip(client.player, TooltipContext.Default.BASIC);
- }
-
- public static List<String> getTooltipStrings(ItemStack item) {
- List<Text> lines = getTooltip(item);
- List<String> list = new ArrayList<>();
-
- for (Text line : lines) {
- String string = line.getString();
- if (!WHITESPACES.matcher(string).matches())
- list.add(string);
- }
-
- return list;
- }
-
- public static ItemStack getSkyblockerStack() {
- try {
- return ItemStack.fromNbt(StringNbtReader.parse("{id:\"minecraft:player_head\",Count:1,tag:{SkullOwner:{Id:[I;-300151517,-631415889,-1193921967,-1821784279],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDdjYzY2ODc0MjNkMDU3MGQ1NTZhYzUzZTA2NzZjYjU2M2JiZGQ5NzE3Y2Q4MjY5YmRlYmVkNmY2ZDRlN2JmOCJ9fX0=\"}]}}}}"));
- } catch (CommandSyntaxException e) {
- throw new RuntimeException(e);
- }
- }
-}
diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json
index 76b6e768..f889595e 100644
--- a/src/main/resources/assets/skyblocker/lang/en_us.json
+++ b/src/main/resources/assets/skyblocker/lang/en_us.json
@@ -38,9 +38,11 @@
"text.autoconfig.skyblocker.option.general.fairySouls.highlightFoundSouls": "Highlight found fairy souls",
"text.autoconfig.skyblocker.option.general.fairySouls.highlightOnlyNearbySouls": "Only highlight nearby fairy souls",
"text.autoconfig.skyblocker.option.general.fairySouls.highlightOnlyNearbySouls.@Tooltip": "When enabled only fairy souls in a radius of 50 blocks are highlighted",
+ "text.autoconfig.skyblocker.option.general.itemCooldown": "Item Cooldown",
+ "text.autoconfig.skyblocker.option.general.itemCooldown.enableItemCooldowns": "Enable Item Cooldown",
"text.autoconfig.skyblocker.option.general.shortcuts": "Shortcuts",
"text.autoconfig.skyblocker.option.general.shortcuts.enableShortcuts": "Enable Shortcuts",
- "text.autoconfig.skyblocker.option.general.shortcuts.enableShortcuts.@Tooltip": "Only works on Hypixel. Edit shortcuts with \"/skyblocker shortcuts\". At least one of the following options must be enabled for this to take effect.",
+ "text.autoconfig.skyblocker.option.general.shortcuts.enableShortcuts.@Tooltip": "Works anywhere, even in vanilla! Edit shortcuts with \"/skyblocker shortcuts\". At least one of the following options must be enabled for this to take effect.",
"text.autoconfig.skyblocker.option.general.shortcuts.enableCommandShortcuts": "Enable Command Shortcuts",
"text.autoconfig.skyblocker.option.general.shortcuts.enableCommandShortcuts.@Tooltip": "Shortcuts for commands consisting of only one word. Edit shortcuts with \"/skyblocker shortcuts\". Shortcuts must be enabled for this to take effect.",
"text.autoconfig.skyblocker.option.general.shortcuts.enableCommandArgShortcuts": "Enable Command Argument Shortcuts",
@@ -76,6 +78,9 @@
"text.autoconfig.skyblocker.option.general.itemInfoDisplay": "Item Info Display",
"text.autoconfig.skyblocker.option.general.itemInfoDisplay.attributeShardInfo": "Attribute Shard Info",
"text.autoconfig.skyblocker.option.general.itemInfoDisplay.attributeShardInfo.@Tooltip": "Displays the attribute's level as the stack count and the initials of the attribute's name.",
+ "text.autoconfig.skyblocker.option.general.itemInfoDisplay.itemRarityBackgrounds": "Item Rarity Backgrounds",
+ "text.autoconfig.skyblocker.option.general.itemInfoDisplay.itemRarityBackgrounds.@Tooltip": "Displays a colored background behind an item, the color represents the item's rarity.",
+ "text.autoconfig.skyblocker.option.general.itemInfoDisplay.itemRarityBackgroundsOpacity": "Item Rarity Backgrounds Opacity",
"text.autoconfig.skyblocker.option.general.specialEffects": "Special Effects",
"text.autoconfig.skyblocker.option.general.specialEffects.rareDungeonDropEffects": "Rare Dungeon Drop Effects",
"text.autoconfig.skyblocker.option.general.specialEffects.rareDungeonDropEffects.@Tooltip": "Adds a special visual effect triggered upon obtaining rare dungeon loot!",
diff --git a/src/main/resources/assets/skyblocker/textures/gui/sprites/item_rarity_background.png b/src/main/resources/assets/skyblocker/textures/gui/sprites/item_rarity_background.png
new file mode 100644
index 00000000..fd8e8604
--- /dev/null
+++ b/src/main/resources/assets/skyblocker/textures/gui/sprites/item_rarity_background.png
Binary files differ
diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json
index e9dc5e58..86481bf3 100644
--- a/src/main/resources/fabric.mod.json
+++ b/src/main/resources/fabric.mod.json
@@ -16,19 +16,19 @@
"environment": "client",
"entrypoints": {
"client": [
- "me.xmrvizzy.skyblocker.SkyblockerMod"
+ "de.hysky.skyblocker.SkyblockerMod"
],
"preLaunch": [
"dev.cbyrne.betterinject.BetterInject::initialize"
],
"modmenu": [
- "me.xmrvizzy.skyblocker.compatibility.modmenu.ModMenuEntry"
+ "de.hysky.skyblocker.compatibility.modmenu.ModMenuEntry"
],
"rei_client": [
- "me.xmrvizzy.skyblocker.compatibility.rei.SkyblockerREIClientPlugin"
+ "de.hysky.skyblocker.compatibility.rei.SkyblockerREIClientPlugin"
],
"emi": [
- "me.xmrvizzy.skyblocker.compatibility.emi.SkyblockerEMIPlugin"
+ "de.hysky.skyblocker.compatibility.emi.SkyblockerEMIPlugin"
]
},
"mixins": [
diff --git a/src/main/resources/skyblocker.mixins.json b/src/main/resources/skyblocker.mixins.json
index a4fe92dd..efca46f7 100644
--- a/src/main/resources/skyblocker.mixins.json
+++ b/src/main/resources/skyblocker.mixins.json
@@ -1,13 +1,14 @@
{
"required": true,
- "package": "me.xmrvizzy.skyblocker.mixin",
- "plugin": "me.xmrvizzy.skyblocker.compatibility.MixinPlugin",
+ "package": "de.hysky.skyblocker.mixin",
+ "plugin": "de.hysky.skyblocker.compatibility.MixinPlugin",
"compatibilityLevel": "JAVA_17",
"client": [
"AbstractInventoryScreenMixin",
"ArmorTrimMixin",
"BatEntityMixin",
"ClientPlayerEntityMixin",
+ "ClientPlayerInteractionManagerMixin",
"ClientPlayNetworkHandlerMixin",
"DrawContextMixin",
"DyeableItemMixin",
@@ -16,6 +17,7 @@
"HandledScreenMixin",
"InGameHudMixin",
"InventoryScreenMixin",
+ "ItemMixin",
"ItemStackMixin",
"LeverBlockMixin",
"MinecraftClientMixin",
@@ -27,15 +29,15 @@
"YggdrasilMinecraftSessionServiceMixin",
"YggdrasilServicesKeyInfoMixin",
"accessor.BeaconBlockEntityRendererInvoker",
+ "accessor.DrawContextInvoker",
"accessor.FrustumInvoker",
"accessor.HandledScreenAccessor",
"accessor.PlayerListHudAccessor",
"accessor.RecipeBookWidgetAccessor",
"accessor.ScreenAccessor",
- "accessor.WorldRendererAccessor",
- "accessor.DrawContextInvoker"
+ "accessor.WorldRendererAccessor"
],
"injectors": {
"defaultRequire": 1
}
-} \ No newline at end of file
+}
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/StatusBarTrackerTest.java b/src/test/java/de/hysky/skyblocker/skyblock/StatusBarTrackerTest.java
index da919699..c058da5d 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/StatusBarTrackerTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/StatusBarTrackerTest.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock;
+package de.hysky.skyblocker.skyblock;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/AcceptRepartyTest.java b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/AcceptRepartyTest.java
index eb867a37..5dba3f96 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/AcceptRepartyTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/AcceptRepartyTest.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon;
+package de.hysky.skyblocker.skyblock.dungeon;
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListenerTest;
+import de.hysky.skyblocker.utils.chat.ChatPatternListenerTest;
import org.junit.jupiter.api.Test;
import java.util.regex.Matcher;
diff --git a/src/test/java/de/hysky/skyblocker/skyblock/dungeon/DungeonChestProfitTest.java b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/DungeonChestProfitTest.java
new file mode 100644
index 00000000..3a55ce5b
--- /dev/null
+++ b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/DungeonChestProfitTest.java
@@ -0,0 +1,22 @@
+package de.hysky.skyblocker.skyblock.dungeon;
+
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+public class DungeonChestProfitTest {
+ @Test
+ void testProfitText() {
+ SkyblockerConfig.DungeonChestProfit config = new SkyblockerConfig.DungeonChestProfit();
+ Assertions.assertEquals("literal{ 0}[style={color=dark_gray}]", DungeonChestProfit.getProfitText(0, false, config.neutralThreshold, config.neutralColor, config.profitColor, config.lossColor, config.incompleteColor).toString());
+ Assertions.assertEquals("literal{ 0}[style={color=blue}]", DungeonChestProfit.getProfitText(0, true, config.neutralThreshold, config.neutralColor, config.profitColor, config.lossColor, config.incompleteColor).toString());
+ Assertions.assertEquals("literal{ +10}[style={color=dark_gray}]", DungeonChestProfit.getProfitText(10, false, config.neutralThreshold, config.neutralColor, config.profitColor, config.lossColor, config.incompleteColor).toString());
+ Assertions.assertEquals("literal{ +10}[style={color=blue}]", DungeonChestProfit.getProfitText(10, true, config.neutralThreshold, config.neutralColor, config.profitColor, config.lossColor, config.incompleteColor).toString());
+ Assertions.assertEquals("literal{ -10}[style={color=dark_gray}]", DungeonChestProfit.getProfitText(-10, false, config.neutralThreshold, config.neutralColor, config.profitColor, config.lossColor, config.incompleteColor).toString());
+ Assertions.assertEquals("literal{ -10}[style={color=blue}]", DungeonChestProfit.getProfitText(-10, true, config.neutralThreshold, config.neutralColor, config.profitColor, config.lossColor, config.incompleteColor).toString());
+ Assertions.assertEquals("literal{ +10,000}[style={color=dark_green}]", DungeonChestProfit.getProfitText(10000, false, config.neutralThreshold, config.neutralColor, config.profitColor, config.lossColor, config.incompleteColor).toString());
+ Assertions.assertEquals("literal{ +10,000}[style={color=blue}]", DungeonChestProfit.getProfitText(10000, true, config.neutralThreshold, config.neutralColor, config.profitColor, config.lossColor, config.incompleteColor).toString());
+ Assertions.assertEquals("literal{ -10,000}[style={color=red}]", DungeonChestProfit.getProfitText(-10000, false, config.neutralThreshold, config.neutralColor, config.profitColor, config.lossColor, config.incompleteColor).toString());
+ Assertions.assertEquals("literal{ -10,000}[style={color=blue}]", DungeonChestProfit.getProfitText(-10000, true, config.neutralThreshold, config.neutralColor, config.profitColor, config.lossColor, config.incompleteColor).toString());
+ }
+}
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdosTest.java b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/ThreeWeirdosTest.java
index 6a5dd2a7..3772fd75 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdosTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/ThreeWeirdosTest.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon;
+package de.hysky.skyblocker.skyblock.dungeon;
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListenerTest;
+import de.hysky.skyblocker.utils.chat.ChatPatternListenerTest;
import org.junit.jupiter.api.Test;
class ThreeWeirdosTest extends ChatPatternListenerTest<ThreeWeirdos> {
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/TriviaTest.java b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/TriviaTest.java
index a787967d..1df5a8e1 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/TriviaTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/TriviaTest.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon;
+package de.hysky.skyblocker.skyblock.dungeon;
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListenerTest;
+import de.hysky.skyblocker.utils.chat.ChatPatternListenerTest;
import org.junit.jupiter.api.Test;
class TriviaTest extends ChatPatternListenerTest<Trivia> {
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonRoomsDFU.java b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonRoomsDFU.java
index 5e4cdeef..3d2993cf 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonRoomsDFU.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonRoomsDFU.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon.secrets;
+package de.hysky.skyblocker.skyblock.dungeon.secrets;
import net.minecraft.datafixer.fix.ItemIdFix;
import net.minecraft.datafixer.fix.ItemInstanceTheFlatteningFix;
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/RoomTest.java b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/secrets/RoomTest.java
index b704037c..5309aae6 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/RoomTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/dungeon/secrets/RoomTest.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon.secrets;
+package de.hysky.skyblocker.skyblock.dungeon.secrets;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dwarven/FetchurTest.java b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/FetchurTest.java
index 5d78beeb..08282972 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dwarven/FetchurTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/FetchurTest.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.dwarven;
+package de.hysky.skyblocker.skyblock.dwarven;
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListenerTest;
+import de.hysky.skyblocker.utils.chat.ChatPatternListenerTest;
import org.junit.jupiter.api.Test;
class FetchurTest extends ChatPatternListenerTest<Fetchur> {
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dwarven/PuzzlerTest.java b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/PuzzlerTest.java
index 8b92e9f5..9437a5c9 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dwarven/PuzzlerTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/dwarven/PuzzlerTest.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.dwarven;
+package de.hysky.skyblocker.skyblock.dwarven;
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListenerTest;
+import de.hysky.skyblocker.utils.chat.ChatPatternListenerTest;
import org.junit.jupiter.api.Test;
class PuzzlerTest extends ChatPatternListenerTest<Puzzler> {
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/AbilityFilterTest.java b/src/test/java/de/hysky/skyblocker/skyblock/filters/AbilityFilterTest.java
index de82039e..8e286d8f 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/AbilityFilterTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/filters/AbilityFilterTest.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/AdFilterTest.java b/src/test/java/de/hysky/skyblocker/skyblock/filters/AdFilterTest.java
index 30315131..3eec1cd9 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/AdFilterTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/filters/AdFilterTest.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListenerTest;
+import de.hysky.skyblocker.utils.chat.ChatPatternListenerTest;
import org.junit.jupiter.api.Test;
import java.util.regex.Matcher;
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/AoteFilterTest.java b/src/test/java/de/hysky/skyblocker/skyblock/filters/AoteFilterTest.java
index 52903b1b..3115a48d 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/AoteFilterTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/filters/AoteFilterTest.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/AutopetFilterTest.java b/src/test/java/de/hysky/skyblocker/skyblock/filters/AutopetFilterTest.java
index 2c8f1425..846acbb8 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/AutopetFilterTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/filters/AutopetFilterTest.java
@@ -1,6 +1,6 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListenerTest;
+import de.hysky.skyblocker.utils.chat.ChatPatternListenerTest;
import org.junit.jupiter.api.Test;
class AutopetFilterTest extends ChatPatternListenerTest<AutopetFilter> {
diff --git a/src/test/java/de/hysky/skyblocker/skyblock/filters/ChatFilterTest.java b/src/test/java/de/hysky/skyblocker/skyblock/filters/ChatFilterTest.java
new file mode 100644
index 00000000..b8b08016
--- /dev/null
+++ b/src/test/java/de/hysky/skyblocker/skyblock/filters/ChatFilterTest.java
@@ -0,0 +1,10 @@
+package de.hysky.skyblocker.skyblock.filters;
+
+import de.hysky.skyblocker.utils.chat.ChatPatternListener;
+import de.hysky.skyblocker.utils.chat.ChatPatternListenerTest;
+
+public class ChatFilterTest<T extends ChatPatternListener> extends ChatPatternListenerTest<T> {
+ public ChatFilterTest(T listener) {
+ super(listener);
+ }
+}
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/ComboFilterTest.java b/src/test/java/de/hysky/skyblocker/skyblock/filters/ComboFilterTest.java
index 2914db39..85b01b4b 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/ComboFilterTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/filters/ComboFilterTest.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/HealFilterTest.java b/src/test/java/de/hysky/skyblocker/skyblock/filters/HealFilterTest.java
index d720d4be..d57bf0dc 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/HealFilterTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/filters/HealFilterTest.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/ImplosionFilterTest.java b/src/test/java/de/hysky/skyblocker/skyblock/filters/ImplosionFilterTest.java
index b9b872d9..327fcebb 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/ImplosionFilterTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/filters/ImplosionFilterTest.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/TeleportPadFilterTest.java b/src/test/java/de/hysky/skyblocker/skyblock/filters/TeleportPadFilterTest.java
index b8a96703..681d64c0 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/TeleportPadFilterTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/filters/TeleportPadFilterTest.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
+package de.hysky.skyblocker.skyblock.filters;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/item/ArmorTrimIdSerializationTest.java b/src/test/java/de/hysky/skyblocker/skyblock/item/ArmorTrimIdSerializationTest.java
index a6ef79b0..36b65cae 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/item/ArmorTrimIdSerializationTest.java
+++ b/src/test/java/de/hysky/skyblocker/skyblock/item/ArmorTrimIdSerializationTest.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.skyblock.item;
+package de.hysky.skyblocker.skyblock.item;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
diff --git a/src/test/java/me/xmrvizzy/skyblocker/utils/chat/ChatPatternListenerTest.java b/src/test/java/de/hysky/skyblocker/utils/chat/ChatPatternListenerTest.java
index 5d6f5727..8b670cbb 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/utils/chat/ChatPatternListenerTest.java
+++ b/src/test/java/de/hysky/skyblocker/utils/chat/ChatPatternListenerTest.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.utils.chat;
+package de.hysky.skyblocker.utils.chat;
import java.util.regex.Matcher;
diff --git a/src/test/java/me/xmrvizzy/skyblocker/utils/scheduler/SchedulerTest.java b/src/test/java/de/hysky/skyblocker/utils/scheduler/SchedulerTest.java
index 5b3317ab..429273ac 100644
--- a/src/test/java/me/xmrvizzy/skyblocker/utils/scheduler/SchedulerTest.java
+++ b/src/test/java/de/hysky/skyblocker/utils/scheduler/SchedulerTest.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.utils.scheduler;
+package de.hysky.skyblocker.utils.scheduler;
import org.apache.commons.lang3.mutable.MutableInt;
import org.junit.jupiter.api.Assertions;
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonChestProfitTest.java b/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonChestProfitTest.java
deleted file mode 100644
index 7a130b5a..00000000
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonChestProfitTest.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.dungeon;
-
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-
-public class DungeonChestProfitTest {
- @Test
- void testProfitText() {
- SkyblockerConfig.DungeonChestProfit config = new SkyblockerConfig.DungeonChestProfit();
- Assertions.assertEquals("literal{ 0}[style={color=dark_gray}]", DungeonChestProfit.getProfitText(0, false, config.neutralThreshold, config.neutralColor.formatting, config.profitColor.formatting, config.lossColor.formatting, config.incompleteColor.formatting).toString());
- Assertions.assertEquals("literal{ 0}[style={color=blue}]", DungeonChestProfit.getProfitText(0, true, config.neutralThreshold, config.neutralColor.formatting, config.profitColor.formatting, config.lossColor.formatting, config.incompleteColor.formatting).toString());
- Assertions.assertEquals("literal{ +10}[style={color=dark_gray}]", DungeonChestProfit.getProfitText(10, false, config.neutralThreshold, config.neutralColor.formatting, config.profitColor.formatting, config.lossColor.formatting, config.incompleteColor.formatting).toString());
- Assertions.assertEquals("literal{ +10}[style={color=blue}]", DungeonChestProfit.getProfitText(10, true, config.neutralThreshold, config.neutralColor.formatting, config.profitColor.formatting, config.lossColor.formatting, config.incompleteColor.formatting).toString());
- Assertions.assertEquals("literal{ -10}[style={color=dark_gray}]", DungeonChestProfit.getProfitText(-10, false, config.neutralThreshold, config.neutralColor.formatting, config.profitColor.formatting, config.lossColor.formatting, config.incompleteColor.formatting).toString());
- Assertions.assertEquals("literal{ -10}[style={color=blue}]", DungeonChestProfit.getProfitText(-10, true, config.neutralThreshold, config.neutralColor.formatting, config.profitColor.formatting, config.lossColor.formatting, config.incompleteColor.formatting).toString());
- Assertions.assertEquals("literal{ +10,000}[style={color=dark_green}]", DungeonChestProfit.getProfitText(10000, false, config.neutralThreshold, config.neutralColor.formatting, config.profitColor.formatting, config.lossColor.formatting, config.incompleteColor.formatting).toString());
- Assertions.assertEquals("literal{ +10,000}[style={color=blue}]", DungeonChestProfit.getProfitText(10000, true, config.neutralThreshold, config.neutralColor.formatting, config.profitColor.formatting, config.lossColor.formatting, config.incompleteColor.formatting).toString());
- Assertions.assertEquals("literal{ -10,000}[style={color=red}]", DungeonChestProfit.getProfitText(-10000, false, config.neutralThreshold, config.neutralColor.formatting, config.profitColor.formatting, config.lossColor.formatting, config.incompleteColor.formatting).toString());
- Assertions.assertEquals("literal{ -10,000}[style={color=blue}]", DungeonChestProfit.getProfitText(-10000, true, config.neutralThreshold, config.neutralColor.formatting, config.profitColor.formatting, config.lossColor.formatting, config.incompleteColor.formatting).toString());
- }
-}
diff --git a/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/ChatFilterTest.java b/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/ChatFilterTest.java
deleted file mode 100644
index 5d397d16..00000000
--- a/src/test/java/me/xmrvizzy/skyblocker/skyblock/filters/ChatFilterTest.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package me.xmrvizzy.skyblocker.skyblock.filters;
-
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener;
-import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListenerTest;
-
-public class ChatFilterTest<T extends ChatPatternListener> extends ChatPatternListenerTest<T> {
- public ChatFilterTest(T listener) {
- super(listener);
- }
-}