diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-01-12 15:23:14 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-01-12 15:23:14 +0800 |
| commit | df941b4b679fea60840862298710916720f112b6 (patch) | |
| tree | 16edb6c434960347294a939eaf19d5a85bfdf5cb /src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryGui.java | |
| parent | 1ac6e0efb3ef837634e23b897ec9dcd826357462 (diff) | |
| download | RoughlyEnoughItems-2.0.0.32.tar.gz RoughlyEnoughItems-2.0.0.32.tar.bz2 RoughlyEnoughItems-2.0.0.32.zip | |
Fixed lots of guisv2.0.0.32
Diffstat (limited to 'src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryGui.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryGui.java | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryGui.java b/src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryGui.java new file mode 100644 index 000000000..f564bad8c --- /dev/null +++ b/src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryGui.java @@ -0,0 +1,62 @@ +package me.shedaniel.rei.mixin; + +import me.shedaniel.rei.listeners.IMixinTabGetter; +import net.minecraft.client.gui.ingame.AbstractPlayerInventoryGui; +import net.minecraft.client.gui.ingame.CreativePlayerInventoryGui; +import net.minecraft.entity.player.PlayerInventory; +import net.minecraft.item.ItemGroup; +import net.minecraft.text.TextComponent; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(CreativePlayerInventoryGui.class) +public abstract class MixinCreativePlayerInventoryGui extends AbstractPlayerInventoryGui<CreativePlayerInventoryGui.CreativeContainer> implements IMixinTabGetter { + + @Shadow + private static int selectedTab; + @Shadow + private boolean field_2888; + + public MixinCreativePlayerInventoryGui(CreativePlayerInventoryGui.CreativeContainer container_1, PlayerInventory playerInventory_1, TextComponent textComponent_1) { + super(container_1, playerInventory_1, textComponent_1); + } + + @Shadow + protected abstract boolean doRenderScrollBar(); + + @Override + public int 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)) { + ci.setReturnValue(true); + ci.cancel(); + } + } + + @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.getId()) + if (super.keyPressed(int_1, int_2, int_3)) { + ci.setReturnValue(true); + ci.cancel(); + } + } + + @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.getId()) + if (super.charTyped(char_1, int_1)) { + ci.setReturnValue(true); + ci.cancel(); + } + } + +} |
