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

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

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

revision 1535 by torben, Wed Jun 29 14:57:08 2011 UTC revision 1579 by torben, Sat Jul 16 11:16:09 2011 UTC
# Line 14  class Door { Line 14  class Door {
14          final static int NORTH = 2;          final static int NORTH = 2;
15          final static int SOUTH = 3;          final static int SOUTH = 3;
16                    
17          Location leftUpper;          private Location leftUpper;
18    
19                    
20          Location blocks[][]; // [width][height] - [0][0] == leftUpper          private Location blocks[][]; // [width][height] - [0][0] == leftUpper
21    
22          int material;          private int material;
23                    
24          int direction;          private int direction;
25                    
26          int width;          private int width;
27          int height;          private int height;
28    
29            private String owner;
30                    
31    
32          public Door(Block sign, int width, int height, DoorStorage store) throws ConflictingDoorException{          public Door(Block sign, int width, int height, DoorStorage store, String owner) throws ConflictingDoorException{
33                  leftUpper = sign.getLocation().clone();                  leftUpper = sign.getLocation().clone();
34                                    
35                  this.width = width;                  this.width = width;
36                  this.height = height;                  this.height = height;
37    
38                    this.owner = owner;
39                                    
40                  blocks = new Location[width][height];                            blocks = new Location[width][height];          
41    
# Line 58  class Door { Line 62  class Door {
62                                    
63                  loadBlocks();                  loadBlocks();
64                                    
65                            
66                  for (int w=0; w<width; w++) {                  for (int w=0; w<width; w++) {
67                          for (int h=0; h<height; h++) {                          for (int h=0; h<height; h++) {
68                                  Door d = store.findDoor( blocks[w][h] );                                  Door d = store.findDoor( blocks[w][h] );
# Line 81  class Door { Line 85  class Door {
85                                    
86                  width = Integer.parseInt( parts[6] );                  width = Integer.parseInt( parts[6] );
87                  height = Integer.parseInt( parts[7] );                  height = Integer.parseInt( parts[7] );
88                    owner = parts[8];
89    
90    
91                  blocks = new Location[width][height];                            blocks = new Location[width][height];          
92                                    
93                  loadBlocks();                  loadBlocks();
94          }          }
95    
96            public void powerChange(World world, int oldCurrent, int newCurrent ) {
97                    if (newCurrent != 0 && isPowered() == true) {
98                            open();
99                    } else {
100                            close();
101                    }      
102            }
103    
104            public boolean isPowered() {
105                    for (int w=0; w<width; w++) {
106                            for (int h=0; h<height; h++) {
107                                    if (blocks[w][h].getBlock().isBlockIndirectlyPowered() == true)
108                                            return true;
109                            }
110                    }
111                            
112                    return false;
113            }
114                    
115          private void loadBlocks() {          private void loadBlocks() {
116                                    
# Line 136  class Door { Line 160  class Door {
160                                    
161                  sb.append( ":" + width );                  sb.append( ":" + width );
162                  sb.append( ":" + height );                  sb.append( ":" + height );
163                    sb.append( ":" + owner);
164    
165                  return sb.toString();                  return sb.toString();
166          }          }
# Line 158  class Door { Line 183  class Door {
183    
184          }          }
185    
186          public void open(World world) {          public void open() {
187                  for (int w=0; w<width; w++) {                  for (int w=0; w<width; w++) {
188                          for (int h=0; h<height; h++) {                                                    for (int h=0; h<height; h++) {                          
189                                  blocks[w][h].getBlock().setTypeId(0);                                  blocks[w][h].getBlock().setTypeId(0, false);
190                          }                          }
191                  }                  }
192    
193          }          }
194    
195          public void close(World world) {          public void close() {
196                  for (int w=0; w<width; w++) {                  for (int w=0; w<width; w++) {
197                          for (int h=0; h<height; h++) {                                                    for (int h=0; h<height; h++) {                          
198                                  blocks[w][h].getBlock().setTypeId( material );                                  blocks[w][h].getBlock().setTypeId( material );
# Line 175  class Door { Line 200  class Door {
200                  }                  }
201          }          }
202    
203    
204            /////// setters and getters
205            public String getOwner() {
206                    return owner;
207            }
208    
209  }  }

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

  ViewVC Help
Powered by ViewVC 1.1.20