From cddb8fec112abd5c22b377461c3e94c37f4c944a Mon Sep 17 00:00:00 2001
From: Jonathan Coates <git@squiddev.cc>
Date: Tue, 19 Nov 2024 21:35:00 +0000
Subject: [PATCH] Fix crash when lectern has no item

This should never happen in practice, but might happen when using
/setblock or after world corruption, so let's be careful here.

Closes #2014
---
 .../computercraft/shared/lectern/CustomLecternBlockEntity.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/projects/common/src/main/java/dan200/computercraft/shared/lectern/CustomLecternBlockEntity.java b/projects/common/src/main/java/dan200/computercraft/shared/lectern/CustomLecternBlockEntity.java
index ee124ed15..ea27c596d 100644
--- a/projects/common/src/main/java/dan200/computercraft/shared/lectern/CustomLecternBlockEntity.java
+++ b/projects/common/src/main/java/dan200/computercraft/shared/lectern/CustomLecternBlockEntity.java
@@ -119,7 +119,7 @@ public Packet<ClientGamePacketListener> getUpdatePacket() {
     @Override
     public CompoundTag getUpdateTag() {
         var tag = super.getUpdateTag();
-        tag.put(NBT_ITEM, item.save(new CompoundTag()));
+        if (!item.isEmpty()) tag.put(NBT_ITEM, item.save(new CompoundTag()));
         return tag;
     }