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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1680 - (show annotations) (download)
Wed Jan 25 21:55:33 2012 UTC (12 years, 3 months ago) by torben
File size: 1447 byte(s)
move all normal handlers to new event system - and deprecate respawnhandler.java
1 package dk.thoerup.bukkit.hoeruputils.secretdoor;
2
3 import org.bukkit.Effect;
4 import org.bukkit.Location;
5 import org.bukkit.Material;
6 import org.bukkit.World;
7 import org.bukkit.entity.Player;
8 import org.bukkit.event.player.PlayerInteractEvent;
9 import org.bukkit.event.Listener;
10 import org.bukkit.event.EventHandler;
11 import org.bukkit.plugin.Plugin;
12
13
14
15 public class DoorOpenListener implements Listener{
16
17 private DoorStorage store;
18
19 private Plugin plugin;
20
21 public DoorOpenListener(DoorStorage store, Plugin plugin) {
22 super();
23 this.store = store;
24 this.plugin = plugin;
25 }
26
27 @EventHandler
28 public void onPlayerInteract(PlayerInteractEvent event) {
29
30 Player player = event.getPlayer();
31
32 if ( player.getItemInHand().getType() != Material.AIR ) {
33 return;
34 }
35
36 if ( event.hasBlock() == false ) {
37 return;
38 }
39
40 final Door door = store.findDoor( event.getClickedBlock().getLocation() );
41
42 if (door == null) {
43 return;
44 }
45
46 if (door.isPrivate() == true && !door.getOwner().equals(player.getName() ) ) {
47 return;
48 }
49
50 final World world = player.getWorld();
51 final Location loc = event.getClickedBlock().getLocation();
52
53 door.open();
54
55 world.playEffect( loc, Effect.DOOR_TOGGLE, 0);
56
57 Runnable doorCloser = new Runnable() {
58 public void run() {
59 door.close( );
60 world.playEffect( loc, Effect.DOOR_TOGGLE, 0);
61 }
62 };
63
64 player.getServer().getScheduler().scheduleSyncDelayedTask(plugin, doorCloser, 4*20);
65
66 }
67 }

  ViewVC Help
Powered by ViewVC 1.1.20