--- miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/secretdoor/DoorBlockListener.java 2011/06/27 19:34:03 1533 +++ miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/secretdoor/DoorBlockListener.java 2011/06/30 18:37:43 1541 @@ -5,6 +5,7 @@ import java.util.regex.Pattern; import org.bukkit.block.Block; +import org.bukkit.entity.Player; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockListener; import org.bukkit.event.block.SignChangeEvent; @@ -15,10 +16,10 @@ public class DoorBlockListener extends BlockListener { - DoorStorage store; + private DoorStorage store; private DoorOpenListener handler; - Plugin plugin; + private Plugin plugin; public DoorBlockListener(Plugin plugin) { this.plugin = plugin; @@ -38,7 +39,16 @@ public void onBlockBreak(BlockBreakEvent event) { Door door = store.findDoor(event.getBlock().getLocation() ); if (door != null) { - event.getPlayer().sendMessage("Secret door broken"); + 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("Secret door broken"); store.removeDoor(door); } } @@ -71,10 +81,10 @@ String parts[] = line1.split("x"); width = Integer.parseInt( parts[0] ); - height = Integer.parseInt( parts[0] ); + height = Integer.parseInt( parts[1] ); - if (width <1 || width>5) { - event.getPlayer().sendMessage("width must be between 1 and 5 (inclusive)"); + if (width <1 || width>8) { + event.getPlayer().sendMessage("width must be between 1 and 8 (inclusive)"); return; } if (height <2 || height>5) { @@ -82,14 +92,17 @@ return; } } - - Door door = new Door(sign, width, height); + try { + Door door = new Door(sign, width, height, store, event.getPlayer().getName() ); - store.addDoor(door); + store.addDoor(door); - event.getPlayer().sendMessage("Secret door created"); + event.getPlayer().sendMessage("Secret door created"); - sign.setTypeId(0); + sign.setTypeId(0); + } catch (ConflictingDoorException e) { + event.getPlayer().sendMessage("Door conflicts whith another secretdoor"); + } }