diff --git a/src/de/steamwar/towerrun/listener/IngameListener.java b/src/de/steamwar/towerrun/listener/IngameListener.java index fed8446..84a2ee4 100644 --- a/src/de/steamwar/towerrun/listener/IngameListener.java +++ b/src/de/steamwar/towerrun/listener/IngameListener.java @@ -33,7 +33,6 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.block.Action; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockPhysicsEvent; -import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.entity.EntityRegainHealthEvent; import org.bukkit.event.entity.ItemSpawnEvent; @@ -136,16 +135,14 @@ public class IngameListener extends GameStateBukkitListener { } @EventHandler - public void onBlockPlace(BlockPlaceEvent event) { - if (event.getBlockPlaced().getType() == Material.LEVER) { - event.setCancelled(true); - if (event.getBlockAgainst().getType() == Material.IRON_DOOR) { - event.setCancelled(false); - event.getBlockPlaced().breakNaturally(); - event.getBlockAgainst().breakNaturally(); - event.getItemInHand().setType(Material.AIR); - } - } + public void onPlayerInteract(PlayerInteractEvent event) { + if (!event.hasItem()) return; + if (event.getItem().getType() != Material.LEVER) return; + event.setCancelled(true); + if (!event.hasBlock()) return; + if (event.getClickedBlock().getType() != Material.IRON_DOOR) return; + event.getPlayer().getInventory().setItemInMainHand(null); + event.getClickedBlock().breakNaturally(); } @EventHandler