/[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 1538 by torben, Wed Jun 29 18:16:51 2011 UTC revision 1579 by torben, Sat Jul 16 11:16:09 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 53  public class DoorBlockListener extends B Line 54  public class DoorBlockListener extends B
54                  }                  }
55          }          }
56    
57            private Block[] getAdjacentBlocks(Block block) {
58    /*
59                    Block out[] = new Block[6];
60    
61                    out[0] = block.getRelative(-1,0,0);
62                    out[1] = block.getRelative(1,0,0);
63    
64                    out[2] = block.getRelative(0,-1,0);
65                    out[3] = block.getRelative(0,1,0);
66    
67                    out[4] = block.getRelative(0,0,-1);
68                    out[5] = block.getRelative(0,0,1);
69    */
70    
71                    Block out[] = new Block[27];
72                    int count = 0;
73                    for (int x=-1; x<=1; x++) {
74                            for (int y=-1; y<=1; y++) {
75                                    for (int z=-1; z<=1; z++) {
76                                            out[count++] = block.getRelative(x,y,z);                
77                                    }
78                            }
79                            
80                    }
81    
82                    return out;
83                    
84            }
85    
86            @Override
87            public void onBlockRedstoneChange(BlockRedstoneEvent event) {
88                    //System.out.println( event.getBlock().toString() );
89                    
90                    Block block = event.getBlock();        
91    
92    
93                    int x,y,z;
94                    Block blocks[] = getAdjacentBlocks(block);
95    
96                    for (int i=0; i<blocks.length; i++) {
97                            //System.out.println(" " + i + ">" + blocks[i].toString() );
98                            Door d = store.findDoor( blocks[i].getLocation() );
99    
100                            if (d != null) {
101                                    //System.out.println("  found door");
102                                    d.powerChange(block.getWorld(), event.getOldCurrent(), event.getNewCurrent() );
103                            }
104                    }
105    
106            }
107    
108          @Override          @Override
109          public void onSignChange(SignChangeEvent event) {          public void onSignChange(SignChangeEvent event) {
110    
# Line 81  public class DoorBlockListener extends B Line 133  public class DoorBlockListener extends B
133                                                                    
134                                  String parts[] = line1.split("x");                                  String parts[] = line1.split("x");
135                                  width = Integer.parseInt( parts[0] );                                  width = Integer.parseInt( parts[0] );
136                                  height = Integer.parseInt( parts[0] );                                  height = Integer.parseInt( parts[1] );
137                                                                    
138                                  if (width <1 || width>5) {                                  if (width <1 || width>8) {
139                                          event.getPlayer().sendMessage("width must be between 1 and 5 (inclusive)");                                          event.getPlayer().sendMessage("width must be between 1 and 8 (inclusive)");
140                                          return;                                          return;
141                                  }                                  }
142                                  if (height <2 || height>5) {                                  if (height <2 || height>5) {

Legend:
Removed from v.1538  
changed lines
  Added in v.1579

  ViewVC Help
Powered by ViewVC 1.1.20