aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryScreen.java
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-03-06 20:25:01 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-03-06 20:25:01 +0800
commite5909b2fa40428d2a25a4f727a49a4f4fc47ad01 (patch)
tree65f1191151fbddf34da01c1d5eca9427c9751f14 /src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryScreen.java
parent467c6d161a72f6b242c9d1c03ba0db43d70f9f67 (diff)
downloadRoughlyEnoughItems-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.java26
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();
+ }
}
}