From 50147a06e21709aefaf7e415330ec652e85bdcb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20M=C3=BCller?= Date: Sun, 13 Apr 2025 20:52:03 +0200 Subject: [PATCH] added removal of forbidden items in containers --- .../forbiddenItems/ForbiddenMaterialListener.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenMaterialListener.java b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenMaterialListener.java index 8373a89..b6b6a6f 100644 --- a/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenMaterialListener.java +++ b/varo/src/main/java/eu/mhsl/craftattack/spawn/varo/appliances/metaGameplay/forbiddenItems/ForbiddenMaterialListener.java @@ -12,6 +12,7 @@ import org.bukkit.event.inventory.ClickType; import org.bukkit.event.inventory.InventoryClickEvent; import java.util.List; +import java.util.Objects; class ForbiddenMaterialListener extends ApplianceListener { @EventHandler @@ -23,11 +24,12 @@ class ForbiddenMaterialListener extends ApplianceListener { public void onInventoryInteraction(InventoryClickEvent event) { if(event.getCurrentItem() == null) return; if(List.of(ClickType.DROP, ClickType.CONTROL_DROP).contains(event.getClick())) return; - this.testAndCancel(event, event.getCurrentItem().getType(), event.getWhoClicked()); + boolean wasCancelled = this.testAndCancel(event, event.getCurrentItem().getType(), event.getWhoClicked()); + if(wasCancelled) Objects.requireNonNull(event.getClickedInventory()).remove(event.getCurrentItem()); } - private void testAndCancel(Cancellable event, Material material, Entity entity) { - if(!this.getAppliance().forbiddenMaterials.isForbidden(material)) return; + private boolean testAndCancel(Cancellable event, Material material, Entity entity) { + if(!this.getAppliance().forbiddenMaterials.isForbidden(material)) return false; event.setCancelled(true); if(entity instanceof Player p) { @@ -41,5 +43,7 @@ class ForbiddenMaterialListener extends ApplianceListener { .append(Component.text(" ist ein verbotener Gegenstand!")) ); } + + return true; } }