diff --git a/src/main/java/de/diddiz/LogBlock/blockstate/BlockStateCodecLectern.java b/src/main/java/de/diddiz/LogBlock/blockstate/BlockStateCodecLectern.java index 14e2a95..ec45080 100644 --- a/src/main/java/de/diddiz/LogBlock/blockstate/BlockStateCodecLectern.java +++ b/src/main/java/de/diddiz/LogBlock/blockstate/BlockStateCodecLectern.java @@ -34,7 +34,11 @@ public class BlockStateCodecLectern implements BlockStateCodec { if (conf != null) { book = conf.getItemStack("book"); } - lectern.getSnapshotInventory().setItem(0, book); + try { + lectern.getSnapshotInventory().setItem(0, book); + } catch (NullPointerException e) { + //ignored + } } } diff --git a/src/main/java/de/diddiz/LogBlock/listeners/LecternLogging.java b/src/main/java/de/diddiz/LogBlock/listeners/LecternLogging.java index e6b367c..16e7627 100644 --- a/src/main/java/de/diddiz/LogBlock/listeners/LecternLogging.java +++ b/src/main/java/de/diddiz/LogBlock/listeners/LecternLogging.java @@ -29,10 +29,18 @@ public class LecternLogging extends LoggingListener { if (before.getType() == Material.LECTERN && after.getType() == Material.LECTERN) { Lectern lecternBefore = (Lectern) before.getBlock().getState(); ItemStack book = lecternBefore.getSnapshotInventory().getItem(0); - lecternBefore.getSnapshotInventory().setItem(0, null); + try { + lecternBefore.getSnapshotInventory().setItem(0, null); + } catch (NullPointerException e) { + //ignored + } lecternBefore.setBlockData(before.getBlockData()); consumer.queueBlockReplace(Actor.actorFromEntity(event.getPlayer()), lecternBefore, after); - lecternBefore.getSnapshotInventory().setItem(0, book); + try { + lecternBefore.getSnapshotInventory().setItem(0, book); + } catch (NullPointerException e) { + //ignored + } } } } @@ -43,7 +51,11 @@ public class LecternLogging extends LoggingListener { if (wcfg != null && wcfg.isLogging(Logging.LECTERNBOOKCHANGE)) { Lectern oldState = event.getLectern(); Lectern newState = (Lectern) oldState.getBlock().getState(); - newState.getSnapshotInventory().setItem(0, null); + try { + newState.getSnapshotInventory().setItem(0, null); + } catch (NullPointerException e) { + //ignored + } org.bukkit.block.data.type.Lectern oldBlockData = (org.bukkit.block.data.type.Lectern) oldState.getBlockData(); org.bukkit.block.data.type.Lectern blockData = (org.bukkit.block.data.type.Lectern) Material.LECTERN.createBlockData(); blockData.setFacing(oldBlockData.getFacing()); diff --git a/src/main/java/de/diddiz/util/BukkitUtils.java b/src/main/java/de/diddiz/util/BukkitUtils.java index ec62af3..4cb5dd2 100644 --- a/src/main/java/de/diddiz/util/BukkitUtils.java +++ b/src/main/java/de/diddiz/util/BukkitUtils.java @@ -327,7 +327,6 @@ public class BukkitUtils { containerBlocks.add(Material.BARREL); containerBlocks.add(Material.BLAST_FURNACE); containerBlocks.add(Material.SMOKER); - containerBlocks.add(Material.LECTERN); // Doesn't actually have a block inventory // containerBlocks.add(Material.ENDER_CHEST);