final void drawTooltip(int mouseX, int mouseY) {
if(tooltipStack != null) {
List<String> tooltip = this.getItemToolTip(tooltipStack);
Pair<BookEntry, Integer> provider = book.contents.getEntryForStack(tooltipStack);
if(provider != null && (!(this instanceof GuiBookEntry) || ((GuiBookEntry) this).entry != provider.getLeft())) {
tooltip.add(TextFormatting.GOLD + "(" + I18n.format("patchouli.gui.lexicon.shift_for_recipe") + ')');
targetPage = provider;
}
GuiUtils.preItemToolTip(tooltipStack);
FontRenderer font = tooltipStack.getItem().getFontRenderer(tooltipStack);
this.drawHoveringText(tooltip, mouseX, mouseY, (font == null ? fontRenderer : font));
GuiUtils.postItemToolTip();
} else if(tooltip != null && !tooltip.isEmpty())
GuiUtils.drawHoveringText(tooltip, mouseX, mouseY, width, height, -1, fontRenderer);
}