diff options
Diffstat (limited to 'src/main/java/me/shedaniel/rei/client/GuiHelper.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/client/GuiHelper.java | 34 |
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; } } |
