/[projects]/miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/secretdoor/DoorBlockListener.java
ViewVC logotype

Contents of /miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/secretdoor/DoorBlockListener.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1532 - (show annotations) (download)
Mon Jun 27 18:10:05 2011 UTC (12 years, 10 months ago) by torben
File size: 1319 byte(s)
add a more generic way of handling doors ( prepare for custom door sizes )
1 package dk.thoerup.bukkit.hoeruputils.secretdoor;
2
3
4 import org.bukkit.block.Block;
5 import org.bukkit.event.block.BlockBreakEvent;
6 import org.bukkit.event.block.BlockListener;
7 import org.bukkit.event.block.SignChangeEvent;
8 import org.bukkit.event.player.PlayerListener;
9 import org.bukkit.plugin.Plugin;
10
11
12 public class DoorBlockListener extends BlockListener {
13
14
15 DoorStorage store;
16 private DoorOpenListener handler;
17
18 Plugin plugin;
19
20 public DoorBlockListener(Plugin plugin) {
21 this.plugin = plugin;
22
23 store = new DoorStorage( plugin );
24
25 store.loadAll();
26
27 handler = new DoorOpenListener(store, plugin);
28 }
29
30 public PlayerListener getPlayerListener() {
31 return handler;
32 }
33
34 @Override
35 public void onBlockBreak(BlockBreakEvent event) {
36 Door door = store.findDoor(event.getBlock().getLocation() );
37 if (door != null) {
38 event.getPlayer().sendMessage("Secret door broken");
39 store.removeDoor(door);
40 }
41 }
42
43 @Override
44 public void onSignChange(SignChangeEvent event) {
45
46 Block sign = event.getBlock();
47
48 if (sign.getTypeId() == 63) {
49 // don't react on floor signs
50 return;
51 }
52
53 if (event.getLine(0).toLowerCase().equals("secretdoor") ) {
54 Door door = new Door(sign);
55
56 store.addDoor(door);
57
58 event.getPlayer().sendMessage("Secret door created");
59
60 sign.setTypeId(0);
61
62
63 }
64 }
65
66 }

  ViewVC Help
Powered by ViewVC 1.1.20