Merge branch 'master' into pretty-chat

This commit is contained in:
Brokkonaut
2019-07-09 03:46:09 +02:00
3 changed files with 20 additions and 5 deletions

View File

@@ -34,7 +34,11 @@ public class BlockStateCodecLectern implements BlockStateCodec {
if (conf != null) { if (conf != null) {
book = conf.getItemStack("book"); book = conf.getItemStack("book");
} }
lectern.getSnapshotInventory().setItem(0, book); try {
lectern.getSnapshotInventory().setItem(0, book);
} catch (NullPointerException e) {
//ignored
}
} }
} }

View File

@@ -29,10 +29,18 @@ public class LecternLogging extends LoggingListener {
if (before.getType() == Material.LECTERN && after.getType() == Material.LECTERN) { if (before.getType() == Material.LECTERN && after.getType() == Material.LECTERN) {
Lectern lecternBefore = (Lectern) before.getBlock().getState(); Lectern lecternBefore = (Lectern) before.getBlock().getState();
ItemStack book = lecternBefore.getSnapshotInventory().getItem(0); 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()); lecternBefore.setBlockData(before.getBlockData());
consumer.queueBlockReplace(Actor.actorFromEntity(event.getPlayer()), lecternBefore, after); 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)) { if (wcfg != null && wcfg.isLogging(Logging.LECTERNBOOKCHANGE)) {
Lectern oldState = event.getLectern(); Lectern oldState = event.getLectern();
Lectern newState = (Lectern) oldState.getBlock().getState(); 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 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(); org.bukkit.block.data.type.Lectern blockData = (org.bukkit.block.data.type.Lectern) Material.LECTERN.createBlockData();
blockData.setFacing(oldBlockData.getFacing()); blockData.setFacing(oldBlockData.getFacing());

View File

@@ -344,7 +344,6 @@ public class BukkitUtils {
containerBlocks.add(Material.BARREL); containerBlocks.add(Material.BARREL);
containerBlocks.add(Material.BLAST_FURNACE); containerBlocks.add(Material.BLAST_FURNACE);
containerBlocks.add(Material.SMOKER); containerBlocks.add(Material.SMOKER);
containerBlocks.add(Material.LECTERN);
// Doesn't actually have a block inventory // Doesn't actually have a block inventory
// containerBlocks.add(Material.ENDER_CHEST); // containerBlocks.add(Material.ENDER_CHEST);