@SubscribeEvent
public static void addTooltip(ItemTooltipEvent evt) {
if (evt.getItemStack().isEmpty()) {
return;
}
final boolean flag = showAdvancedTooltips();
boolean doDurability = showDurability(evt.getFlags().isAdvanced());
if (doDurability) {
addDurabilityTooltip(getTooltip(evt), evt.getItemStack());
}
if (evt.getItemStack().getItem() instanceof IAdvancedTooltipProvider) {
IAdvancedTooltipProvider ttp = (IAdvancedTooltipProvider) evt.getItemStack().getItem();
addInformation(ttp, evt.getItemStack(), evt.getEntityPlayer(), getTooltip(evt), flag);
} else if (evt.getItemStack().getItem() instanceof IResourceTooltipProvider) {
addInformation((IResourceTooltipProvider) evt.getItemStack().getItem(), evt, flag);
} else {
Block blk = Block.getBlockFromItem(evt.getItemStack().getItem());
if (blk instanceof IAdvancedTooltipProvider) {
addInformation((IAdvancedTooltipProvider) blk, evt.getItemStack(), evt.getEntityPlayer(), getTooltip(evt), flag);
} else if (blk instanceof IResourceTooltipProvider) {
addInformation((IResourceTooltipProvider) blk, evt, flag);
}
}
for (ITooltipCallback callback : callbacks) {
if (callback.shouldHandleItem(evt.getItemStack())) {
addInformation(callback, evt.getItemStack(), evt.getEntityPlayer(), getTooltip(evt), flag);
}
}
}