--- miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/secretdoor/DoorBlockListener.java 2011/09/27 18:27:54 1604 +++ miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/secretdoor/DoorBlockListener.java 2011/10/01 15:21:07 1605 @@ -14,6 +14,7 @@ import org.bukkit.plugin.Plugin; + public class DoorBlockListener extends BlockListener { @@ -40,17 +41,15 @@ public void onBlockBreak(BlockBreakEvent event) { Door door = store.findDoor(event.getBlock().getLocation() ); if (door != null) { + Player player = event.getPlayer(); if ( ! door.getOwner().equals( player.getName() )) { - - Player owner = player.getServer().getPlayer( door.getOwner() ); - - if (owner != null) { - owner.sendMessage("" + player.getName() + " broke one of your secret doors"); - } + player.sendMessage("Can not break secret door"); + event.setCancelled(true); + } else { + player.sendMessage("Secret door broken"); + store.removeDoor(door); } - player.sendMessage("Secret door broken"); - store.removeDoor(door); } } @@ -119,10 +118,15 @@ String line0 = event.getLine(0).trim().toLowerCase(); String line1 = event.getLine(1).trim().toLowerCase(); + String line2 = event.getLine(2).trim().toLowerCase(); int width = 2; int height = 2; + boolean isPrivate = false; + + String owner = event.getPlayer().getName(); + if (line0.equals("secretdoor") ) { if ( ! line1.equals("")) { Pattern p = Pattern.compile("^[0-9]x[0-9]$"); @@ -146,8 +150,13 @@ return; } } + + if( line2.equals("private") ) { + isPrivate = true; + } + try { - Door door = new Door(sign, width, height, store, event.getPlayer().getName() ); + Door door = new Door(sign, width, height, store, owner, isPrivate ); store.addDoor(door);