diff options
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/data/ToolTipData.kt | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/ToolTipData.kt b/src/main/java/at/hannibal2/skyhanni/data/ToolTipData.kt index 97c4e455a..3b8f6b7a7 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/ToolTipData.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/ToolTipData.kt @@ -1,6 +1,10 @@ package at.hannibal2.skyhanni.data import at.hannibal2.skyhanni.events.LorenzToolTipEvent +import at.hannibal2.skyhanni.test.command.ErrorManager +import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName +import at.hannibal2.skyhanni.utils.ItemUtils.getLore +import at.hannibal2.skyhanni.utils.ItemUtils.name import net.minecraft.inventory.Slot import net.minecraftforge.event.entity.player.ItemTooltipEvent import net.minecraftforge.fml.common.eventhandler.EventPriority @@ -13,7 +17,22 @@ class ToolTipData { fun onTooltip(event: ItemTooltipEvent) { val toolTip = event.toolTip ?: return val slot = lastSlot ?: return - LorenzToolTipEvent(slot, event.itemStack, toolTip).postAndCatch() + val itemStack = event.itemStack ?: return + try { + LorenzToolTipEvent(slot, itemStack, toolTip).postAndCatch() + } catch (e: Throwable) { + ErrorManager.logErrorWithData( + e, "Error in item tool tip parsing or rendering detected", + "toolTip" to toolTip, + "slot" to slot, + "slotNumber" to slot.slotNumber, + "slotIndex" to slot.slotIndex, + "itemStack" to itemStack, + "name" to itemStack.name, + "internal name" to itemStack.getInternalName(), + "lore" to itemStack.getLore(), + ) + } } companion object { |