From 9572664f807e2f545a2d4b6d9f2b4dfa0a9791c3 Mon Sep 17 00:00:00 2001 From: ExternalTime <84183548+ExternalTime@users.noreply.github.com> Date: Thu, 7 Oct 2021 19:57:25 +0200 Subject: Added an interface for solvers for minigames inside chests --- .../mixin/GenericContainerScreenHandlerMixin.java | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/main/java/me/xmrvizzy/skyblocker/mixin/GenericContainerScreenHandlerMixin.java (limited to 'src/main/java/me/xmrvizzy/skyblocker/mixin/GenericContainerScreenHandlerMixin.java') diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/GenericContainerScreenHandlerMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/GenericContainerScreenHandlerMixin.java new file mode 100644 index 00000000..be8d454d --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/GenericContainerScreenHandlerMixin.java @@ -0,0 +1,30 @@ +package me.xmrvizzy.skyblocker.mixin; + +import me.xmrvizzy.skyblocker.SkyblockerMod; +import net.minecraft.item.ItemStack; +import net.minecraft.screen.GenericContainerScreenHandler; +import net.minecraft.screen.ScreenHandler; +import net.minecraft.screen.ScreenHandlerType; +import org.jetbrains.annotations.Nullable; +import org.spongepowered.asm.mixin.Mixin; + +import java.util.List; + +@Mixin(GenericContainerScreenHandler.class) +public abstract class GenericContainerScreenHandlerMixin extends ScreenHandler { + protected GenericContainerScreenHandlerMixin(@Nullable ScreenHandlerType type, int syncId) { + super(type, syncId); + } + + @Override + public void setStackInSlot(int slot, int revision, ItemStack stack) { + SkyblockerMod.getInstance().containerSolverManager.markDirty(); + super.setStackInSlot(slot, revision, stack); + } + + @Override + public void updateSlotStacks(int revision, List stacks, ItemStack cursorStack) { + SkyblockerMod.getInstance().containerSolverManager.markDirty(); + super.updateSlotStacks(revision, stacks, cursorStack); + } +} -- cgit