aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/utils/ClothRegistry.java
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-04-07 15:53:25 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-04-07 15:53:25 +0800
commit9e0931f2781f9041acd73954a0dfaf1e14802404 (patch)
tree09eda629b5bab7c2c866343b9caea4acb7217dfe /src/main/java/me/shedaniel/rei/utils/ClothRegistry.java
parent0b9ed700c0ea4b3eefe97df512257854e81dfd25 (diff)
downloadRoughlyEnoughItems-9e0931f2781f9041acd73954a0dfaf1e14802404.tar.gz
RoughlyEnoughItems-9e0931f2781f9041acd73954a0dfaf1e14802404.tar.bz2
RoughlyEnoughItems-9e0931f2781f9041acd73954a0dfaf1e14802404.zip
Fix #53
Diffstat (limited to 'src/main/java/me/shedaniel/rei/utils/ClothRegistry.java')
-rw-r--r--src/main/java/me/shedaniel/rei/utils/ClothRegistry.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/main/java/me/shedaniel/rei/utils/ClothRegistry.java b/src/main/java/me/shedaniel/rei/utils/ClothRegistry.java
index 0192a4783..510a38535 100644
--- a/src/main/java/me/shedaniel/rei/utils/ClothRegistry.java
+++ b/src/main/java/me/shedaniel/rei/utils/ClothRegistry.java
@@ -15,6 +15,7 @@ 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.fabricmc.fabric.api.event.client.ClientTickCallback;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.ContainerScreen;
import net.minecraft.client.gui.Element;
@@ -45,7 +46,6 @@ public class ClothRegistry {
return;
if (screen instanceof PlayerInventoryScreen && minecraftClient.interactionManager.hasCreativeInventory())
return;
- ScreenHelper.setLastContainerScreen((ContainerScreen) screen);
boolean alreadyAdded = false;
for(Element element : Lists.newArrayList(screenHooks.cloth_getInputListeners()))
if (ContainerScreenOverlay.class.isAssignableFrom(element.getClass()))
@@ -101,6 +101,8 @@ public class ClothRegistry {
return ActionResult.PASS;
});
ClothClientHooks.SCREEN_LATE_RENDER.register((minecraftClient, screen, i, i1, v) -> {
+ if (!ScreenHelper.isOverlayVisible())
+ return;
if (screen instanceof CreativePlayerInventoryScreen)
if (((CreativePlayerInventoryScreenHooks) screen).rei_getSelectedTab() != ItemGroup.INVENTORY.getIndex())
return;
@@ -111,10 +113,17 @@ public class ClothRegistry {
if (screen instanceof CreativePlayerInventoryScreen)
if (((CreativePlayerInventoryScreenHooks) screen).rei_getSelectedTab() != ItemGroup.INVENTORY.getIndex())
return ActionResult.PASS;
- if (ScreenHelper.getLastOverlay().keyPressed(i, i1, i2))
- return ActionResult.SUCCESS;
+ if (screen instanceof ContainerScreen)
+ if (ScreenHelper.getLastOverlay().keyPressed(i, i1, i2))
+ return ActionResult.SUCCESS;
return ActionResult.PASS;
});
+ ClientTickCallback.EVENT.register(client -> {
+ if (client.currentScreen instanceof ContainerScreen) {
+ if (ScreenHelper.getLastContainerScreen() == null || !ScreenHelper.getLastContainerScreen().equals(client.currentScreen))
+ ScreenHelper.setLastContainerScreen((ContainerScreen) client.currentScreen);
+ }
+ });
}
public static void openConfigScreen(Screen parent) {