/[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 1911 by torben, Fri Jan 27 12:21:27 2012 UTC revision 1912 by torben, Sun Jan 13 13:05:16 2013 UTC
# Line 4  import org.bukkit.Effect; Line 4  import org.bukkit.Effect;
4  import org.bukkit.Location;  import org.bukkit.Location;
5  import org.bukkit.Material;  import org.bukkit.Material;
6  import org.bukkit.World;  import org.bukkit.World;
7    import org.bukkit.block.Block;
8  import org.bukkit.entity.Player;  import org.bukkit.entity.Player;
 import org.bukkit.event.player.PlayerInteractEvent;  
 import org.bukkit.event.Listener;  
9  import org.bukkit.event.EventHandler;  import org.bukkit.event.EventHandler;
10    import org.bukkit.event.Listener;
11    import org.bukkit.event.player.AsyncPlayerChatEvent;
12    import org.bukkit.event.player.PlayerInteractEvent;
13  import org.bukkit.plugin.Plugin;  import org.bukkit.plugin.Plugin;
14    
15    
# Line 47  public class DoorOpenListener implements Line 49  public class DoorOpenListener implements
49                          return;                          return;
50                  }                  }
51    
52                  final World world = player.getWorld();                  openDoor(door, player);
53                  final Location loc = event.getClickedBlock().getLocation();  
54            }
55            
56            private void openDoor(final Door door, Player player) {
57                    final World world = player.getWorld();          
58                    //final Location loc = event.getClickedBlock().getLocation();
59                    final Location loc = door.getLeftUpper();
60    
61                  door.open();                  door.open();
62    
# Line 61  public class DoorOpenListener implements Line 69  public class DoorOpenListener implements
69                          }                          }
70                  };                  };
71    
72                  player.getServer().getScheduler().scheduleSyncDelayedTask(plugin, doorCloser, 4*20);                  player.getServer().getScheduler().scheduleSyncDelayedTask(plugin, doorCloser, 4*20);            
73            }
74            
75            public void onPlayerChat(AsyncPlayerChatEvent evt) {
76                    if (evt.isCancelled())
77                            return;
78                    Runnable r = new DooOpenOnChat( evt );
79                    plugin.getServer().getScheduler().runTask(plugin, r); //force sync handling og this
80            }
81            
82            class DooOpenOnChat implements Runnable {
83                    AsyncPlayerChatEvent evt;
84                    public DooOpenOnChat(AsyncPlayerChatEvent evt) {
85                            this.evt = evt;                
86                    }
87    
88                    @Override
89                    public void run() {
90                            Player p = evt.getPlayer();
91                            Block target = p.getTargetBlock(null, 40);
92                            
93                            if (target == null || target.getType() == Material.AIR) {
94                                    return;
95                            }
96                            
97                            final Door door = store.findDoor( target.getLocation() );
98                            
99                            if (door == null) {
100                                    return;
101                            }
102                            
103                            if (door.isPrivate() == true && !door.getOwner().equals(p.getName() ) ) {
104                                    return;
105                            }                      
106                            
107                            if (door.getPassword().equals(  evt.getMessage() )); {
108                                    openDoor(door, p);
109                                    evt.setCancelled(true);
110                            }
111                    }
112                    
113          }          }
114  }  }

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

  ViewVC Help
Powered by ViewVC 1.1.20