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

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

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

revision 1537 by torben, Wed Jun 29 18:12:42 2011 UTC revision 1578 by torben, Sat Jul 16 11:01:02 2011 UTC
# Line 8  import org.bukkit.block.Block; Line 8  import org.bukkit.block.Block;
8  import org.bukkit.entity.Player;  import org.bukkit.entity.Player;
9  import org.bukkit.event.block.BlockBreakEvent;  import org.bukkit.event.block.BlockBreakEvent;
10  import org.bukkit.event.block.BlockListener;  import org.bukkit.event.block.BlockListener;
11    import org.bukkit.event.block.BlockRedstoneEvent;
12  import org.bukkit.event.block.SignChangeEvent;  import org.bukkit.event.block.SignChangeEvent;
13  import org.bukkit.event.player.PlayerListener;  import org.bukkit.event.player.PlayerListener;
14  import org.bukkit.plugin.Plugin;  import org.bukkit.plugin.Plugin;
# Line 16  import org.bukkit.plugin.Plugin; Line 17  import org.bukkit.plugin.Plugin;
17  public class DoorBlockListener extends BlockListener {  public class DoorBlockListener extends BlockListener {
18    
19    
20          DoorStorage store;          private DoorStorage store;
21          private DoorOpenListener handler;          private DoorOpenListener handler;
22    
23          Plugin plugin;          private Plugin plugin;
24    
25          public DoorBlockListener(Plugin plugin) {          public DoorBlockListener(Plugin plugin) {
26                  this.plugin = plugin;                  this.plugin = plugin;
# Line 40  public class DoorBlockListener extends B Line 41  public class DoorBlockListener extends B
41                  Door door = store.findDoor(event.getBlock().getLocation() );                  Door door = store.findDoor(event.getBlock().getLocation() );
42                  if (door != null) {                  if (door != null) {
43                          Player player = event.getPlayer();                          Player player = event.getPlayer();
44                          if ( ! door.owner.equals( player.getName() )) {                          if ( ! door.getOwner().equals( player.getName() )) {
45                                  Player owner = player.getServer().getPlayer( door.owner );  
46                                    Player owner = player.getServer().getPlayer( door.getOwner() );
47    
48                                  if (owner != null) {                                  if (owner != null) {
49                                          owner.sendMessage("" + player.getName() + " broke one of your secret doors");                                          owner.sendMessage("" + player.getName() + " broke one of your secret doors");
# Line 52  public class DoorBlockListener extends B Line 54  public class DoorBlockListener extends B
54                  }                  }
55          }          }
56    
57            private Block[] getAdjacentBlocks(Block block) {
58                    Block out[] = new Block[6];
59    
60                    out[0] = block.getRelative(-1,0,0);
61                    out[1] = block.getRelative(1,0,0);
62    
63                    out[2] = block.getRelative(0,-1,0);
64                    out[3] = block.getRelative(0,1,0);
65    
66                    out[4] = block.getRelative(0,0,-1);
67                    out[5] = block.getRelative(0,0,1);
68    
69                    return out;
70                    
71            }
72    
73            @Override
74            public void onBlockRedstoneChange(BlockRedstoneEvent event) {
75                    //System.out.println( event.getBlock().toString() );
76                    
77                    Block block = event.getBlock();        
78    
79    
80                    int x,y,z;
81                    Block blocks[] = getAdjacentBlocks(block);
82    
83                    for (int i=0; i<blocks.length; i++) {
84                            //System.out.println(" " + i + ">" + blocks[i].toString() );
85                            Door d = store.findDoor( blocks[i].getLocation() );
86    
87                            if (d != null) {
88                                    //System.out.println("  found door");
89                                    d.powerChange(block.getWorld(), event.getOldCurrent(), event.getNewCurrent() );
90                            }
91                    }
92    
93            }
94    
95          @Override          @Override
96          public void onSignChange(SignChangeEvent event) {          public void onSignChange(SignChangeEvent event) {
97    
# Line 80  public class DoorBlockListener extends B Line 120  public class DoorBlockListener extends B
120                                                                    
121                                  String parts[] = line1.split("x");                                  String parts[] = line1.split("x");
122                                  width = Integer.parseInt( parts[0] );                                  width = Integer.parseInt( parts[0] );
123                                  height = Integer.parseInt( parts[0] );                                  height = Integer.parseInt( parts[1] );
124                                                                    
125                                  if (width <1 || width>5) {                                  if (width <1 || width>8) {
126                                          event.getPlayer().sendMessage("width must be between 1 and 5 (inclusive)");                                          event.getPlayer().sendMessage("width must be between 1 and 8 (inclusive)");
127                                          return;                                          return;
128                                  }                                  }
129                                  if (height <2 || height>5) {                                  if (height <2 || height>5) {

Legend:
Removed from v.1537  
changed lines
  Added in v.1578

  ViewVC Help
Powered by ViewVC 1.1.20