/** * Pre-renders the booklet page, including -the number of a page and its content (text, crafting * recipe etc.) -the number of a page in a chapter -the amount of words and chars in the index * (Just for teh lulz) */ public static void renderPre( GuiBooklet booklet, int mouseX, int mouseY, int ticksElapsed, boolean mousePressed) { if (booklet.currentIndexEntry != null) { // Renders Booklet Page Number and Content if (booklet.currentChapter != null && booklet.currentPage != null) { booklet.drawCenteredString( booklet.getFontRenderer(), booklet.currentPage.getID() + "/" + booklet.currentChapter.pages.length, booklet.guiLeft + booklet.xSize / 2, booklet.guiTop + 172, StringUtil.DECIMAL_COLOR_WHITE); booklet.currentPage.renderPre(booklet, mouseX, mouseY, ticksElapsed, mousePressed); } // Renders Chapter Page Number else { booklet.drawCenteredString( booklet.getFontRenderer(), booklet.pageOpenInIndex + "/" + booklet.indexPageAmount, booklet.guiLeft + booklet.xSize / 2, booklet.guiTop + 172, StringUtil.DECIMAL_COLOR_WHITE); } } // Renders the amount of words and chars the book has else { String wordCountString = StringUtil.localizeFormatted( "booklet." + ModUtil.MOD_ID_LOWER + ".amountOfWords", InitBooklet.wordCount); booklet .getFontRenderer() .drawString( EnumChatFormatting.ITALIC + wordCountString, booklet.guiLeft + booklet.xSize - booklet.getFontRenderer().getStringWidth(wordCountString) - 15, booklet.guiTop + booklet.ySize - 18 - booklet.getFontRenderer().FONT_HEIGHT, 0); String charCountString = StringUtil.localizeFormatted( "booklet." + ModUtil.MOD_ID_LOWER + ".amountOfChars", InitBooklet.charCount); booklet .getFontRenderer() .drawString( EnumChatFormatting.ITALIC + charCountString, booklet.guiLeft + booklet.xSize - booklet.getFontRenderer().getStringWidth(charCountString) - 15, booklet.guiTop + booklet.ySize - 18, 0); } }
/** Draws all of the hovering texts for the buttons that need explanation in the booklet */ @SuppressWarnings("unchecked") public static void doHoverTexts(GuiBooklet booklet, int mouseX, int mouseY) { // Achievements Hover Text if (booklet.buttonAchievements.func_146115_a()) { booklet.drawHoveringText( Collections.singletonList(EnumChatFormatting.GOLD + "Show Achievements"), mouseX, mouseY); } // Config Hover Text else if (booklet.buttonConfig.func_146115_a()) { ArrayList list = new ArrayList(); list.add(EnumChatFormatting.GOLD + "Show Configuration GUI"); list.addAll( booklet .getFontRenderer() .listFormattedStringToWidth( "It is highly recommended that you restart your game after changing anything as that prevents possible bugs occuring!", GuiBooklet.TOOLTIP_SPLIT_LENGTH)); booklet.drawHoveringText(list, mouseX, mouseY); } // Twitter Hover Text else if (booklet.buttonTwitter.func_146115_a()) { booklet.drawHoveringText( Collections.singletonList( EnumChatFormatting.GOLD + "Open @ActAddMod on Twitter in Browser"), mouseX, mouseY); } // Forum Hover Text else if (booklet.buttonForum.func_146115_a()) { booklet.drawHoveringText( Collections.singletonList( EnumChatFormatting.GOLD + "Open Minecraft Forum Post in Browser"), mouseX, mouseY); } // Update Checker Hover Text else if (booklet.buttonUpdate.func_146115_a()) { ArrayList list = new ArrayList(); if (UpdateChecker.checkFailed) { list.add( IChatComponent.Serializer.func_150699_a( StringUtil.localize("info." + ModUtil.MOD_ID_LOWER + ".update.failed")) .getFormattedText()); } else if (UpdateChecker.needsUpdateNotify) { list.add( IChatComponent.Serializer.func_150699_a( StringUtil.localize("info." + ModUtil.MOD_ID_LOWER + ".update.generic")) .getFormattedText()); list.add( IChatComponent.Serializer.func_150699_a( StringUtil.localizeFormatted( "info." + ModUtil.MOD_ID_LOWER + ".update.versionCompare", ModUtil.VERSION, UpdateChecker.updateVersion)) .getFormattedText()); list.add(StringUtil.localize("info." + ModUtil.MOD_ID_LOWER + ".update.buttonOptions")); } booklet.drawHoveringText(list, mouseX, mouseY); } else { for (GuiButton button : booklet.bookmarkButtons) { if (button instanceof BookmarkButton && button.func_146115_a()) { ((BookmarkButton) button).drawHover(mouseX, mouseY); } } } }