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

Diff of /miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/secretdoor/DoorStorage.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 1614 by torben, Thu Oct 20 17:06:20 2011 UTC
# Line 6  import java.io.IOException; Line 6  import java.io.IOException;
6  import java.io.RandomAccessFile;  import java.io.RandomAccessFile;
7  import java.util.HashMap;  import java.util.HashMap;
8  import java.util.LinkedList;  import java.util.LinkedList;
9    import java.util.Set;
10    
11    import org.bukkit.configuration.file.YamlConfiguration;
12  import org.bukkit.Location;  import org.bukkit.Location;
13    import org.bukkit.World;
14  import org.bukkit.plugin.Plugin;  import org.bukkit.plugin.Plugin;
15    
16  public class DoorStorage {  public class DoorStorage {
# Line 37  public class DoorStorage { Line 40  public class DoorStorage {
40          }          }
41                    
42          public void saveAll() {          public void saveAll() {
                 try {  
43    
44                          File f = new File( plugin.getDataFolder(), "secretdoors.csv");                  File f2 = new File( plugin.getDataFolder(), "secretdoors.yml");
45                          RandomAccessFile out = new RandomAccessFile( f, "rw" );                  YamlConfiguration config = new YamlConfiguration();
46                          out.setLength(0);        
47                    int count = 0;
48                          for (Door door : doors) {                  for (int i=0; i<doors.size(); i++) {
49                                  out.writeBytes( door.toCsv() );                          Door door = doors.get(i);
50                                  out.writeBytes( "\n");  
51                          }                          config.set( i + ".world", door.getLeftUpper().getWorld().getName() );
52                            config.set( i + ".x", door.getLeftUpper().getBlockX() );
53                          out.close();                          config.set( i + ".y", door.getLeftUpper().getBlockY() );
54                  } catch (IOException e) {                          config.set( i + ".z", door.getLeftUpper().getBlockZ() );
55                          System.out.println(e.getMessage() );                          config.set( i + ".direction", door.getDirection()  );
56                          e.printStackTrace();                          config.set( i + ".width", door.getWidth() );
57                            config.set( i + ".height", door.getHeight() );
58                            config.set( i + ".owner", door.getOwner() );
59                            config.set( i + ".private", door.isPrivate() );                
60                    }
61    
62                    try {
63                            config.save(f2);
64                    } catch (java.io.IOException e) {
65                            System.out.println("[SecretDoor] DoorStorage : exception saving doors : " + e.getMessage() );
66                  }                  }
67    
68          }          }
69    
70          public void loadAll() {          public void loadAll() {
71                  try {                  File f = new File( plugin.getDataFolder(), "secretdoors.yml");
                         File f = new File( plugin.getDataFolder(), "secretdoors.csv");  
                         RandomAccessFile in = new RandomAccessFile( f, "r" );  
72    
73                          String line;                  if ( !f.exists() ) {
74                          while ( (line = in.readLine() ) != null ) {                          System.out.println("[SecretDoor] coult not find secretdoors.yml");
                                 Door door = new Door(line, plugin.getServer() );                  
                                 doors.add( door );  
                                 door.registerMap( doormap );      
                         }  
                         in.close();  
                           
                         System.out.println("[SecretDoor] loaded " + doors.size() + " doors");  
                           
                 }  
                 catch (FileNotFoundException fnfe) {  
                         System.out.println("[SecretDoor] door file not found");  
75                          return;                          return;
76                  }                  }
77                  catch (IOException e) {                  YamlConfiguration config = new YamlConfiguration();
78                          System.out.println(e.getMessage() );                  try {
79                          e.printStackTrace();                          config.load(f);
80                    } catch (Exception e) {
81                            System.out.println("[SecretDoor] DoorStorage: exception loading doors : " + e.getMessage() );
82                            return;
83                  }                  }
84    
85                    Set<String> keys = config.getKeys(false); //get all root keys
86    
87                            
88    
89                    for (String key : keys) {
90                            
91                            World world = plugin.getServer().getWorld( config.getString(key + ".world") );
92                            int x = config.getInt( key + ".x", 0);
93                            int y = config.getInt( key + ".y", 0);
94                            int z = config.getInt( key + ".z", 0);
95                            Location loc = new Location(world, x, y, z);
96                                    
97                            int direction = config.getInt( key + ".direction", 0);
98                            int width = config.getInt( key + ".width", 0);
99                            int height = config.getInt( key + ".height", 0);
100    
101                            String owner = config.getString( key + ".owner");
102    
103                            boolean isPrivate = config.getBoolean( key + ".private", false);
104                                    
105                            Door door = new Door(loc, direction, width, height, owner, isPrivate);
106                            doors.add( door );
107                            door.registerMap(doormap);
108                    }                      
109                            
110                    System.out.println("[SecretDoor] loaded " + doors.size() + " doors");
111                            
112          }          }
113    
114                    

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

  ViewVC Help
Powered by ViewVC 1.1.20