From e5909b2fa40428d2a25a4f727a49a4f4fc47ad01 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 6 Mar 2019 20:25:01 +0800 Subject: Stuff's going on --- .../mixin/MixinCreativePlayerInventoryScreen.java | 26 +++++++++------------- 1 file changed, 11 insertions(+), 15 deletions(-) (limited to 'src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryScreen.java') diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryScreen.java b/src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryScreen.java index 1cf8b3398..94a6302a5 100644 --- a/src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryScreen.java +++ b/src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryScreen.java @@ -1,7 +1,7 @@ package me.shedaniel.rei.mixin; +import me.shedaniel.rei.client.ClientHelper; import me.shedaniel.rei.client.GuiHelper; -import me.shedaniel.rei.listeners.IMixinTabGetter; import net.minecraft.client.gui.ingame.AbstractPlayerInventoryScreen; import net.minecraft.client.gui.ingame.CreativePlayerInventoryScreen; import net.minecraft.entity.player.PlayerInventory; @@ -14,7 +14,7 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(CreativePlayerInventoryScreen.class) -public abstract class MixinCreativePlayerInventoryScreen extends AbstractPlayerInventoryScreen implements IMixinTabGetter { +public abstract class MixinCreativePlayerInventoryScreen extends AbstractPlayerInventoryScreen { @Shadow private static int selectedTab; @@ -28,15 +28,10 @@ public abstract class MixinCreativePlayerInventoryScreen extends AbstractPlayerI @Shadow protected abstract boolean doRenderScrollBar(); - @Override - public int rei_getSelectedTab() { - return selectedTab; - } - @Inject(method = "mouseScrolled", at = @At("HEAD"), cancellable = true) public void mouseScrolled(double amount, CallbackInfoReturnable ci) { - if (!doRenderScrollBar()) - if (super.mouseScrolled(amount)) { + if (!doRenderScrollBar() && selectedTab == ItemGroup.INVENTORY.getIndex()) + if (GuiHelper.isOverlayVisible() && GuiHelper.getLastOverlay().getRectangle().contains(ClientHelper.getMouseLocation()) && GuiHelper.getLastOverlay().mouseScrolled(amount)) { ci.setReturnValue(true); ci.cancel(); } @@ -45,7 +40,7 @@ public abstract class MixinCreativePlayerInventoryScreen extends AbstractPlayerI @Inject(method = "keyPressed", at = @At("HEAD"), cancellable = true) public void keyPressed(int int_1, int int_2, int int_3, CallbackInfoReturnable ci) { if (selectedTab == ItemGroup.INVENTORY.getIndex()) - if (super.keyPressed(int_1, int_2, int_3)) { + if (GuiHelper.getLastOverlay().keyPressed(int_1, int_2, int_3)) { ci.setReturnValue(true); ci.cancel(); } @@ -54,7 +49,7 @@ public abstract class MixinCreativePlayerInventoryScreen extends AbstractPlayerI @Inject(method = "charTyped", at = @At("HEAD"), cancellable = true) public void charTyped(char char_1, int int_1, CallbackInfoReturnable ci) { if (!this.field_2888 && selectedTab == ItemGroup.INVENTORY.getIndex()) - if (super.charTyped(char_1, int_1)) { + if (GuiHelper.isOverlayVisible() && GuiHelper.getLastOverlay().charTyped(char_1, int_1)) { ci.setReturnValue(true); ci.cancel(); } @@ -62,10 +57,11 @@ public abstract class MixinCreativePlayerInventoryScreen extends AbstractPlayerI @Inject(method = "mouseClicked", at = @At("HEAD"), cancellable = true) public void mouseClicked(double i, double j, int k, CallbackInfoReturnable ci) { - if (GuiHelper.getLastOverlay().mouseClicked(i, j, k)) { - ci.setReturnValue(true); - ci.cancel(); - } + if (selectedTab == ItemGroup.INVENTORY.getIndex()) + if (GuiHelper.isOverlayVisible() && GuiHelper.getLastOverlay().mouseClicked(i, j, k)) { + ci.setReturnValue(true); + ci.cancel(); + } } } -- cgit