diff options
author | ExternalTime <84183548+ExternalTime@users.noreply.github.com> | 2021-10-07 19:57:25 +0200 |
---|---|---|
committer | ExternalTime <84183548+ExternalTime@users.noreply.github.com> | 2021-10-10 17:08:06 +0200 |
commit | 9572664f807e2f545a2d4b6d9f2b4dfa0a9791c3 (patch) | |
tree | e9edfe6c8b847c559ccaf96dd419e251d83a496d /src/main/java/me/xmrvizzy/skyblocker/mixin/MinecraftClientMixin.java | |
parent | 50de2604202bdb8ac3a69d0e5625d60ede57512b (diff) | |
download | Skyblocker-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.java | 12 |
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 |