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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1912 by torben, Sun Jan 13 13:05:16 2013 UTC revision 1913 by torben, Sun Jan 13 15:39:59 2013 UTC
# Line 1  Line 1 
1  package dk.thoerup.bukkit.hoeruputils.secretdoor;  package dk.thoerup.bukkit.hoeruputils.secretdoor;
2    
3    import java.util.Set;
4    
5  import org.bukkit.Effect;  import org.bukkit.Effect;
6  import org.bukkit.Location;  import org.bukkit.Location;
7  import org.bukkit.Material;  import org.bukkit.Material;
# Line 9  import org.bukkit.entity.Player; Line 11  import org.bukkit.entity.Player;
11  import org.bukkit.event.EventHandler;  import org.bukkit.event.EventHandler;
12  import org.bukkit.event.Listener;  import org.bukkit.event.Listener;
13  import org.bukkit.event.player.AsyncPlayerChatEvent;  import org.bukkit.event.player.AsyncPlayerChatEvent;
14    import org.bukkit.event.player.PlayerChatEvent;
15  import org.bukkit.event.player.PlayerInteractEvent;  import org.bukkit.event.player.PlayerInteractEvent;
16  import org.bukkit.plugin.Plugin;  import org.bukkit.plugin.Plugin;
17    
18    import com.google.common.base.Ascii;
19    
20    
21    
22  public class DoorOpenListener implements Listener{  public class DoorOpenListener implements Listener{
# Line 49  public class DoorOpenListener implements Line 54  public class DoorOpenListener implements
54                          return;                          return;
55                  }                  }
56    
57                  openDoor(door, player);                  openDoor(door, player,false );
58    
59          }          }
60                    
61          private void openDoor(final Door door, Player player) {          private void openDoor(final Door door, Player player, boolean longDelay ) {
62                  final World world = player.getWorld();                            final World world = player.getWorld();          
63                    
64                  //final Location loc = event.getClickedBlock().getLocation();                  //final Location loc = event.getClickedBlock().getLocation();
65                  final Location loc = door.getLeftUpper();                  final Location loc = door.getLeftUpper();
66    
# Line 68  public class DoorOpenListener implements Line 74  public class DoorOpenListener implements
74                                  world.playEffect( loc, Effect.DOOR_TOGGLE, 0);                                  world.playEffect( loc, Effect.DOOR_TOGGLE, 0);
75                          }                          }
76                  };                  };
77                    
78                    int delay = (longDelay == true) ? 8*20 : 4*20;
79    
80                  player.getServer().getScheduler().scheduleSyncDelayedTask(plugin, doorCloser, 4*20);                              player.getServer().getScheduler().scheduleSyncDelayedTask(plugin, doorCloser, delay);
81                    
82          }          }
83                    
84            
85            @EventHandler
86          public void onPlayerChat(AsyncPlayerChatEvent evt) {          public void onPlayerChat(AsyncPlayerChatEvent evt) {
87                  if (evt.isCancelled())                  if (evt.isCancelled())
88                          return;                          return;
89                  Runnable r = new DooOpenOnChat( evt );  
90                  plugin.getServer().getScheduler().runTask(plugin, r); //force sync handling og this                  String parts[] = evt.getMessage().split(" ");
91                    if (parts.length == 1) {                        
92                            Runnable r = new DooOpenOnChat( evt );
93                            r.run();
94                            //plugin.getServer().getScheduler().runTask(plugin, r); //force sync handling of this
95                    }
96                    
97          }          }
98                    
99          class DooOpenOnChat implements Runnable {          class DooOpenOnChat implements Runnable {
# Line 84  public class DoorOpenListener implements Line 101  public class DoorOpenListener implements
101                  public DooOpenOnChat(AsyncPlayerChatEvent evt) {                  public DooOpenOnChat(AsyncPlayerChatEvent evt) {
102                          this.evt = evt;                                          this.evt = evt;                
103                  }                  }
104                    
105    
106                  @Override                  @Override
107                  public void run() {                  public void run() {
# Line 104  public class DoorOpenListener implements Line 122  public class DoorOpenListener implements
122                                  return;                                  return;
123                          }                                                }                      
124                                                    
125                          if (door.getPassword().equals(  evt.getMessage() )); {                          if (door.getPassword().equals(  evt.getMessage() )) {
126                                  openDoor(door, p);                                  openDoor(door, p, true);
127                                  evt.setCancelled(true);                                  evt.setCancelled(true);
128                          }                          }
129                  }                  }              
                   
130          }          }
131  }  }

Legend:
Removed from v.1912  
changed lines
  Added in v.1913

  ViewVC Help
Powered by ViewVC 1.1.20