diff --git a/src/main/java/ellpeck/actuallyadditions/booklet/GuiBooklet.java b/src/main/java/ellpeck/actuallyadditions/booklet/GuiBooklet.java index d5a813b69..302a85db1 100644 --- a/src/main/java/ellpeck/actuallyadditions/booklet/GuiBooklet.java +++ b/src/main/java/ellpeck/actuallyadditions/booklet/GuiBooklet.java @@ -72,11 +72,15 @@ public class GuiBooklet extends GuiScreen{ private boolean mousePressed; public GuiScreen parentScreen; + private boolean tryOpenMainPage; + private boolean saveOnClose; - public GuiBooklet(GuiScreen parentScreen){ + public GuiBooklet(GuiScreen parentScreen, boolean tryOpenMainPage, boolean saveOnClose){ this.xSize = 146; this.ySize = 180; this.parentScreen = parentScreen; + this.tryOpenMainPage = tryOpenMainPage; + this.saveOnClose = saveOnClose; } public void drawHoveringText(List list, int x, int y){ @@ -266,8 +270,7 @@ public class GuiBooklet extends GuiScreen{ this.currentChapter = null; this.currentIndexEntry = null; - // So that the First Page will still open if used via something like NEI before - if(this.parentScreen == null && !PersistentClientData.getBoolean("BookAlreadyOpened")){ + if(this.tryOpenMainPage && !PersistentClientData.getBoolean("BookAlreadyOpened")){ BookletUtils.openIndexEntry(this, InitBooklet.chapterIntro.entry, 1, true); BookletUtils.openChapter(this, InitBooklet.chapterIntro, null); @@ -301,7 +304,9 @@ public class GuiBooklet extends GuiScreen{ @Override public void onGuiClosed(){ - PersistentClientData.saveBookPage(this); + if(this.saveOnClose){ + PersistentClientData.saveBookPage(this); + } } @Override diff --git a/src/main/java/ellpeck/actuallyadditions/inventory/GuiHandler.java b/src/main/java/ellpeck/actuallyadditions/inventory/GuiHandler.java index 474f4c5df..134959037 100644 --- a/src/main/java/ellpeck/actuallyadditions/inventory/GuiHandler.java +++ b/src/main/java/ellpeck/actuallyadditions/inventory/GuiHandler.java @@ -143,7 +143,7 @@ public class GuiHandler implements IGuiHandler{ case CLOUD: return new GuiSmileyCloud(tile, x, y, z, world); case BOOK: - return new GuiBooklet(null); + return new GuiBooklet(null, true, true); case DIRECTIONAL_BREAKER: return new GuiDirectionalBreaker(entityPlayer.inventory, tile); case RANGED_COLLECTOR: diff --git a/src/main/java/ellpeck/actuallyadditions/nei/NeiScreenEvents.java b/src/main/java/ellpeck/actuallyadditions/nei/NeiScreenEvents.java index 78f9a3eee..84c392d0e 100644 --- a/src/main/java/ellpeck/actuallyadditions/nei/NeiScreenEvents.java +++ b/src/main/java/ellpeck/actuallyadditions/nei/NeiScreenEvents.java @@ -68,7 +68,7 @@ public class NeiScreenEvents{ if(isPage && event.button.id == NEI_BUTTON_ID){ for(BookletPage page : InitBooklet.pagesWithItemStackData){ if(ItemUtil.contains(page.getItemStacksForPage(), ((INeiRecipeHandler)handler).getStackForInfo(theGui.page), true)){ - GuiBooklet book = new GuiBooklet(Minecraft.getMinecraft().currentScreen); + GuiBooklet book = new GuiBooklet(Minecraft.getMinecraft().currentScreen, false, true); Minecraft.getMinecraft().displayGuiScreen(book); BookletUtils.openIndexEntry(book, page.getChapter().entry, InitBooklet.entries.indexOf(page.getChapter().entry)/GuiBooklet.CHAPTER_BUTTONS_AMOUNT+1, true); BookletUtils.openChapter(book, page.getChapter(), page);