From 5bea2876a1447692b3a0236f8b454e976f6aaa96 Mon Sep 17 00:00:00 2001 From: Jab125 <67534807+Jab125@users.noreply.github.com> Date: Wed, 15 Jan 2025 15:08:59 +1100 Subject: [PATCH] slot --- .../client/gui/element/LegacyArmorSlot.java | 1 + .../client/gui/element/LegacyResultSlot.java | 1 + .../client/gui/element/LegacySlot.java | 1 + .../client/gui/extention/SlotExtension.java | 12 +++++ .../tweak/legacy_ui/slot/SlotMixin.java | 45 +++++++++++++++++++ src/main/resources/legacy_tweaks.mixins.json | 1 + 6 files changed, 61 insertions(+) create mode 100644 src/main/java/xyz/violaflower/legacy_tweaks/client/gui/extention/SlotExtension.java create mode 100644 src/main/java/xyz/violaflower/legacy_tweaks/mixin/client/tweak/legacy_ui/slot/SlotMixin.java diff --git a/src/main/java/xyz/violaflower/legacy_tweaks/client/gui/element/LegacyArmorSlot.java b/src/main/java/xyz/violaflower/legacy_tweaks/client/gui/element/LegacyArmorSlot.java index c6dc8679..ba42f99d 100644 --- a/src/main/java/xyz/violaflower/legacy_tweaks/client/gui/element/LegacyArmorSlot.java +++ b/src/main/java/xyz/violaflower/legacy_tweaks/client/gui/element/LegacyArmorSlot.java @@ -13,6 +13,7 @@ import net.minecraft.world.item.enchantment.EnchantmentHelper; import org.jetbrains.annotations.Nullable; +@Deprecated(forRemoval = true) public class LegacyArmorSlot extends LegacySlot { private final LivingEntity owner; private final EquipmentSlot slot; diff --git a/src/main/java/xyz/violaflower/legacy_tweaks/client/gui/element/LegacyResultSlot.java b/src/main/java/xyz/violaflower/legacy_tweaks/client/gui/element/LegacyResultSlot.java index 81803ef5..c7f8cac9 100644 --- a/src/main/java/xyz/violaflower/legacy_tweaks/client/gui/element/LegacyResultSlot.java +++ b/src/main/java/xyz/violaflower/legacy_tweaks/client/gui/element/LegacyResultSlot.java @@ -9,6 +9,7 @@ import net.minecraft.world.item.crafting.CraftingInput; import net.minecraft.world.item.crafting.RecipeType; +@Deprecated(forRemoval = true) public class LegacyResultSlot extends LegacySlot { private final CraftingContainer craftSlots; private final Player player; diff --git a/src/main/java/xyz/violaflower/legacy_tweaks/client/gui/element/LegacySlot.java b/src/main/java/xyz/violaflower/legacy_tweaks/client/gui/element/LegacySlot.java index 2557661c..95ea450d 100644 --- a/src/main/java/xyz/violaflower/legacy_tweaks/client/gui/element/LegacySlot.java +++ b/src/main/java/xyz/violaflower/legacy_tweaks/client/gui/element/LegacySlot.java @@ -3,6 +3,7 @@ import net.minecraft.world.Container; import net.minecraft.world.inventory.Slot; +@Deprecated(forRemoval = true) public class LegacySlot extends Slot { public final int size; public final float x; diff --git a/src/main/java/xyz/violaflower/legacy_tweaks/client/gui/extention/SlotExtension.java b/src/main/java/xyz/violaflower/legacy_tweaks/client/gui/extention/SlotExtension.java new file mode 100644 index 00000000..0336d69c --- /dev/null +++ b/src/main/java/xyz/violaflower/legacy_tweaks/client/gui/extention/SlotExtension.java @@ -0,0 +1,12 @@ +package xyz.violaflower.legacy_tweaks.client.gui.extention; + +public interface SlotExtension { + void lt$setVisualX(float x); + void lt$setVisualY(float y); + float lt$getVisualX(); + float lt$getVisualY(); + + /// @param size size in scaled pixels + void lt$setSize(int size); + /*let's assume it's an int*/int lt$getSize(); +} diff --git a/src/main/java/xyz/violaflower/legacy_tweaks/mixin/client/tweak/legacy_ui/slot/SlotMixin.java b/src/main/java/xyz/violaflower/legacy_tweaks/mixin/client/tweak/legacy_ui/slot/SlotMixin.java new file mode 100644 index 00000000..4a4b1fab --- /dev/null +++ b/src/main/java/xyz/violaflower/legacy_tweaks/mixin/client/tweak/legacy_ui/slot/SlotMixin.java @@ -0,0 +1,45 @@ +package xyz.violaflower.legacy_tweaks.mixin.client.tweak.legacy_ui.slot; + +import net.minecraft.world.inventory.Slot; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Unique; +import xyz.violaflower.legacy_tweaks.client.gui.extention.SlotExtension; + +@Mixin(Slot.class) +public class SlotMixin implements SlotExtension { + @Unique + private float visualX; + @Unique + private float visualY; + @Unique + private int size; + @Override + public void lt$setVisualX(float x) { + this.visualX = x; + } + + @Override + public void lt$setVisualY(float y) { + this.visualY = y; + } + + @Override + public float lt$getVisualX() { + return this.visualX; + } + + @Override + public float lt$getVisualY() { + return this.visualY; + } + + @Override + public void lt$setSize(int size) { + this.size = size; + } + + @Override + public int lt$getSize() { + return this.size; + } +} diff --git a/src/main/resources/legacy_tweaks.mixins.json b/src/main/resources/legacy_tweaks.mixins.json index 9fb8c9ea..0803fccc 100644 --- a/src/main/resources/legacy_tweaks.mixins.json +++ b/src/main/resources/legacy_tweaks.mixins.json @@ -60,6 +60,7 @@ ], "mixins": [ "client.accessor.CraftingMenuAccessor", + "client.tweak.legacy_ui.slot.SlotMixin", "common.tweak.gameplay.EntityMixin", "common.tweak.legacy_attack.ItemStackMixin", "common.tweak.legacy_attack.PlayerMixin",