Skip to content

Commit

Permalink
Rely on new vanilla inventory behavior instead of #690
Browse files Browse the repository at this point in the history
  • Loading branch information
mezz committed Jun 11, 2017
1 parent 59c0ca3 commit db705dd
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 61 deletions.
3 changes: 1 addition & 2 deletions src/main/java/mezz/jei/gui/overlay/ConfigButton.java
Expand Up @@ -11,7 +11,6 @@
import mezz.jei.config.JEIModConfigGui;
import mezz.jei.gui.GuiHelper;
import mezz.jei.gui.TooltipRenderer;
import mezz.jei.gui.recipes.RecipesGui;
import mezz.jei.util.Translator;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
Expand Down Expand Up @@ -80,7 +79,7 @@ public boolean handleMouseClick(Minecraft minecraft, int mouseX, int mouseY) {
if (minecraft.currentScreen != null) {
GuiScreen configScreen = new JEIModConfigGui(minecraft.currentScreen);
parent.updateScreen(configScreen);
RecipesGui.displayGuiScreenWithoutClose(configScreen);
minecraft.displayGuiScreen(configScreen);
}
}
return true;
Expand Down
60 changes: 1 addition & 59 deletions src/main/java/mezz/jei/gui/recipes/RecipesGui.java
Expand Up @@ -31,21 +31,13 @@
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiGameOver;
import net.minecraft.client.gui.GuiMainMenu;
import net.minecraft.client.gui.GuiMultiplayer;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.GuiOpenEvent;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.client.config.HoverChecker;
import org.lwjgl.input.Keyboard;
import org.lwjgl.input.Mouse;

public class RecipesGui extends GuiScreen implements IRecipesGui, IShowsRecipeFocuses, IRecipeLogicStateListener {
Expand Down Expand Up @@ -335,11 +327,7 @@ private void open() {
if (!isOpen()) {
parentScreen = mc.currentScreen;
}
if (parentScreen instanceof GuiContainer) {
displayGuiScreenWithoutClose(this);
} else {
mc.displayGuiScreen(this);
}
mc.displayGuiScreen(this);
}

public void close() {
Expand Down Expand Up @@ -466,50 +454,4 @@ private Container getParentContainer() {
public void onStateChange() {
updateLayout();
}

/**
* Displays the provided GuiScreen without invoking {@link GuiScreen#onGuiClosed()}.
* <p>
* The behavior of this method is derived from {@link Minecraft#displayGuiScreen(GuiScreen)}.
*
* @param guiScreen the GuiScreen to display.
*/
//TODO: remove in 1.12 because gui closing no longer drops items by default
public static void displayGuiScreenWithoutClose(@Nullable GuiScreen guiScreen) {
Minecraft mc = Minecraft.getMinecraft();
if (guiScreen == null && mc.world == null) {
guiScreen = new GuiMainMenu();
} else if (guiScreen == null && mc.player.getHealth() <= 0) {
guiScreen = new GuiGameOver(null);
}
GuiScreen prev = mc.currentScreen;
GuiOpenEvent event = new GuiOpenEvent(guiScreen);
if (MinecraftForge.EVENT_BUS.post(event)) {
return;
}
GuiScreen gui = event.getGui();
// Only close if an event listener has rejected us
if (prev != null && gui != prev && gui != guiScreen) {
prev.onGuiClosed();
}
if (gui instanceof GuiMainMenu || gui instanceof GuiMultiplayer) {
mc.gameSettings.showDebugInfo = false;
mc.ingameGUI.getChatGUI().clearChatMessages(true);
}
mc.currentScreen = gui;
if (gui == null) {
mc.getSoundHandler().resumeSounds();
mc.setIngameFocus();
} else {
mc.setIngameNotInFocus();
KeyBinding.unPressAllKeys();
while (Mouse.next()) ;
while (Keyboard.next()) ;
ScaledResolution reso = new ScaledResolution(mc);
int width = reso.getScaledWidth();
int height = reso.getScaledHeight();
gui.setWorldAndResolution(mc, width, height);
mc.skipRenderWorld = false;
}
}
}

0 comments on commit db705dd

Please sign in to comment.