/[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 1605 - (show annotations) (download)
Sat Oct 1 15:21:07 2011 UTC (12 years, 7 months ago) by torben
File size: 1421 byte(s)
add concept of a private secretdoor which only the owner can open
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.player.PlayerListener;
10 import org.bukkit.plugin.Plugin;
11
12
13
14 public class DoorOpenListener extends PlayerListener{
15
16 private DoorStorage store;
17
18 private Plugin plugin;
19
20 public DoorOpenListener(DoorStorage store, Plugin plugin) {
21 super();
22 this.store = store;
23 this.plugin = plugin;
24 }
25
26 @Override
27 public void onPlayerInteract(PlayerInteractEvent event) {
28
29 Player player = event.getPlayer();
30
31 if ( player.getItemInHand().getType() != Material.AIR ) {
32 return;
33 }
34
35 if ( event.hasBlock() == false ) {
36 return;
37 }
38
39 final Door door = store.findDoor( event.getClickedBlock().getLocation() );
40
41 if (door == null) {
42 return;
43 }
44
45 if (door.isPrivate() == true && !door.getOwner().equals(player.getName() ) ) {
46 return;
47 }
48
49 final World world = player.getWorld();
50 final Location loc = event.getClickedBlock().getLocation();
51
52 door.open();
53
54 world.playEffect( loc, Effect.DOOR_TOGGLE, 0);
55
56 Runnable doorCloser = new Runnable() {
57 public void run() {
58 door.close( );
59 world.playEffect( loc, Effect.DOOR_TOGGLE, 0);
60 }
61 };
62
63 player.getServer().getScheduler().scheduleSyncDelayedTask(plugin, doorCloser, 4*20);
64
65 }
66 }

  ViewVC Help
Powered by ViewVC 1.1.20