aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/client/GuiHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/shedaniel/rei/client/GuiHelper.java')
-rw-r--r--src/main/java/me/shedaniel/rei/client/GuiHelper.java34
1 files changed, 24 insertions, 10 deletions
diff --git a/src/main/java/me/shedaniel/rei/client/GuiHelper.java b/src/main/java/me/shedaniel/rei/client/GuiHelper.java
index 6fbb6a2a8..b962866f2 100644
--- a/src/main/java/me/shedaniel/rei/client/GuiHelper.java
+++ b/src/main/java/me/shedaniel/rei/client/GuiHelper.java
@@ -4,6 +4,7 @@ import com.google.common.collect.Lists;
import me.shedaniel.rei.gui.ContainerGuiOverlay;
import me.shedaniel.rei.gui.widget.TextFieldWidget;
import me.shedaniel.rei.listeners.IMixinContainerGui;
+import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.ContainerGui;
import net.minecraft.item.ItemStack;
@@ -15,6 +16,8 @@ public class GuiHelper {
private static boolean overlayVisible = true;
private static ContainerGuiOverlay overlay;
public static List<ItemStack> inventoryStacks = Lists.newArrayList();
+ private static ContainerGui lastContainerGui;
+ private static IMixinContainerGui lastMixinContainerGui;
public static boolean isOverlayVisible() {
return overlayVisible;
@@ -24,14 +27,6 @@ public class GuiHelper {
overlayVisible = !overlayVisible;
}
- public static ContainerGuiOverlay getOverlay(IMixinContainerGui lastGui) {
- if (overlay == null) {
- overlay = new ContainerGuiOverlay(lastGui);
- overlay.onInitialized();
- }
- return overlay;
- }
-
public static ContainerGuiOverlay getLastOverlay() {
return overlay;
}
@@ -41,8 +36,27 @@ public class GuiHelper {
overlay.onInitialized();
}
- public static void resetOverlay() {
- overlay = null;
+ public static void onTick(MinecraftClient client) {
+ if (client.currentGui instanceof ContainerGui && lastContainerGui != client.currentGui) {
+ GuiHelper.lastContainerGui = (ContainerGui) client.currentGui;
+ GuiHelper.lastMixinContainerGui = (IMixinContainerGui) lastContainerGui;
+ }
+ }
+
+ public static ContainerGui getLastContainerGui() {
+ return lastContainerGui;
+ }
+
+ public static IMixinContainerGui getLastMixinContainerGui() {
+ return lastMixinContainerGui;
+ }
+
+ public static void setLastContainerGui(ContainerGui lastContainerGui) {
+ GuiHelper.lastContainerGui = lastContainerGui;
+ }
+
+ public static void setLastMixinContainerGui(IMixinContainerGui lastMixinContainerGui) {
+ GuiHelper.lastMixinContainerGui = lastMixinContainerGui;
}
}