diff --git a/xplat/src/main/java/dev/emi/emi/api/stack/ItemEmiStack.java b/xplat/src/main/java/dev/emi/emi/api/stack/ItemEmiStack.java index 62f63280..4820dfcc 100644 --- a/xplat/src/main/java/dev/emi/emi/api/stack/ItemEmiStack.java +++ b/xplat/src/main/java/dev/emi/emi/api/stack/ItemEmiStack.java @@ -159,7 +159,12 @@ public void renderForBatch(VertexConsumerProvider vcp, DrawContext draw, int x, @Override public List getTooltipText() { - return getItemStack().getTooltip(Item.TooltipContext.create(client.world), client.player, TooltipType.BASIC); + if (client.isOnThread()) { + return getItemStack().getTooltip(Item.TooltipContext.create(client.world), client.player, TooltipType.BASIC); + } else { + // Don't provide world or entity as context, as they are not thread safe + return getItemStack().getTooltip(Item.TooltipContext.create(client.world.getRegistryManager()), null, TooltipType.BASIC); + } } @Override