diff --git a/src/main/java/eu/mhsl/minecraft/pixelblocks/PixelBlocks.java b/src/main/java/eu/mhsl/minecraft/pixelblocks/PixelBlocks.java index 90fbae9..cca3a92 100644 --- a/src/main/java/eu/mhsl/minecraft/pixelblocks/PixelBlocks.java +++ b/src/main/java/eu/mhsl/minecraft/pixelblocks/PixelBlocks.java @@ -36,7 +36,6 @@ public final class PixelBlocks extends JavaPlugin { getServer().getPluginManager().registerEvents(new BlockExplodeListener(), this); getServer().getPluginManager().registerEvents(new PlayerPortalListener(), this); getServer().getPluginManager().registerEvents(new InventoryListener(), this); - getServer().getPluginManager().registerEvents(new PlayerDropItemListener(), this); getServer().getPluginManager().registerEvents(new PlayerChangeWorldListener(), this); Objects.requireNonNull(getCommand("createpixelblock")).setExecutor(new CreatePixelBlockCommand()); diff --git a/src/main/java/eu/mhsl/minecraft/pixelblocks/listeners/InventoryListener.java b/src/main/java/eu/mhsl/minecraft/pixelblocks/listeners/InventoryListener.java index aef3f28..c77e4bd 100644 --- a/src/main/java/eu/mhsl/minecraft/pixelblocks/listeners/InventoryListener.java +++ b/src/main/java/eu/mhsl/minecraft/pixelblocks/listeners/InventoryListener.java @@ -42,4 +42,12 @@ public class InventoryListener implements Listener { } } } + + @EventHandler + static void onInventoryPickupItem(InventoryPickupItemEvent event) { + if(CommonEventHandlers.isInPixelWorld(event.getItem().getWorld()) + && event.getInventory().getType() == InventoryType.HOPPER) { + event.setCancelled(true); + } + } } diff --git a/src/main/java/eu/mhsl/minecraft/pixelblocks/pixelblock/PixelBlock.java b/src/main/java/eu/mhsl/minecraft/pixelblocks/pixelblock/PixelBlock.java index 43b4938..89dcbd0 100644 --- a/src/main/java/eu/mhsl/minecraft/pixelblocks/pixelblock/PixelBlock.java +++ b/src/main/java/eu/mhsl/minecraft/pixelblocks/pixelblock/PixelBlock.java @@ -162,14 +162,16 @@ public class PixelBlock { // return; // } - Objects.requireNonNull(Bukkit.getWorld(plugin.getDataFolder().getPath() + pathSeparator + this.uuid)).getPlayers().forEach( + World world = Objects.requireNonNull(this.getPixelWorld()); + + world.getPlayers().forEach( player1 -> { player1.sendMessage("Der Pixelblock wurde abgebaut!"); player1.teleport(this.lastEntryLocation); } ); - + world.getEntities().forEach(entity -> entity.teleport(this.lastEntryLocation)); this.remove(); this.pixelBlockLocation.getWorld().playSound(this.pixelBlockLocation, Sound.BLOCK_COPPER_BULB_BREAK, 1.0F, 30);