diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-03-06 20:25:01 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-03-06 20:25:01 +0800 |
| commit | e5909b2fa40428d2a25a4f727a49a4f4fc47ad01 (patch) | |
| tree | 65f1191151fbddf34da01c1d5eca9427c9751f14 /src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryScreen.java | |
| parent | 467c6d161a72f6b242c9d1c03ba0db43d70f9f67 (diff) | |
| download | RoughlyEnoughItems-e5909b2fa40428d2a25a4f727a49a4f4fc47ad01.tar.gz RoughlyEnoughItems-e5909b2fa40428d2a25a4f727a49a4f4fc47ad01.tar.bz2 RoughlyEnoughItems-e5909b2fa40428d2a25a4f727a49a4f4fc47ad01.zip | |
Stuff's going on
Diffstat (limited to 'src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryScreen.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryScreen.java | 26 |
1 files changed, 11 insertions, 15 deletions
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<CreativePlayerInventoryScreen.CreativeContainer> implements IMixinTabGetter { +public abstract class MixinCreativePlayerInventoryScreen extends AbstractPlayerInventoryScreen<CreativePlayerInventoryScreen.CreativeContainer> { @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<Boolean> 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<Boolean> 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<Boolean> 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<Boolean> 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(); + } } } |
