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.java39
1 files changed, 28 insertions, 11 deletions
diff --git a/src/main/java/me/shedaniel/rei/client/GuiHelper.java b/src/main/java/me/shedaniel/rei/client/GuiHelper.java
index 4b228b3a6..253a51480 100644
--- a/src/main/java/me/shedaniel/rei/client/GuiHelper.java
+++ b/src/main/java/me/shedaniel/rei/client/GuiHelper.java
@@ -3,17 +3,22 @@ package me.shedaniel.rei.client;
import com.google.common.collect.Lists;
import me.shedaniel.rei.gui.ContainerGuiOverlay;
import me.shedaniel.rei.gui.widget.TextFieldWidget;
+import me.shedaniel.rei.listeners.IMixinGuiContainer;
+import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.item.ItemStack;
+import org.dimdev.rift.listener.client.ClientTickable;
import java.util.List;
-public class GuiHelper {
+public class GuiHelper implements ClientTickable {
public static TextFieldWidget searchField;
public static List<ItemStack> inventoryStacks = Lists.newArrayList();
private static boolean overlayVisible = true;
private static ContainerGuiOverlay overlay;
+ private static GuiContainer lastGuiContainer;
+ private static IMixinGuiContainer lastMixinGuiContainer;
public static boolean isOverlayVisible() {
return overlayVisible;
@@ -23,14 +28,6 @@ public class GuiHelper {
overlayVisible = !overlayVisible;
}
- public static ContainerGuiOverlay getOverlay(GuiContainer lastGui) {
- if (overlay == null) {
- overlay = new ContainerGuiOverlay(lastGui);
- overlay.onInitialized();
- }
- return overlay;
- }
-
public static ContainerGuiOverlay getLastOverlay() {
return overlay;
}
@@ -40,8 +37,28 @@ public class GuiHelper {
overlay.onInitialized();
}
- public static void resetOverlay() {
- overlay = null;
+ public static GuiContainer getLastGuiContainer() {
+ return lastGuiContainer;
+ }
+
+ public static void setLastGuiContainer(GuiContainer lastGuiContainer) {
+ GuiHelper.lastGuiContainer = lastGuiContainer;
+ }
+
+ public static IMixinGuiContainer getLastMixinGuiContainer() {
+ return lastMixinGuiContainer;
+ }
+
+ public static void setLastMixinGuiContainer(IMixinGuiContainer lastMixinGuiContainer) {
+ GuiHelper.lastMixinGuiContainer = lastMixinGuiContainer;
+ }
+
+ @Override
+ public void clientTick(Minecraft client) {
+ if (client.currentScreen instanceof GuiContainer && lastGuiContainer != client.currentScreen) {
+ GuiHelper.lastGuiContainer = (GuiContainer) client.currentScreen;
+ GuiHelper.lastMixinGuiContainer = (IMixinGuiContainer) lastGuiContainer;
+ }
}
}