package dk.thoerup.bukkit.hoeruputils.secretdoor; import org.bukkit.block.Block; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockListener; import org.bukkit.event.block.SignChangeEvent; import org.bukkit.event.player.PlayerListener; import org.bukkit.plugin.Plugin; public class DoorBlockListener extends BlockListener { DoorStorage store; private DoorOpenListener handler; Plugin plugin; public DoorBlockListener(Plugin plugin) { this.plugin = plugin; store = new DoorStorage( plugin ); store.loadAll(); handler = new DoorOpenListener(store, plugin); } public PlayerListener getPlayerListener() { return handler; } @Override public void onBlockBreak(BlockBreakEvent event) { Door door = store.findDoor(event.getBlock().getLocation() ); if (door != null) { event.getPlayer().sendMessage("Secret door broken"); store.addDoor(door); } } @Override public void onSignChange(SignChangeEvent event) { Block sign = event.getBlock(); if (sign.getTypeId() == 63) { // don't react on floor signs return; } if (event.getLine(0).toLowerCase().equals("secretdoor") ) { Door door = new Door(sign); store.addDoor(door); event.getPlayer().sendMessage("Secret door created"); sign.setTypeId(0); } } }