aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/ToolTipData.kt21
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 {