diff --git a/src/main/java/world/bentobox/bentobox/listeners/flags/protection/BreakBlocksListener.java b/src/main/java/world/bentobox/bentobox/listeners/flags/protection/BreakBlocksListener.java index f80aa0d85..6ac05ad87 100644 --- a/src/main/java/world/bentobox/bentobox/listeners/flags/protection/BreakBlocksListener.java +++ b/src/main/java/world/bentobox/bentobox/listeners/flags/protection/BreakBlocksListener.java @@ -84,6 +84,9 @@ public class BreakBlocksListener extends FlagListener { @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onPlayerInteract(final PlayerInteractEvent e) { + if (e.getClickedBlock() == null) { + return; + } Player p = e.getPlayer(); Location l = e.getClickedBlock().getLocation(); Material m = e.getClickedBlock().getType(); @@ -95,7 +98,7 @@ public class BreakBlocksListener extends FlagListener { if (((CaveVinesPlant) e.getClickedBlock().getBlockData()).isBerries()) { this.checkIsland(e, p, l, Flags.HARVEST); } - } + } case SWEET_BERRY_BUSH -> this.checkIsland(e, p, l, Flags.HARVEST); case ROOTED_DIRT -> this.checkIsland(e, p, l, Flags.BREAK_BLOCKS); default -> { // Do nothing diff --git a/src/test/java/world/bentobox/bentobox/listeners/flags/protection/BreakBlocksListenerTest.java b/src/test/java/world/bentobox/bentobox/listeners/flags/protection/BreakBlocksListenerTest.java index 2183780ca..d503fefc9 100644 --- a/src/test/java/world/bentobox/bentobox/listeners/flags/protection/BreakBlocksListenerTest.java +++ b/src/test/java/world/bentobox/bentobox/listeners/flags/protection/BreakBlocksListenerTest.java @@ -621,4 +621,15 @@ public class BreakBlocksListenerTest extends AbstractCommonSetup { assertTrue(e.useInteractedBlock() == Result.ALLOW); } + + /** + * Test method for {@link world.bentobox.bentobox.listeners.flags.protection.BreakBlocksListener#onPlayerInteract(PlayerInteractEvent)} + */ + @Test + public void testNoClick() { + PlayerInteractEvent e = mock(PlayerInteractEvent.class); + when(e.getClickedBlock()).thenReturn(null); + bbl.onPlayerInteract(e); + verify(e).getClickedBlock(); + } }