aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/mixin/MinecraftClientMixin.java
diff options
context:
space:
mode:
authorExternalTime <84183548+ExternalTime@users.noreply.github.com>2021-10-07 19:57:25 +0200
committerExternalTime <84183548+ExternalTime@users.noreply.github.com>2021-10-10 17:08:06 +0200
commit9572664f807e2f545a2d4b6d9f2b4dfa0a9791c3 (patch)
treee9edfe6c8b847c559ccaf96dd419e251d83a496d /src/main/java/me/xmrvizzy/skyblocker/mixin/MinecraftClientMixin.java
parent50de2604202bdb8ac3a69d0e5625d60ede57512b (diff)
downloadSkyblocker-9572664f807e2f545a2d4b6d9f2b4dfa0a9791c3.tar.gz
Skyblocker-9572664f807e2f545a2d4b6d9f2b4dfa0a9791c3.tar.bz2
Skyblocker-9572664f807e2f545a2d4b6d9f2b4dfa0a9791c3.zip
Added an interface for solvers for minigames inside chests
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/mixin/MinecraftClientMixin.java')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/MinecraftClientMixin.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/MinecraftClientMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/MinecraftClientMixin.java
index e5f1b829..21730e69 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/MinecraftClientMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/MinecraftClientMixin.java
@@ -1,9 +1,12 @@
package me.xmrvizzy.skyblocker.mixin;
import me.xmrvizzy.skyblocker.SkyblockerMod;
+import me.xmrvizzy.skyblocker.container.ContainerSolverManager;
import me.xmrvizzy.skyblocker.skyblock.HotbarSlotLock;
import me.xmrvizzy.skyblocker.utils.Utils;
import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.gui.screen.Screen;
+import net.minecraft.client.gui.screen.ingame.GenericContainerScreen;
import net.minecraft.client.network.ClientPlayerEntity;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Mixin;
@@ -26,4 +29,13 @@ public class MinecraftClientMixin {
public void handleInputEvents(CallbackInfo ci) {
if (Utils.isSkyblock) HotbarSlotLock.handleInputEvents(player);
}
+
+ @Inject(method = "setScreen", at = @At("HEAD"))
+ public void onSetScreen(Screen screen, CallbackInfo ci) {
+ ContainerSolverManager manager = SkyblockerMod.getInstance().containerSolverManager;
+ if(Utils.isSkyblock && screen instanceof GenericContainerScreen)
+ manager.onSetScreen((GenericContainerScreen) screen);
+ else
+ manager.clearScreen();
+ }
} \ No newline at end of file