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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1530 - (hide annotations) (download)
Mon Jun 27 16:14:34 2011 UTC (12 years, 11 months ago) by torben
File size: 1309 byte(s)
Refactor secret door code to seperate classes
1 torben 1530 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