diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-03-30 20:21:18 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-03-30 20:21:18 +0800 |
| commit | 16e35bc7ddb5924008be5be1b60db29d461d72b5 (patch) | |
| tree | 6b4405a47f6a902f4900e72d140304e3524ee0b5 /src/main/java/me/shedaniel/rei/utils | |
| parent | d5b270a829f5488ba6ab72778745da1f64769ff8 (diff) | |
| download | RoughlyEnoughItems-16e35bc7ddb5924008be5be1b60db29d461d72b5.tar.gz RoughlyEnoughItems-16e35bc7ddb5924008be5be1b60db29d461d72b5.tar.bz2 RoughlyEnoughItems-16e35bc7ddb5924008be5be1b60db29d461d72b5.zip | |
Using Cloth events instead of overwriting methods
Diffstat (limited to 'src/main/java/me/shedaniel/rei/utils')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/utils/ClothRegistry.java | 39 |
1 files changed, 28 insertions, 11 deletions
diff --git a/src/main/java/me/shedaniel/rei/utils/ClothRegistry.java b/src/main/java/me/shedaniel/rei/utils/ClothRegistry.java index 39feba41f..c8450200c 100644 --- a/src/main/java/me/shedaniel/rei/utils/ClothRegistry.java +++ b/src/main/java/me/shedaniel/rei/utils/ClothRegistry.java @@ -9,11 +9,11 @@ import me.shedaniel.cloth.gui.entries.IntegerListEntry; import me.shedaniel.cloth.gui.entries.StringListEntry; import me.shedaniel.cloth.hooks.ClothClientHooks; import me.shedaniel.rei.RoughlyEnoughItemsCore; -import me.shedaniel.rei.api.TabGetter; import me.shedaniel.rei.client.RecipeHelperImpl; import me.shedaniel.rei.client.ScreenHelper; import me.shedaniel.rei.gui.ContainerScreenOverlay; import me.shedaniel.rei.gui.config.ItemListOrderingEntry; +import me.shedaniel.rei.listeners.CreativePlayerInventoryScreenHooks; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.ContainerScreen; import net.minecraft.client.gui.Screen; @@ -39,8 +39,8 @@ public class ClothRegistry { ClothClientHooks.SCREEN_INIT_POST.register((minecraftClient, screen, screenHooks) -> { if (screen instanceof ContainerScreen) { if (screen instanceof CreativePlayerInventoryScreen) { - TabGetter tabGetter = (TabGetter) screen; - if (tabGetter.rei_getSelectedTab() != ItemGroup.INVENTORY.getIndex()) + CreativePlayerInventoryScreenHooks creativePlayerInventoryScreenHooks = (CreativePlayerInventoryScreenHooks) screen; + if (creativePlayerInventoryScreenHooks.rei_getSelectedTab() != ItemGroup.INVENTORY.getIndex()) return; } ScreenHelper.setLastContainerScreen((ContainerScreen) screen); @@ -50,20 +50,37 @@ public class ClothRegistry { ClothClientHooks.SCREEN_RENDER_POST.register((minecraftClient, screen, i, i1, v) -> { if (screen instanceof ContainerScreen) { if (screen instanceof CreativePlayerInventoryScreen) { - TabGetter tabGetter = (TabGetter) screen; - if (tabGetter.rei_getSelectedTab() != ItemGroup.INVENTORY.getIndex()) + CreativePlayerInventoryScreenHooks creativePlayerInventoryScreenHooks = (CreativePlayerInventoryScreenHooks) screen; + if (creativePlayerInventoryScreenHooks.rei_getSelectedTab() != ItemGroup.INVENTORY.getIndex()) return; } - ScreenHelper.getLastOverlay().drawOverlay(i, i1, v); + ScreenHelper.getLastOverlay().render(i, i1, v); } }); ClothClientHooks.SCREEN_MOUSE_SCROLLED.register((minecraftClient, screen, v, v1, v2) -> { - if (screen instanceof ContainerScreen && !(screen instanceof CreativePlayerInventoryScreen)) { - ContainerScreenOverlay overlay = ScreenHelper.getLastOverlay(); - if (ScreenHelper.isOverlayVisible() && ContainerScreenOverlay.getItemListOverlay().getListArea().contains(ClientUtils.getMouseLocation())) - if (overlay.mouseScrolled(v, v1, v2)) + if (screen instanceof ContainerScreen) + if (screen instanceof CreativePlayerInventoryScreen) { + if (((CreativePlayerInventoryScreenHooks) screen).rei_doRenderScrollBar()) + return ActionResult.PASS; + if (ScreenHelper.isOverlayVisible() && ScreenHelper.getLastOverlay().getRectangle().contains(ClientUtils.getMouseLocation()) && ScreenHelper.getLastOverlay().mouseScrolled(v, v1, v2)) return ActionResult.SUCCESS; - } + } else { + ContainerScreenOverlay overlay = ScreenHelper.getLastOverlay(); + if (ScreenHelper.isOverlayVisible() && ContainerScreenOverlay.getItemListOverlay().getListArea().contains(ClientUtils.getMouseLocation())) + if (overlay.mouseScrolled(v, v1, v2)) + return ActionResult.SUCCESS; + } + return ActionResult.PASS; + }); + ClothClientHooks.SCREEN_CHAR_TYPED.register((minecraftClient, screen, character, keyCode) -> { + if (screen instanceof ContainerScreen) + if (screen instanceof CreativePlayerInventoryScreen) { + if (((CreativePlayerInventoryScreenHooks) screen).rei_getField2888() || ((CreativePlayerInventoryScreenHooks) screen).rei_getSelectedTab() != ItemGroup.INVENTORY.getIndex()) + return ActionResult.PASS; + if (ScreenHelper.getLastOverlay().charTyped(character, keyCode)) + return ActionResult.SUCCESS; + } else if (ScreenHelper.getLastOverlay().charTyped(character, keyCode)) + return ActionResult.SUCCESS; return ActionResult.PASS; }); } |
