diff --git a/src/main/java/eu/mhsl/minecraft/pixelblocks/PixelBlocks.java b/src/main/java/eu/mhsl/minecraft/pixelblocks/PixelBlocks.java
index 6a7dfc9..cca3a92 100644
--- a/src/main/java/eu/mhsl/minecraft/pixelblocks/PixelBlocks.java
+++ b/src/main/java/eu/mhsl/minecraft/pixelblocks/PixelBlocks.java
@@ -35,6 +35,7 @@ public final class PixelBlocks extends JavaPlugin {
         getServer().getPluginManager().registerEvents(new EntityExplodeListener(), this);
         getServer().getPluginManager().registerEvents(new BlockExplodeListener(), this);
         getServer().getPluginManager().registerEvents(new PlayerPortalListener(), this);
+        getServer().getPluginManager().registerEvents(new InventoryListener(), 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
new file mode 100644
index 0000000..9c66366
--- /dev/null
+++ b/src/main/java/eu/mhsl/minecraft/pixelblocks/listeners/InventoryListener.java
@@ -0,0 +1,74 @@
+package eu.mhsl.minecraft.pixelblocks.listeners;
+
+import org.bukkit.Bukkit;
+import org.bukkit.World;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.inventory.*;
+import org.bukkit.inventory.CraftingInventory;
+import org.bukkit.inventory.PlayerInventory;
+
+import java.util.Arrays;
+import java.util.Objects;
+
+public class InventoryListener implements Listener {
+    @EventHandler
+    static void onInventoryOpen(InventoryOpenEvent event) {
+        World playerWorld = event.getPlayer().getWorld();
+        World[] standardWorlds = {Bukkit.getWorlds().get(0), Bukkit.getWorlds().get(1), Bukkit.getWorlds().get(2)};
+
+        if(!Arrays.stream(standardWorlds).toList().contains(playerWorld)) {
+            if(!(event.getInventory() instanceof PlayerInventory) && !(event.getInventory() instanceof CraftingInventory)) {
+                event.setCancelled(true);
+            }
+        }
+    }
+
+    @EventHandler
+    static void onInventoryDrag(InventoryDragEvent event) {
+        World playerWorld = event.getWhoClicked().getWorld();
+        World[] standardWorlds = {Bukkit.getWorlds().get(0), Bukkit.getWorlds().get(1), Bukkit.getWorlds().get(2)};
+
+        if(!Arrays.stream(standardWorlds).toList().contains(playerWorld)) {
+            if(!(event.getInventory() instanceof PlayerInventory) && !(event.getInventory() instanceof CraftingInventory)) {
+                event.setCancelled(true);
+            }
+        }
+    }
+
+    @EventHandler
+    static void onInventoryClick(InventoryClickEvent event) {
+        World playerWorld = event.getWhoClicked().getWorld();
+        World[] standardWorlds = {Bukkit.getWorlds().get(0), Bukkit.getWorlds().get(1), Bukkit.getWorlds().get(2)};
+
+        if(!Arrays.stream(standardWorlds).toList().contains(playerWorld)) {
+            if(!(event.getInventory() instanceof PlayerInventory) && !(event.getInventory() instanceof CraftingInventory)) {
+                event.setCancelled(true);
+            }
+        }
+    }
+
+    @EventHandler
+    static void onInventoryInteract(InventoryInteractEvent event) {
+        World playerWorld = event.getWhoClicked().getWorld();
+        World[] standardWorlds = {Bukkit.getWorlds().get(0), Bukkit.getWorlds().get(1), Bukkit.getWorlds().get(2)};
+
+        if(!Arrays.stream(standardWorlds).toList().contains(playerWorld)) {
+            if(!(event.getInventory() instanceof PlayerInventory) && !(event.getInventory() instanceof CraftingInventory)) {
+                event.setCancelled(true);
+            }
+        }
+    }
+
+    @EventHandler
+    static void onInventoryMoveItem(InventoryMoveItemEvent event) {
+        World playerWorld = Objects.requireNonNull(event.getDestination().getLocation()).getWorld();
+        World[] standardWorlds = {Bukkit.getWorlds().get(0), Bukkit.getWorlds().get(1), Bukkit.getWorlds().get(2)};
+
+        if(!Arrays.stream(standardWorlds).toList().contains(playerWorld)) {
+            if(!(event.getDestination() instanceof PlayerInventory) && !(event.getDestination() instanceof CraftingInventory)) {
+                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 9c89536..43b4938 100644
--- a/src/main/java/eu/mhsl/minecraft/pixelblocks/pixelblock/PixelBlock.java
+++ b/src/main/java/eu/mhsl/minecraft/pixelblocks/pixelblock/PixelBlock.java
@@ -169,6 +169,8 @@ public class PixelBlock {
                 }
         );
 
+        
+
         this.remove();
         this.pixelBlockLocation.getWorld().playSound(this.pixelBlockLocation, Sound.BLOCK_COPPER_BULB_BREAK, 1.0F, 30);
         this.pixelBlockLocation.getWorld().dropItem(this.pixelBlockLocation, this.getAsItem());