/[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 1530 - (show annotations) (download)
Mon Jun 27 16:14:34 2011 UTC (12 years, 10 months ago) by torben
File size: 1309 byte(s)
Refactor secret door code to seperate classes
1 package dk.thoerup.bukkit.hoeruputils.secretdoor;
2
3 import org.bukkit.Effect;
4 import org.bukkit.Location;
5 import org.bukkit.World;
6 import org.bukkit.entity.Player;
7 import org.bukkit.event.player.PlayerInteractEvent;
8 import org.bukkit.event.player.PlayerListener;
9 import org.bukkit.plugin.Plugin;
10
11
12
13 public class DoorOpenListener extends PlayerListener{
14
15 DoorStorage store;
16
17 Plugin plugin;
18
19 public DoorOpenListener(DoorStorage store, Plugin plugin) {
20 super();
21 this.store = store;
22 this.plugin = plugin;
23 }
24
25 @Override
26 public void onPlayerInteract(PlayerInteractEvent event) {
27
28 Player player = event.getPlayer();
29
30 /*if ( player.getItemInHand().getType() != Material.AIR ) {
31 return;
32 }*/
33
34 if ( event.hasBlock() == false ) {
35 return;
36 }
37
38 final Door door = store.findDoor( event.getClickedBlock().getLocation() );
39
40 if (door == null) {
41 return;
42 }
43
44 final World world = player.getWorld();
45 final Location loc = event.getClickedBlock().getLocation();
46
47 door.open( player.getWorld() );
48
49 world.playEffect( loc, Effect.DOOR_TOGGLE, 0);
50
51 Runnable doorCloser = new Runnable() {
52 public void run() {
53 door.close( world );
54 world.playEffect( loc, Effect.DOOR_TOGGLE, 0);
55 }
56 };
57
58 player.getServer().getScheduler().scheduleSyncDelayedTask(plugin, doorCloser, 4*20);
59
60 }
61 }

  ViewVC Help
Powered by ViewVC 1.1.20