From 3a53e51494523871870491617ae6add9b3fe87fe Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Thu, 13 Jun 2024 21:46:56 -0400 Subject: 1.21 --- .../java/de/hysky/skyblocker/SkyblockerScreen.java | 2 +- .../compatibility/emi/SkyblockerEMIPlugin.java | 4 +- .../de/hysky/skyblocker/config/ConfigUtils.java | 2 +- .../skyblocker/config/configs/GeneralConfig.java | 8 ++-- .../config/configs/QuickNavigationConfig.java | 2 +- .../config/datafixer/ConfigDataFixer.java | 2 +- .../config/datafixer/ConfigFix2QuickNav.java | 2 +- .../hysky/skyblocker/events/HudRenderEvents.java | 5 ++- .../skyblocker/mixins/ComponentHolderMixin.java | 4 +- .../skyblocker/mixins/HandledScreenMixin.java | 2 +- .../de/hysky/skyblocker/mixins/InGameHudMixin.java | 16 ++++---- .../de/hysky/skyblocker/mixins/ItemStackMixin.java | 2 +- .../BeaconBlockEntityRendererInvoker.java | 2 +- .../hysky/skyblocker/skyblock/TeleportOverlay.java | 2 +- .../skyblock/auction/AuctionBrowserScreen.java | 8 ++-- .../skyblock/auction/AuctionViewScreen.java | 2 +- .../auction/widgets/AuctionTypeWidget.java | 6 +-- .../auction/widgets/CategoryTabWidget.java | 3 +- .../skyblock/auction/widgets/RarityWidget.java | 4 +- .../skyblock/auction/widgets/SortWidget.java | 6 +-- .../skyblock/chat/ChatRuleAnnouncementScreen.java | 9 +++-- .../skyblock/crimson/kuudra/KuudraWaypoints.java | 5 +-- .../skyblocker/skyblock/dungeon/DungeonMap.java | 2 +- .../skyblock/dungeon/DungeonMapConfigScreen.java | 2 +- .../skyblock/dungeon/DungeonScoreHUD.java | 2 +- .../skyblock/dungeon/DungeonTextures.java | 2 +- .../skyblock/dungeon/FireFreezeStaffTimer.java | 3 +- .../skyblock/dungeon/partyfinder/PartyEntry.java | 4 +- .../dungeon/partyfinder/PartyFinderScreen.java | 6 +-- .../skyblock/dungeon/puzzle/CreeperBeams.java | 13 ++++--- .../skyblock/dungeon/puzzle/IceFill.java | 3 +- .../skyblock/dungeon/puzzle/Silverfish.java | 6 +-- .../skyblock/dungeon/puzzle/TicTacToe.java | 2 +- .../skyblock/dungeon/puzzle/boulder/Boulder.java | 8 ++-- .../dungeon/puzzle/waterboard/Waterboard.java | 3 +- .../skyblock/dungeon/secrets/DungeonManager.java | 2 +- .../skyblock/dungeon/terminal/ColorTerminal.java | 2 +- .../skyblocker/skyblock/dwarven/CrystalsHud.java | 11 +++--- .../skyblocker/skyblock/dwarven/DwarvenHud.java | 2 +- .../skyblock/dwarven/GlaciteColdOverlay.java | 2 +- .../skyblocker/skyblock/end/EndHudWidget.java | 4 +- .../hysky/skyblocker/skyblock/end/EnderNodes.java | 3 +- .../de/hysky/skyblocker/skyblock/end/TheEnd.java | 5 ++- .../skyblocker/skyblock/events/EventToast.java | 2 +- .../skyblock/fancybars/FancyStatusBars.java | 10 ++--- .../skyblocker/skyblock/fancybars/StatusBar.java | 4 +- .../skyblock/fancybars/StatusBarsConfigScreen.java | 2 +- .../skyblocker/skyblock/garden/FarmingHud.java | 2 +- .../skyblock/item/SkyblockCraftingTableScreen.java | 24 ++++++------ .../skyblock/item/tooltip/BackpackPreview.java | 18 +++++++-- .../tooltip/CompactorPreviewTooltipComponent.java | 2 +- .../skyblock/itemlist/ItemListWidget.java | 2 +- .../skyblock/itemlist/ItemStackBuilder.java | 2 +- .../skyblock/itemlist/ResultButtonWidget.java | 2 +- .../skyblock/itemlist/SearchResultsWidget.java | 4 +- .../skyblock/quicknav/QuickNavButton.java | 2 +- .../skyblocker/skyblock/rift/EffigyWaypoints.java | 9 +++-- .../skyblocker/skyblock/rift/EnigmaSouls.java | 8 ++-- .../skyblock/rift/MirrorverseWaypoints.java | 5 ++- .../skyblock/searchoverlay/OverlayScreen.java | 4 +- .../tabhud/screenbuilder/ScreenMaster.java | 4 +- .../skyblocker/skyblock/waypoint/FairySouls.java | 3 +- .../skyblock/waypoint/MythologicalRitual.java | 3 +- .../hysky/skyblocker/skyblock/waypoint/Relics.java | 5 ++- .../skyblock/waypoint/WaypointsListWidget.java | 2 +- .../java/de/hysky/skyblocker/utils/ColorUtils.java | 13 +++++++ .../datafixer/ItemStackComponentizationFixer.java | 19 +++++----- .../skyblocker/utils/render/RenderHelper.java | 43 ++++++++++------------ .../utils/render/gui/AbstractPopupScreen.java | 4 +- .../utils/render/gui/SideTabButtonWidget.java | 2 +- .../utils/render/title/TitleContainer.java | 5 ++- 71 files changed, 210 insertions(+), 180 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/de/hysky/skyblocker/SkyblockerScreen.java b/src/main/java/de/hysky/skyblocker/SkyblockerScreen.java index 15c855a0..0196a37a 100644 --- a/src/main/java/de/hysky/skyblocker/SkyblockerScreen.java +++ b/src/main/java/de/hysky/skyblocker/SkyblockerScreen.java @@ -41,7 +41,7 @@ public class SkyblockerScreen extends Screen { static { LocalDate date = LocalDate.now(); - ICON = date.getMonthValue() == 4 && date.getDayOfMonth() == 1 ? new Identifier(SkyblockerMod.NAMESPACE, "icons.png") : new Identifier(SkyblockerMod.NAMESPACE, "icon.png"); + ICON = date.getMonthValue() == 4 && date.getDayOfMonth() == 1 ? Identifier.of(SkyblockerMod.NAMESPACE, "icons.png") : Identifier.of(SkyblockerMod.NAMESPACE, "icon.png"); } private SkyblockerScreen() { diff --git a/src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java b/src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java index 8dfc5dc9..c02300ec 100644 --- a/src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java +++ b/src/main/java/de/hysky/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java @@ -16,9 +16,9 @@ import net.minecraft.util.Identifier; * EMI integration */ public class SkyblockerEMIPlugin implements EmiPlugin { - public static final Identifier SIMPLIFIED_TEXTURES = new Identifier("emi", "textures/gui/widgets.png"); + public static final Identifier SIMPLIFIED_TEXTURES = Identifier.of("emi", "textures/gui/widgets.png"); // TODO: Custom simplified texture for Skyblock - public static final EmiRecipeCategory SKYBLOCK = new EmiRecipeCategory(new Identifier(SkyblockerMod.NAMESPACE, "skyblock"), EmiStack.of(ItemUtils.getSkyblockerStack()), new EmiTexture(SIMPLIFIED_TEXTURES, 240, 240, 16, 16)); + public static final EmiRecipeCategory SKYBLOCK = new EmiRecipeCategory(Identifier.of(SkyblockerMod.NAMESPACE, "skyblock"), EmiStack.of(ItemUtils.getSkyblockerStack()), new EmiTexture(SIMPLIFIED_TEXTURES, 240, 240, 16, 16)); @Override public void register(EmiRegistry registry) { diff --git a/src/main/java/de/hysky/skyblocker/config/ConfigUtils.java b/src/main/java/de/hysky/skyblocker/config/ConfigUtils.java index 781f7f15..ee8dfb19 100644 --- a/src/main/java/de/hysky/skyblocker/config/ConfigUtils.java +++ b/src/main/java/de/hysky/skyblocker/config/ConfigUtils.java @@ -52,7 +52,7 @@ public class ConfigUtils { public static OptionDescription withImage(Path imagePath, @Nullable Text... texts) { return OptionDescription.createBuilder() .text(ArrayUtils.isNotEmpty(texts) ? texts : new Text[] {}) - .image(IMAGE_DIRECTORY.resolve(imagePath), new Identifier(SkyblockerMod.NAMESPACE, "config_image_" + FileUtils.normalizePath(imagePath))) + .image(IMAGE_DIRECTORY.resolve(imagePath), Identifier.of(SkyblockerMod.NAMESPACE, "config_image_" + FileUtils.normalizePath(imagePath))) .build(); } } diff --git a/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java index aa7566a0..9f612028 100644 --- a/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java @@ -157,8 +157,8 @@ public class GeneralConfig { } public enum RarityBackgroundStyle { - CIRCULAR(new Identifier(SkyblockerMod.NAMESPACE, "item_rarity_background_circular")), - SQUARE(new Identifier(SkyblockerMod.NAMESPACE, "item_rarity_background_square")); + CIRCULAR(Identifier.of(SkyblockerMod.NAMESPACE, "item_rarity_background_circular")), + SQUARE(Identifier.of(SkyblockerMod.NAMESPACE, "item_rarity_background_square")); public final Identifier tex; @@ -181,8 +181,8 @@ public class GeneralConfig { } public enum SlotLockStyle { - CLASSIC(new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/slot_lock.png")), - FANCY(new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/fancy_slot_lock.png")); + CLASSIC(Identifier.of(SkyblockerMod.NAMESPACE, "textures/gui/slot_lock.png")), + FANCY(Identifier.of(SkyblockerMod.NAMESPACE, "textures/gui/fancy_slot_lock.png")); public final Identifier tex; diff --git a/src/main/java/de/hysky/skyblocker/config/configs/QuickNavigationConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/QuickNavigationConfig.java index 20a0c9cc..e8e9c27f 100644 --- a/src/main/java/de/hysky/skyblocker/config/configs/QuickNavigationConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/configs/QuickNavigationConfig.java @@ -91,7 +91,7 @@ public class QuickNavigationConfig { } public ItemData(String item, int count, String components) { - this(Registries.ITEM.get(new Identifier(item)), count, components); + this(Registries.ITEM.get(Identifier.ofVanilla(item)), count, components); } public ItemData(Item item) { diff --git a/src/main/java/de/hysky/skyblocker/config/datafixer/ConfigDataFixer.java b/src/main/java/de/hysky/skyblocker/config/datafixer/ConfigDataFixer.java index f4e4aad1..b887d415 100644 --- a/src/main/java/de/hysky/skyblocker/config/datafixer/ConfigDataFixer.java +++ b/src/main/java/de/hysky/skyblocker/config/datafixer/ConfigDataFixer.java @@ -69,7 +69,7 @@ public class ConfigDataFixer { Schema schema3 = builder.addSchema(3, Schema::new); builder.addFixer(new ConfigFix2QuickNav(schema3, true)); - return builder.buildUnoptimized(); + return builder.build().fixer(); } private static JsonObject loadConfig(Path path) { diff --git a/src/main/java/de/hysky/skyblocker/config/datafixer/ConfigFix2QuickNav.java b/src/main/java/de/hysky/skyblocker/config/datafixer/ConfigFix2QuickNav.java index bd67b1b0..48dea0a7 100644 --- a/src/main/java/de/hysky/skyblocker/config/datafixer/ConfigFix2QuickNav.java +++ b/src/main/java/de/hysky/skyblocker/config/datafixer/ConfigFix2QuickNav.java @@ -33,6 +33,6 @@ public class ConfigFix2QuickNav extends ConfigDataFix { } private Dynamic fixButton(Dynamic button) { - return button.renameAndFixField("item", "itemData", itemData -> itemData.renameAndFixField("id", "item", id -> id.createString(new Identifier(id.asString().getOrThrow()).toString()))); + return button.renameAndFixField("item", "itemData", itemData -> itemData.renameAndFixField("id", "item", id -> id.createString(Identifier.of(id.asString().getOrThrow()).toString()))); } } diff --git a/src/main/java/de/hysky/skyblocker/events/HudRenderEvents.java b/src/main/java/de/hysky/skyblocker/events/HudRenderEvents.java index 13e70498..f6ee1ff5 100644 --- a/src/main/java/de/hysky/skyblocker/events/HudRenderEvents.java +++ b/src/main/java/de/hysky/skyblocker/events/HudRenderEvents.java @@ -3,6 +3,7 @@ package de.hysky.skyblocker.events; import net.fabricmc.fabric.api.event.Event; import net.fabricmc.fabric.api.event.EventFactory; import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.render.RenderTickCounter; /** * HUD render events that allow for proper layering between different HUD elements. @@ -43,8 +44,8 @@ public class HudRenderEvents { * Called sometime during a specific HUD render stage. * * @param drawContext The {@link DrawContext} instance - * @param tickDelta Progress for linearly interpolating between the previous and current game state + * @param tickCounter The {@link RenderTickCounter} instance */ - void onRender(DrawContext context, float tickDelta); + void onRender(DrawContext context, RenderTickCounter tickCounter); } } diff --git a/src/main/java/de/hysky/skyblocker/mixins/ComponentHolderMixin.java b/src/main/java/de/hysky/skyblocker/mixins/ComponentHolderMixin.java index 8fa03cdc..199f5c26 100644 --- a/src/main/java/de/hysky/skyblocker/mixins/ComponentHolderMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixins/ComponentHolderMixin.java @@ -11,7 +11,7 @@ import de.hysky.skyblocker.utils.ItemUtils; import de.hysky.skyblocker.utils.Utils; import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; import net.minecraft.component.ComponentHolder; -import net.minecraft.component.DataComponentType; +import net.minecraft.component.ComponentType; import net.minecraft.component.DataComponentTypes; import net.minecraft.item.ItemStack; import net.minecraft.item.trim.ArmorTrim; @@ -21,7 +21,7 @@ public interface ComponentHolderMixin { @SuppressWarnings("unchecked") @ModifyReturnValue(method = "get", at = @At("RETURN")) - private T skyblocker$customArmorTrims(T original, DataComponentType dataComponentType) { + private T skyblocker$customArmorTrims(T original, ComponentType dataComponentType) { if (Utils.isOnSkyblock() && ((Object) this) instanceof ItemStack stack) { if (dataComponentType == DataComponentTypes.TRIM) { Object2ObjectOpenHashMap customTrims = SkyblockerConfigManager.get().general.customArmorTrims; diff --git a/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java b/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java index 1a97c471..a7685ffc 100644 --- a/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java @@ -60,7 +60,7 @@ public abstract class HandledScreenMixin extends Screen private static final int OUT_OF_BOUNDS_SLOT = -999; @Unique - private static final Identifier ITEM_PROTECTION = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/item_protection.png"); + private static final Identifier ITEM_PROTECTION = Identifier.of(SkyblockerMod.NAMESPACE, "textures/gui/item_protection.png"); @Unique private static final Set FILLER_ITEMS = Set.of( diff --git a/src/main/java/de/hysky/skyblocker/mixins/InGameHudMixin.java b/src/main/java/de/hysky/skyblocker/mixins/InGameHudMixin.java index 7f4721a5..fffd74f9 100644 --- a/src/main/java/de/hysky/skyblocker/mixins/InGameHudMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixins/InGameHudMixin.java @@ -43,7 +43,7 @@ public abstract class InGameHudMixin { private static final Supplier SLOT_LOCK_ICON = () -> SkyblockerConfigManager.get().general.itemProtection.slotLockStyle.tex; @Unique - private static final Identifier ITEM_PROTECTION = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/item_protection.png"); + private static final Identifier ITEM_PROTECTION = Identifier.of(SkyblockerMod.NAMESPACE, "textures/gui/item_protection.png"); @Unique private static final Pattern DICER_TITLE_BLACKLIST = Pattern.compile(".+? DROP!"); @@ -58,7 +58,7 @@ public abstract class InGameHudMixin { @Final private LayeredDrawer layeredDrawer; - @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)) + @Inject(method = "renderHotbar", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/InGameHud;renderHotbarItem(Lnet/minecraft/client/gui/DrawContext;IILnet/minecraft/client/render/RenderTickCounter;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/item/ItemStack;I)V", ordinal = 0)) public void skyblocker$renderHotbarItemLockOrRarityBg(CallbackInfo ci, @Local(argsOnly = true) DrawContext context, @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()) { // slot lock @@ -141,17 +141,17 @@ public abstract class InGameHudMixin { @ModifyArg(method = "", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/LayeredDrawer;addLayer(Lnet/minecraft/client/gui/LayeredDrawer$Layer;)Lnet/minecraft/client/gui/LayeredDrawer;", ordinal = 2)) private LayeredDrawer.Layer skyblocker$afterMainHud(LayeredDrawer.Layer mainHudLayer) { - return (context, tickDelta) -> { - mainHudLayer.render(context, tickDelta); - HudRenderEvents.AFTER_MAIN_HUD.invoker().onRender(context, tickDelta); + return (context, tickCounter) -> { + mainHudLayer.render(context, tickCounter); + HudRenderEvents.AFTER_MAIN_HUD.invoker().onRender(context, tickCounter); }; } @ModifyArg(method = "", slice = @Slice(from = @At(value = "NEW", target = "Lnet/minecraft/client/gui/LayeredDrawer;", ordinal = 1)), at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/LayeredDrawer;addLayer(Lnet/minecraft/client/gui/LayeredDrawer$Layer;)Lnet/minecraft/client/gui/LayeredDrawer;", ordinal = 5)) private LayeredDrawer.Layer skyblocker$beforeChat(LayeredDrawer.Layer beforeChatLayer) { - return (context, tickDelta) -> { - HudRenderEvents.BEFORE_CHAT.invoker().onRender(context, tickDelta); - beforeChatLayer.render(context, tickDelta); + return (context, tickCounter) -> { + HudRenderEvents.BEFORE_CHAT.invoker().onRender(context, tickCounter); + beforeChatLayer.render(context, tickCounter); }; } diff --git a/src/main/java/de/hysky/skyblocker/mixins/ItemStackMixin.java b/src/main/java/de/hysky/skyblocker/mixins/ItemStackMixin.java index 6797cb61..2154c4b5 100644 --- a/src/main/java/de/hysky/skyblocker/mixins/ItemStackMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixins/ItemStackMixin.java @@ -12,7 +12,7 @@ import it.unimi.dsi.fastutil.ints.IntIntPair; import net.minecraft.component.ComponentHolder; import net.minecraft.component.type.ItemEnchantmentsComponent; import net.minecraft.item.ItemStack; -import net.minecraft.item.TooltipAppender; +import net.minecraft.item.tooltip.TooltipAppender; import net.minecraft.nbt.NbtCompound; import net.minecraft.nbt.NbtElement; import net.minecraft.text.Text; diff --git a/src/main/java/de/hysky/skyblocker/mixins/accessors/BeaconBlockEntityRendererInvoker.java b/src/main/java/de/hysky/skyblocker/mixins/accessors/BeaconBlockEntityRendererInvoker.java index 833cfc22..a2a98a68 100644 --- a/src/main/java/de/hysky/skyblocker/mixins/accessors/BeaconBlockEntityRendererInvoker.java +++ b/src/main/java/de/hysky/skyblocker/mixins/accessors/BeaconBlockEntityRendererInvoker.java @@ -10,7 +10,7 @@ import org.spongepowered.asm.mixin.gen.Invoker; public interface BeaconBlockEntityRendererInvoker { @SuppressWarnings("unused") @Invoker("renderBeam") - static void renderBeam(MatrixStack matrices, VertexConsumerProvider vertexConsumers, float tickDelta, long worldTime, int yOffset, int maxY, float[] color) { + static void renderBeam(MatrixStack matrices, VertexConsumerProvider vertexConsumers, float tickDelta, long worldTime, int yOffset, int maxY, int color) { throw new UnsupportedOperationException(); } } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java b/src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java index a8155b43..354c92fb 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java @@ -85,7 +85,7 @@ public class TeleportOverlay { render(wrc, blockHitResult); } else if (client.interactionManager != null && range > client.player.getAttributeInstance(EntityAttributes.PLAYER_BLOCK_INTERACTION_RANGE).getValue()) { @SuppressWarnings("DataFlowIssue") - HitResult result = client.player.raycast(range, wrc.tickDelta(), false); + HitResult result = client.player.raycast(range, wrc.tickCounter().getTickDelta(true), false); if (result.getType() == HitResult.Type.BLOCK && result instanceof BlockHitResult blockHitResult) { render(wrc, blockHitResult); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/auction/AuctionBrowserScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/auction/AuctionBrowserScreen.java index 557cb6c9..b690baa1 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/auction/AuctionBrowserScreen.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/auction/AuctionBrowserScreen.java @@ -41,11 +41,11 @@ import java.util.function.Supplier; public class AuctionBrowserScreen extends AbstractCustomHypixelGUI { private static final Logger LOGGER = LoggerFactory.getLogger(AuctionBrowserScreen.class); - private static final Identifier TEXTURE = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/auctions_gui/browser/background.png"); - private static final Identifier SCROLLER_TEXTURE = new Identifier("container/creative_inventory/scroller"); + private static final Identifier TEXTURE = Identifier.of(SkyblockerMod.NAMESPACE, "textures/gui/auctions_gui/browser/background.png"); + private static final Identifier SCROLLER_TEXTURE = Identifier.ofVanilla("container/creative_inventory/scroller"); - private static final Identifier up_arrow_tex = new Identifier(SkyblockerMod.NAMESPACE, "up_arrow_even"); // Put them in their own fields to avoid object allocation on each frame - private static final Identifier down_arrow_tex = new Identifier(SkyblockerMod.NAMESPACE, "down_arrow_even"); + private static final Identifier up_arrow_tex = Identifier.of(SkyblockerMod.NAMESPACE, "up_arrow_even"); // Put them in their own fields to avoid object allocation on each frame + private static final Identifier down_arrow_tex = Identifier.of(SkyblockerMod.NAMESPACE, "down_arrow_even"); public static final Supplier UP_ARROW = () -> MinecraftClient.getInstance().getGuiAtlasManager().getSprite(up_arrow_tex); public static final Supplier DOWN_ARROW = () -> MinecraftClient.getInstance().getGuiAtlasManager().getSprite(down_arrow_tex); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/auction/AuctionViewScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/auction/AuctionViewScreen.java index f3db2a25..ed5e0f59 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/auction/AuctionViewScreen.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/auction/AuctionViewScreen.java @@ -31,7 +31,7 @@ import java.util.Optional; import java.util.concurrent.atomic.AtomicReference; public class AuctionViewScreen extends AbstractCustomHypixelGUI { - protected static final Identifier BACKGROUND_TEXTURE = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/auctions_gui/browser/background_view.png"); + protected static final Identifier BACKGROUND_TEXTURE = Identifier.of(SkyblockerMod.NAMESPACE, "textures/gui/auctions_gui/browser/background_view.png"); public static final int BACK_BUTTON_SLOT = 49; diff --git a/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/AuctionTypeWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/AuctionTypeWidget.java index 2204d39c..86202ffe 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/AuctionTypeWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/AuctionTypeWidget.java @@ -23,11 +23,11 @@ public class AuctionTypeWidget extends SliderWidget { private final Identifier texture; private static final String prefix = "textures/gui/auctions_gui/auction_type_widget/"; - private static final Identifier HOVER_TEXTURE = new Identifier(SkyblockerMod.NAMESPACE, prefix + "hover.png"); - private static final Identifier BACK_TEXTURE = new Identifier(SkyblockerMod.NAMESPACE, prefix + "back.png"); + private static final Identifier HOVER_TEXTURE = Identifier.of(SkyblockerMod.NAMESPACE, prefix + "hover.png"); + private static final Identifier BACK_TEXTURE = Identifier.of(SkyblockerMod.NAMESPACE, prefix + "back.png"); Option(String textureName) { - texture = new Identifier(SkyblockerMod.NAMESPACE, prefix + textureName); + texture = Identifier.of(SkyblockerMod.NAMESPACE, prefix + textureName); } private static final AuctionTypeWidget.Option[] values = values(); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/CategoryTabWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/CategoryTabWidget.java index a0b5f0b9..89744085 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/CategoryTabWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/CategoryTabWidget.java @@ -4,9 +4,10 @@ import de.hysky.skyblocker.skyblock.auction.SlotClickHandler; import de.hysky.skyblocker.utils.render.gui.SideTabButtonWidget; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.item.TooltipType; import net.minecraft.item.Item.TooltipContext; import net.minecraft.item.ItemStack; +import net.minecraft.item.tooltip.TooltipType; + import org.jetbrains.annotations.NotNull; public class CategoryTabWidget extends SideTabButtonWidget { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/RarityWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/RarityWidget.java index b6bd42a9..696b9f50 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/RarityWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/RarityWidget.java @@ -19,8 +19,8 @@ import java.util.Map; public class RarityWidget extends ClickableWidget { - private static final Identifier HOVER_TEXTURE = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/auctions_gui/rarity_widget/hover.png"); - private static final Identifier TEXTURE = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/auctions_gui/rarity_widget/background.png"); + private static final Identifier HOVER_TEXTURE = Identifier.of(SkyblockerMod.NAMESPACE, "textures/gui/auctions_gui/rarity_widget/hover.png"); + private static final Identifier TEXTURE = Identifier.of(SkyblockerMod.NAMESPACE, "textures/gui/auctions_gui/rarity_widget/background.png"); private final SlotClickHandler onClick; private int slotId = -1; diff --git a/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/SortWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/SortWidget.java index 84b8ae4d..205cba33 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/SortWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/SortWidget.java @@ -24,11 +24,11 @@ public class SortWidget extends SliderWidget { private final Identifier texture; private static final String prefix = "textures/gui/auctions_gui/sort_widget/"; - private static final Identifier HOVER_TEXTURE = new Identifier(SkyblockerMod.NAMESPACE, prefix + "hover.png"); - private static final Identifier BACK_TEXTURE = new Identifier(SkyblockerMod.NAMESPACE, prefix + "back.png"); + private static final Identifier HOVER_TEXTURE = Identifier.of(SkyblockerMod.NAMESPACE, prefix + "hover.png"); + private static final Identifier BACK_TEXTURE = Identifier.of(SkyblockerMod.NAMESPACE, prefix + "back.png"); Option(String textureName) { - texture = new Identifier(SkyblockerMod.NAMESPACE, prefix + textureName); + texture = Identifier.of(SkyblockerMod.NAMESPACE, prefix + textureName); } public Identifier getOptionTexture() { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRuleAnnouncementScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRuleAnnouncementScreen.java index b8d409ae..5fac426e 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRuleAnnouncementScreen.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRuleAnnouncementScreen.java @@ -4,6 +4,7 @@ import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.events.HudRenderEvents; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.render.RenderTickCounter; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; @@ -13,11 +14,11 @@ public class ChatRuleAnnouncementScreen { private static Text text = null; public static void init() { - HudRenderEvents.BEFORE_CHAT.register((context, tickDelta) -> { + HudRenderEvents.BEFORE_CHAT.register((context, tickCounter) -> { if (timer <= 0 || text == null) { return; } - render(context, tickDelta); + render(context, tickCounter); }); } @@ -26,10 +27,10 @@ public class ChatRuleAnnouncementScreen { * @param context render context * @param tickDelta difference from last render to remove from timer */ - private static void render(DrawContext context, float tickDelta) { + private static void render(DrawContext context, RenderTickCounter tickCounter) { int scale = SkyblockerConfigManager.get().chat.chatRuleConfig.announcementScale; //decrement timer - timer -= tickDelta; + timer -= tickCounter.getTickDelta(true); //scale text up and center MatrixStack matrices = context.getMatrices(); matrices.push(); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/crimson/kuudra/KuudraWaypoints.java b/src/main/java/de/hysky/skyblocker/skyblock/crimson/kuudra/KuudraWaypoints.java index 5b586f71..dbf7409a 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/crimson/kuudra/KuudraWaypoints.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/crimson/kuudra/KuudraWaypoints.java @@ -17,7 +17,6 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.JsonOps; 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; @@ -53,8 +52,8 @@ public class KuudraWaypoints { private static boolean loaded; static void load(MinecraftClient client) { - CompletableFuture safeSpots = loadWaypoints(client, new Identifier(SkyblockerMod.NAMESPACE, "crimson/kuudra/safe_spot_waypoints.json"), SAFE_SPOT_WAYPOINTS, SAFE_SPOT_COLOR); - CompletableFuture pearls = loadWaypoints(client, new Identifier(SkyblockerMod.NAMESPACE, "crimson/kuudra/pearl_waypoints.json"), PEARL_WAYPOINTS, PEARL_COLOR); + CompletableFuture safeSpots = loadWaypoints(client, Identifier.of(SkyblockerMod.NAMESPACE, "crimson/kuudra/safe_spot_waypoints.json"), SAFE_SPOT_WAYPOINTS, SAFE_SPOT_COLOR); + CompletableFuture pearls = loadWaypoints(client, Identifier.of(SkyblockerMod.NAMESPACE, "crimson/kuudra/pearl_waypoints.json"), PEARL_WAYPOINTS, PEARL_COLOR); CompletableFuture.allOf(safeSpots, pearls).whenComplete((_result, _throwable) -> loaded = true); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java index 1e896794..a46daf52 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java @@ -26,7 +26,7 @@ public class DungeonMap { private static MapIdComponent cachedMapIdComponent = null; public static void init() { - HudRenderEvents.AFTER_MAIN_HUD.register((context, tickDelta) -> render(context)); + HudRenderEvents.AFTER_MAIN_HUD.register((context, tickCounter) -> render(context)); ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal("skyblocker") .then(ClientCommandManager.literal("hud") .then(ClientCommandManager.literal("dungeon") diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java index 068510c2..bcddbee3 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java @@ -15,7 +15,7 @@ public class DungeonMapConfigScreen extends Screen { private int mapY = SkyblockerConfigManager.get().dungeons.dungeonMap.mapY; private int scoreX = SkyblockerConfigManager.get().dungeons.dungeonScore.scoreX; private int scoreY = SkyblockerConfigManager.get().dungeons.dungeonScore.scoreY; - private static final Identifier MAP_BACKGROUND = new Identifier("textures/map/map_background.png"); + private static final Identifier MAP_BACKGROUND = Identifier.ofVanilla("textures/map/map_background.png"); private final Screen parent; protected DungeonMapConfigScreen() { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScoreHUD.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScoreHUD.java index 1896eb53..cd8b9706 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScoreHUD.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScoreHUD.java @@ -14,7 +14,7 @@ public class DungeonScoreHUD { } public static void init() { - HudRenderEvents.AFTER_MAIN_HUD.register((context, tickDelta) -> render(context)); + HudRenderEvents.AFTER_MAIN_HUD.register((context, tickCounter) -> render(context)); } //This is 4+5 wide, needed to offset the extra width from bold numbers (3×1 wide) in S+ and the "+" (6 wide) so that it doesn't go off the screen if the score is S+ and the hud element is at the right edge of the screen diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonTextures.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonTextures.java index 1d55491f..502efc6f 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonTextures.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonTextures.java @@ -8,7 +8,7 @@ import net.minecraft.util.Identifier; public class DungeonTextures { public static void init() { ResourceManagerHelper.registerBuiltinResourcePack( - new Identifier(SkyblockerMod.NAMESPACE, "recolored_dungeon_items"), + Identifier.of(SkyblockerMod.NAMESPACE, "recolored_dungeon_items"), SkyblockerMod.SKYBLOCKER_MOD, ResourcePackActivationType.NORMAL ); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/FireFreezeStaffTimer.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/FireFreezeStaffTimer.java index b2a9b521..3422bc0f 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/FireFreezeStaffTimer.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/FireFreezeStaffTimer.java @@ -7,6 +7,7 @@ import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents; import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.render.RenderTickCounter; import net.minecraft.text.Text; import net.minecraft.util.Formatting; @@ -19,7 +20,7 @@ public class FireFreezeStaffTimer { ClientPlayConnectionEvents.JOIN.register((handler, sender, client) -> FireFreezeStaffTimer.reset()); } - private static void onDraw(DrawContext context, float v) { + private static void onDraw(DrawContext context, RenderTickCounter tickCounter) { MinecraftClient client = MinecraftClient.getInstance(); if (client.currentScreen != null) return; diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyEntry.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyEntry.java index 588e2431..0b52f1ed 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyEntry.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyEntry.java @@ -33,8 +33,8 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; public class PartyEntry extends ElementListWidget.Entry { - private static final Identifier PARTY_CARD_TEXTURE = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/party_card.png"); - private static final Identifier PARTY_CARD_TEXTURE_HOVER = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/party_card_hover.png"); + private static final Identifier PARTY_CARD_TEXTURE = Identifier.of(SkyblockerMod.NAMESPACE, "textures/gui/party_card.png"); + private static final Identifier PARTY_CARD_TEXTURE_HOVER = Identifier.of(SkyblockerMod.NAMESPACE, "textures/gui/party_card_hover.png"); public static final Text JOIN_TEXT = Text.translatable("skyblocker.partyFinder.join"); private static final Map SKULL_CACHE = new Object2ObjectOpenHashMap<>(); protected final PartyFinderScreen screen; diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyFinderScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyFinderScreen.java index d22084f2..ad002057 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyFinderScreen.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyFinderScreen.java @@ -37,8 +37,8 @@ import java.util.concurrent.CompletableFuture; public class PartyFinderScreen extends Screen { protected static final Logger LOGGER = LoggerFactory.getLogger(PartyFinderScreen.class); - protected static final Identifier BACKGROUND_TEXTURE = new Identifier("social_interactions/background"); - protected static final Identifier SEARCH_ICON_TEXTURE = new Identifier("icon/search"); + protected static final Identifier BACKGROUND_TEXTURE = Identifier.ofVanilla("social_interactions/background"); + protected static final Identifier SEARCH_ICON_TEXTURE = Identifier.ofVanilla("icon/search"); protected static final Text SEARCH_TEXT = Text.translatable("gui.socialInteractions.search_hint").formatted(Formatting.ITALIC).formatted(Formatting.GRAY); public static boolean isInKuudraPartyFinder = false; @@ -110,7 +110,7 @@ public class PartyFinderScreen extends Screen { CompletableFuture.runAsync(() -> { floorIconsNormal = new HashMap<>(); floorIconsMaster = new HashMap<>(); - try (BufferedReader skullTextureReader = client.getResourceManager().openAsReader(new Identifier(SkyblockerMod.NAMESPACE, "dungeons/catacombs/floorskulls.json"))) { + try (BufferedReader skullTextureReader = client.getResourceManager().openAsReader(Identifier.of(SkyblockerMod.NAMESPACE, "dungeons/catacombs/floorskulls.json"))) { JsonObject json = SkyblockerMod.GSON.fromJson(skullTextureReader, JsonObject.class); json.getAsJsonObject("normal").asMap().forEach((s, tex) -> floorIconsNormal.put(s, ItemUtils.propertyMapWithTexture(tex.getAsString()))); json.getAsJsonObject("master").asMap().forEach((s, tex) -> floorIconsMaster.put(s, ItemUtils.propertyMapWithTexture(tex.getAsString()))); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/CreeperBeams.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/CreeperBeams.java index 3d9e05ae..75dd7708 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/CreeperBeams.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/CreeperBeams.java @@ -1,6 +1,7 @@ package de.hysky.skyblocker.skyblock.dungeon.puzzle; import de.hysky.skyblocker.config.SkyblockerConfigManager; +import de.hysky.skyblocker.utils.ColorUtils; import de.hysky.skyblocker.utils.Utils; import de.hysky.skyblocker.utils.render.RenderHelper; import it.unimi.dsi.fastutil.objects.ObjectDoublePair; @@ -28,13 +29,13 @@ public class CreeperBeams extends DungeonPuzzle { private static final Logger LOGGER = LoggerFactory.getLogger(CreeperBeams.class.getName()); private static final float[][] COLORS = { - DyeColor.LIGHT_BLUE.getColorComponents(), - DyeColor.LIME.getColorComponents(), - DyeColor.YELLOW.getColorComponents(), - DyeColor.MAGENTA.getColorComponents(), - DyeColor.PINK.getColorComponents(), + ColorUtils.getFloatComponents(DyeColor.LIGHT_BLUE), + ColorUtils.getFloatComponents(DyeColor.LIME), + ColorUtils.getFloatComponents(DyeColor.YELLOW), + ColorUtils.getFloatComponents(DyeColor.MAGENTA), + ColorUtils.getFloatComponents(DyeColor.PINK), }; - private static final float[] GREEN_COLOR_COMPONENTS = DyeColor.GREEN.getColorComponents(); + private static final float[] GREEN_COLOR_COMPONENTS = ColorUtils.getFloatComponents(DyeColor.GREEN); private static final int FLOOR_Y = 68; private static final int BASE_Y = 74; diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/IceFill.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/IceFill.java index 8bc14b52..883a469a 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/IceFill.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/IceFill.java @@ -7,6 +7,7 @@ import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.debug.Debug; import de.hysky.skyblocker.skyblock.dungeon.secrets.DungeonManager; import de.hysky.skyblocker.skyblock.dungeon.secrets.Room; +import de.hysky.skyblocker.utils.ColorUtils; import de.hysky.skyblocker.utils.Constants; import de.hysky.skyblocker.utils.render.RenderHelper; import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; @@ -27,7 +28,7 @@ import static net.fabricmc.fabric.api.client.command.v2.ClientCommandManager.lit public class IceFill extends DungeonPuzzle { public static final IceFill INSTANCE = new IceFill(); - private static final float[] RED_COLOR_COMPONENTS = DyeColor.RED.getColorComponents(); + private static final float[] RED_COLOR_COMPONENTS = ColorUtils.getFloatComponents(DyeColor.RED); private static final BlockPos[] BOARD_ORIGINS = { new BlockPos(16, 70, 9), new BlockPos(17, 71, 16), diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Silverfish.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Silverfish.java index 3b0ee65c..f4376c54 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Silverfish.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Silverfish.java @@ -6,6 +6,7 @@ import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.debug.Debug; import de.hysky.skyblocker.skyblock.dungeon.secrets.DungeonManager; import de.hysky.skyblocker.skyblock.dungeon.secrets.Room; +import de.hysky.skyblocker.utils.ColorUtils; import de.hysky.skyblocker.utils.Constants; import de.hysky.skyblocker.utils.render.RenderHelper; import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; @@ -19,17 +20,14 @@ import net.minecraft.util.math.Direction; import net.minecraft.util.math.Vec3d; import org.joml.Vector2i; import org.joml.Vector2ic; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.util.*; import static net.fabricmc.fabric.api.client.command.v2.ClientCommandManager.literal; public class Silverfish extends DungeonPuzzle { - private static final Logger LOGGER = LoggerFactory.getLogger(Silverfish.class); public static final Silverfish INSTANCE = new Silverfish(); - private static final float[] RED_COLOR_COMPONENTS = DyeColor.RED.getColorComponents(); + private static final float[] RED_COLOR_COMPONENTS = ColorUtils.getFloatComponents(DyeColor.RED); final boolean[][] silverfishBoard = new boolean[17][17]; Vector2ic silverfishPos; final List silverfishPath = new ArrayList<>(); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/TicTacToe.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/TicTacToe.java index 3c0b0dc9..5a497c19 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/TicTacToe.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/TicTacToe.java @@ -55,7 +55,7 @@ public class TicTacToe extends DungeonPuzzle { char[][] board = new char[3][3]; for (ItemFrameEntity itemFrame : itemFramesThatHoldMaps) { - MapState mapState = client.world.getMapState(itemFrame.getMapId()); + MapState mapState = client.world.getMapState(itemFrame.getMapId(itemFrame.getHeldItemStack())); if (mapState == null) continue; diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/boulder/Boulder.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/boulder/Boulder.java index 68671896..aef9109f 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/boulder/Boulder.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/boulder/Boulder.java @@ -4,6 +4,7 @@ import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.skyblock.dungeon.puzzle.DungeonPuzzle; import de.hysky.skyblocker.skyblock.dungeon.secrets.DungeonManager; import de.hysky.skyblocker.skyblock.dungeon.secrets.Room; +import de.hysky.skyblocker.utils.ColorUtils; import de.hysky.skyblocker.utils.render.RenderHelper; import de.hysky.skyblocker.utils.render.title.Title; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; @@ -18,17 +19,14 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Box; import net.minecraft.util.math.Vec3d; import net.minecraft.world.BlockView; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.util.Arrays; import java.util.List; public class Boulder extends DungeonPuzzle { - private static final Logger LOGGER = LoggerFactory.getLogger(Boulder.class.getName()); private static final Boulder INSTANCE = new Boulder(); - private static final float[] RED_COLOR_COMPONENTS = DyeColor.RED.getColorComponents(); - private static final float[] ORANGE_COLOR_COMPONENTS = DyeColor.ORANGE.getColorComponents(); + private static final float[] RED_COLOR_COMPONENTS = ColorUtils.getFloatComponents(DyeColor.RED); + private static final float[] ORANGE_COLOR_COMPONENTS = ColorUtils.getFloatComponents(DyeColor.ORANGE); private static final int BASE_Y = 65; static Vec3d[] linePoints; static Box boundingBox; diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/waterboard/Waterboard.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/waterboard/Waterboard.java index 4e8122c3..511827b9 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/waterboard/Waterboard.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/waterboard/Waterboard.java @@ -11,6 +11,7 @@ import de.hysky.skyblocker.skyblock.dungeon.puzzle.DungeonPuzzle; import de.hysky.skyblocker.skyblock.dungeon.puzzle.waterboard.Cell.SwitchCell; import de.hysky.skyblocker.skyblock.dungeon.secrets.DungeonManager; import de.hysky.skyblocker.skyblock.dungeon.secrets.Room; +import de.hysky.skyblocker.utils.ColorUtils; import de.hysky.skyblocker.utils.Constants; import de.hysky.skyblocker.utils.render.RenderHelper; import de.hysky.skyblocker.utils.scheduler.Scheduler; @@ -71,7 +72,7 @@ public class Waterboard extends DungeonPuzzle { new BlockPos(10, 61, 10) }; public static final BlockPos WATER_LEVER = new BlockPos(15, 60, 5); - private static final float[] LIME_COLOR_COMPONENTS = DyeColor.LIME.getColorComponents(); + private static final float[] LIME_COLOR_COMPONENTS = ColorUtils.getFloatComponents(DyeColor.LIME); private CompletableFuture solve; private final Cell[][] cells = new Cell[19][19]; diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonManager.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonManager.java index e4504cc9..b9986731 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonManager.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonManager.java @@ -295,7 +295,7 @@ public class DungeonManager { })); } dungeonFutures.add(CompletableFuture.runAsync(() -> { - try (BufferedReader roomsReader = MinecraftClient.getInstance().getResourceManager().openAsReader(new Identifier(SkyblockerMod.NAMESPACE, "dungeons/dungeonrooms.json")); BufferedReader waypointsReader = MinecraftClient.getInstance().getResourceManager().openAsReader(new Identifier(SkyblockerMod.NAMESPACE, "dungeons/secretlocations.json"))) { + try (BufferedReader roomsReader = MinecraftClient.getInstance().getResourceManager().openAsReader(Identifier.of(SkyblockerMod.NAMESPACE, "dungeons/dungeonrooms.json")); BufferedReader waypointsReader = MinecraftClient.getInstance().getResourceManager().openAsReader(Identifier.of(SkyblockerMod.NAMESPACE, "dungeons/secretlocations.json"))) { loadJson(roomsReader, roomsJson); loadJson(waypointsReader, waypointsJson); LOGGER.debug("[Skyblocker Dungeon Secrets] Loaded dungeon secret waypoints json"); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java index 2abe5183..7a966b48 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java @@ -72,7 +72,7 @@ public final class ColorTerminal extends ContainerSolver implements TerminalSolv itemColor = new HashMap<>(); for (DyeColor color : DyeColor.values()) for (String item : new String[]{"dye", "wool", "stained_glass", "terracotta"}) - itemColor.put(Registries.ITEM.get(new Identifier(color.getName() + '_' + item)), color); + itemColor.put(Registries.ITEM.get(Identifier.ofVanilla(color.getName() + '_' + item)), color); itemColor.put(Items.BONE_MEAL, DyeColor.WHITE); itemColor.put(Items.LAPIS_LAZULI, DyeColor.BLUE); itemColor.put(Items.COCOA_BEANS, DyeColor.BROWN); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHud.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHud.java index 63430489..7f4dbdbf 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHud.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHud.java @@ -21,8 +21,8 @@ import java.util.Map; public class CrystalsHud { private static final MinecraftClient CLIENT = MinecraftClient.getInstance(); - protected static final Identifier MAP_TEXTURE = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/crystals_map.png"); - private static final Identifier MAP_ICON = new Identifier("textures/map/decorations/player.png"); + protected static final Identifier MAP_TEXTURE = Identifier.of(SkyblockerMod.NAMESPACE, "textures/gui/crystals_map.png"); + private static final Identifier MAP_ICON = Identifier.ofVanilla("textures/map/decorations/player.png"); private static final List SMALL_LOCATIONS = List.of("Fairy Grotto", "King Yolkar", "Corleone", "Odawa", "Key Guardian"); @@ -34,13 +34,13 @@ public class CrystalsHud { .then(ClientCommandManager.literal("crystals") .executes(Scheduler.queueOpenScreenCommand(CrystalsHudConfigScreen::new)))))); - HudRenderEvents.AFTER_MAIN_HUD.register((context, tickDelta) -> { + HudRenderEvents.AFTER_MAIN_HUD.register((context, tickCounter) -> { if (!SkyblockerConfigManager.get().mining.crystalsHud.enabled || CLIENT.player == null || !visible) { return; } - render(context, tickDelta, SkyblockerConfigManager.get().mining.crystalsHud.x, + render(context, SkyblockerConfigManager.get().mining.crystalsHud.x, SkyblockerConfigManager.get().mining.crystalsHud.y); }); } @@ -54,11 +54,10 @@ public class CrystalsHud { * Renders the map to the players UI. renders the background image ({@link CrystalsHud#MAP_TEXTURE}) of the map then if enabled special locations on the map. then finally the player to the map. * * @param context DrawContext to draw map to - * @param tickDelta For interpolating the player's yaw for map marker * @param hudX Top left X coordinate of the map * @param hudY Top left Y coordinate of the map */ - private static void render(DrawContext context, float tickDelta, int hudX, int hudY) { + private static void render(DrawContext context, int hudX, int hudY) { float scale = SkyblockerConfigManager.get().mining.crystalsHud.mapScaling; //make sure the map renders infront of some stuff - improve this in the future with better layering (1.20.5?) diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java index 9ca9953b..16c36dde 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java @@ -62,7 +62,7 @@ public class DwarvenHud { ) )); - HudRenderEvents.AFTER_MAIN_HUD.register((context, tickDelta) -> { + HudRenderEvents.AFTER_MAIN_HUD.register((context, tickCounter) -> { if (!SkyblockerConfigManager.get().mining.dwarvenHud.enabledCommissions && !SkyblockerConfigManager.get().mining.dwarvenHud.enabledPowder || CLIENT.options.playerListKey.isPressed() || CLIENT.player == null diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java index 3839a712..f2911f9a 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/GlaciteColdOverlay.java @@ -13,7 +13,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; public class GlaciteColdOverlay { - private static final Identifier POWDER_SNOW_OUTLINE = new Identifier("textures/misc/powder_snow_outline.png"); + private static final Identifier POWDER_SNOW_OUTLINE = Identifier.ofVanilla("textures/misc/powder_snow_outline.png"); private static final Pattern COLD_PATTERN = Pattern.compile("Cold: -(\\d+)❄"); private static int cold = 0; private static long resetTime = System.currentTimeMillis(); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java index 53c4336e..0d9822fe 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java @@ -9,6 +9,8 @@ import net.minecraft.component.type.ProfileComponent; import net.minecraft.enchantment.Enchantments; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; +import net.minecraft.registry.BuiltinRegistries; +import net.minecraft.registry.RegistryKeys; import net.minecraft.text.MutableText; import net.minecraft.text.Text; import net.minecraft.util.Formatting; @@ -35,7 +37,7 @@ public class EndHudWidget extends Widget { static { ENDERMAN_HEAD.set(DataComponentTypes.PROFILE, new ProfileComponent(Optional.of("MHF_Enderman"), Optional.empty(), new PropertyMap())); - POPPY.addEnchantment(Enchantments.INFINITY, 1); + POPPY.addEnchantment(BuiltinRegistries.createWrapperLookup().getWrapperOrThrow(RegistryKeys.ENCHANTMENT).getOptional(Enchantments.INFINITY).get(), 1); INSTANCE.setX(SkyblockerConfigManager.get().otherLocations.end.x); INSTANCE.setY(SkyblockerConfigManager.get().otherLocations.end.y); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/end/EnderNodes.java b/src/main/java/de/hysky/skyblocker/skyblock/end/EnderNodes.java index b0282a69..e5a3a9fa 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/end/EnderNodes.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/end/EnderNodes.java @@ -1,6 +1,7 @@ package de.hysky.skyblocker.skyblock.end; import de.hysky.skyblocker.config.SkyblockerConfigManager; +import de.hysky.skyblocker.utils.ColorUtils; import de.hysky.skyblocker.utils.Utils; import de.hysky.skyblocker.utils.scheduler.Scheduler; import de.hysky.skyblocker.utils.waypoint.Waypoint; @@ -117,7 +118,7 @@ public class EnderNodes { private long lastConfirmed; private EnderNode(BlockPos pos) { - super(pos, () -> SkyblockerConfigManager.get().uiAndVisuals.waypoints.waypointType, DyeColor.CYAN.getColorComponents(), false); + super(pos, () -> SkyblockerConfigManager.get().uiAndVisuals.waypoints.waypointType, ColorUtils.getFloatComponents(DyeColor.CYAN), false); } private void updateParticles() { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java b/src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java index ac961dd8..872d2823 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java @@ -5,6 +5,7 @@ import com.google.gson.JsonObject; import de.hysky.skyblocker.SkyblockerMod; import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.events.HudRenderEvents; +import de.hysky.skyblocker.utils.ColorUtils; import de.hysky.skyblocker.utils.Utils; import de.hysky.skyblocker.utils.waypoint.Waypoint; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientChunkEvents; @@ -73,7 +74,7 @@ public class TheEnd { }); - HudRenderEvents.AFTER_MAIN_HUD.register((drawContext, tickDelta) -> { + HudRenderEvents.AFTER_MAIN_HUD.register((drawContext, tickCounter) -> { if (!Utils.isInTheEnd()) return; if (!SkyblockerConfigManager.get().otherLocations.end.hudEnabled) return; @@ -268,7 +269,7 @@ public class TheEnd { public record ProtectorLocation(int x, int z, Text name, Waypoint waypoint) { public ProtectorLocation(int x, int z, Text name) { - this(x, z, name, new Waypoint(new BlockPos(x, 0, z), Waypoint.Type.WAYPOINT, DyeColor.MAGENTA.getColorComponents())); + this(x, z, name, new Waypoint(new BlockPos(x, 0, z), Waypoint.Type.WAYPOINT, ColorUtils.getFloatComponents(DyeColor.MAGENTA))); } } } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/events/EventToast.java b/src/main/java/de/hysky/skyblocker/skyblock/events/EventToast.java index 567c800a..48ea05c4 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/events/EventToast.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/events/EventToast.java @@ -18,7 +18,7 @@ import net.minecraft.util.Identifier; import java.util.List; public class EventToast implements Toast { - protected static final Identifier TEXTURE = new Identifier(SkyblockerMod.NAMESPACE, "notification"); + protected static final Identifier TEXTURE = Identifier.of(SkyblockerMod.NAMESPACE, "notification"); private final long eventStartTime; diff --git a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java index 72c1370c..c60fdd1a 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java @@ -52,16 +52,16 @@ public class FancyStatusBars { } public static void init() { - statusBars.put("health", new StatusBar(new Identifier(SkyblockerMod.NAMESPACE, "bars/icons/health"), + statusBars.put("health", new StatusBar(Identifier.of(SkyblockerMod.NAMESPACE, "bars/icons/health"), new Color[]{new Color(255, 0, 0), new Color(255, 220, 0)}, true, new Color(255, 85, 85), Text.translatable("skyblocker.bars.config.health"))); - statusBars.put("intelligence", new StatusBar(new Identifier(SkyblockerMod.NAMESPACE, "bars/icons/intelligence"), + statusBars.put("intelligence", new StatusBar(Identifier.of(SkyblockerMod.NAMESPACE, "bars/icons/intelligence"), new Color[]{new Color(0, 255, 255), new Color(180, 0, 255)}, true, new Color(85, 255, 255), Text.translatable("skyblocker.bars.config.intelligence"))); - statusBars.put("defense", new StatusBar(new Identifier(SkyblockerMod.NAMESPACE, "bars/icons/defense"), + statusBars.put("defense", new StatusBar(Identifier.of(SkyblockerMod.NAMESPACE, "bars/icons/defense"), new Color[]{new Color(255, 255, 255)}, false, new Color(185, 185, 185), Text.translatable("skyblocker.bars.config.defense"))); - statusBars.put("experience", new StatusBar(new Identifier(SkyblockerMod.NAMESPACE, "bars/icons/experience"), + statusBars.put("experience", new StatusBar(Identifier.of(SkyblockerMod.NAMESPACE, "bars/icons/experience"), new Color[]{new Color(100, 230, 70)}, false, new Color(128, 255, 32), Text.translatable("skyblocker.bars.config.experience"))); @@ -292,7 +292,7 @@ public class FancyStatusBars { Collection barCollection = statusBars.values(); for (StatusBar statusBar : barCollection) { - if (statusBar.anchor != null) statusBar.render(context, -1, -1, client.getLastFrameDuration()); + if (statusBar.anchor != null) statusBar.render(context, -1, -1, client.getRenderTickCounter().getLastFrameDuration()); } for (StatusBar statusBar : barCollection) { if (statusBar.anchor != null && statusBar.showText()) statusBar.renderText(context); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBar.java b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBar.java index 467691fd..6392f08a 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBar.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBar.java @@ -21,8 +21,8 @@ import java.util.function.Consumer; public class StatusBar implements Widget, Drawable, Element, Selectable { - private static final Identifier BAR_FILL = new Identifier(SkyblockerMod.NAMESPACE, "bars/bar_fill"); - private static final Identifier BAR_BACK = new Identifier(SkyblockerMod.NAMESPACE, "bars/bar_back"); + private static final Identifier BAR_FILL = Identifier.of(SkyblockerMod.NAMESPACE, "bars/bar_fill"); + private static final Identifier BAR_BACK = Identifier.of(SkyblockerMod.NAMESPACE, "bars/bar_back"); /* public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( diff --git a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBarsConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBarsConfigScreen.java index 0a9b2b7a..a412c1c5 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBarsConfigScreen.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBarsConfigScreen.java @@ -23,7 +23,7 @@ import java.util.HashMap; import java.util.Map; public class StatusBarsConfigScreen extends Screen { - private static final Identifier HOTBAR_TEXTURE = new Identifier("hud/hotbar"); + private static final Identifier HOTBAR_TEXTURE = Identifier.ofVanilla("hud/hotbar"); public static final long RESIZE_CURSOR = GLFW.glfwCreateStandardCursor(GLFW.GLFW_HRESIZE_CURSOR); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHud.java b/src/main/java/de/hysky