/[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 3201 by torben, Wed May 31 08:56:00 2017 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 14  import org.bukkit.plugin.Plugin; Line 16  import org.bukkit.plugin.Plugin;
16    
17    
18    
19    
20  public class DoorOpenListener implements Listener{  public class DoorOpenListener implements Listener{
21                    
22          private DoorStorage store;          private DoorStorage store;
# Line 31  public class DoorOpenListener implements Line 34  public class DoorOpenListener implements
34    
35                  Player player = event.getPlayer();                  Player player = event.getPlayer();
36    
37                  if ( player.getItemInHand().getType() != Material.AIR ) {                  if ( player.getInventory().getItemInMainHand().getType() != Material.AIR ) {
38                          return;                          return;
39                  }                  }
40    
# Line 49  public class DoorOpenListener implements Line 52  public class DoorOpenListener implements
52                          return;                          return;
53                  }                  }
54    
55                  openDoor(door, player);                  openDoor(door, player,false );
56    
57          }          }
58                    
59          private void openDoor(final Door door, Player player) {          private void openDoor(final Door door, Player player, boolean longDelay ) {
60                  final World world = player.getWorld();                            final World world = player.getWorld();          
61                    
62                  //final Location loc = event.getClickedBlock().getLocation();                  //final Location loc = event.getClickedBlock().getLocation();
63                  final Location loc = door.getLeftUpper();                  final Location loc = door.getLeftUpper();
64    
# Line 68  public class DoorOpenListener implements Line 72  public class DoorOpenListener implements
72                                  world.playEffect( loc, Effect.DOOR_TOGGLE, 0);                                  world.playEffect( loc, Effect.DOOR_TOGGLE, 0);
73                          }                          }
74                  };                  };
75                    
76                    int delay = (longDelay == true) ? 8*20 : 4*20;
77    
78                  player.getServer().getScheduler().scheduleSyncDelayedTask(plugin, doorCloser, 4*20);                              player.getServer().getScheduler().scheduleSyncDelayedTask(plugin, doorCloser, delay);
79                    
80          }          }
81                    
82            
83            @EventHandler
84          public void onPlayerChat(AsyncPlayerChatEvent evt) {          public void onPlayerChat(AsyncPlayerChatEvent evt) {
85                  if (evt.isCancelled())                  if (evt.isCancelled())
86                          return;                          return;
87                  Runnable r = new DooOpenOnChat( evt );  
88                  plugin.getServer().getScheduler().runTask(plugin, r); //force sync handling og this                  String parts[] = evt.getMessage().split(" ");
89                    if (parts.length == 1) {                        
90                            Runnable r = new DooOpenOnChat( evt );
91                            r.run();
92                            //plugin.getServer().getScheduler().runTask(plugin, r); //force sync handling of this
93                    }
94                    
95          }          }
96                    
97          class DooOpenOnChat implements Runnable {          class DooOpenOnChat implements Runnable {
# Line 84  public class DoorOpenListener implements Line 99  public class DoorOpenListener implements
99                  public DooOpenOnChat(AsyncPlayerChatEvent evt) {                  public DooOpenOnChat(AsyncPlayerChatEvent evt) {
100                          this.evt = evt;                                          this.evt = evt;                
101                  }                  }
102                    
103    
104                  @Override                  @Override
105                  public void run() {                  public void run() {
106                          Player p = evt.getPlayer();                          Player p = evt.getPlayer();
107                          Block target = p.getTargetBlock(null, 40);                          Block target = p.getTargetBlock( (Set<Material>)null, 40);
108                                                    
109                          if (target == null || target.getType() == Material.AIR) {                          if (target == null || target.getType() == Material.AIR) {
110                                  return;                                  return;
# Line 104  public class DoorOpenListener implements Line 120  public class DoorOpenListener implements
120                                  return;                                  return;
121                          }                                                }                      
122                                                    
123                          if (door.getPassword().equals(  evt.getMessage() )); {                          if (door.getPassword().equals(  evt.getMessage() )) {
124                                  openDoor(door, p);                                  openDoor(door, p, true);
125                                  evt.setCancelled(true);                                  evt.setCancelled(true);
126                          }                          }
127                  }                  }              
                   
128          }          }
129  }  }

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

  ViewVC Help
Powered by ViewVC 1.1.20