Solved Calling from file problem

Discussion in 'Plugin Development' started by bryce325, Nov 8, 2012.

Thread Status:
Not open for further replies.
  1. Offline

    bryce325

    This shows up with no errors but just gives back null and null everytime.

    Code:
    public abstract class DataStore{
        public static BufferedWriter outStream;
        public static String Owner;
        public static String[] Members;
       
          protected static final String dataLayerFolderPath = "plugins" + File.separator + "ClanWars";
          private static final String worldDataFolderPath = dataLayerFolderPath + File.separator + "ChunkData";
         
          synchronized static void writeChunkToStorage(Chunk chunk) {
                String fileName = (ClanWars.chunkX + ";" + ClanWars.chunkZ);
                String chunkDataFolderPath = worldDataFolderPath + File.separator + ClanWars.chunkWorld;
     
                new File(chunkDataFolderPath).mkdirs();
               
                BufferedWriter outStream = null;
                try
                {
                  File chunkFile = new File(chunkDataFolderPath + File.separator + fileName);
                  chunkFile.createNewFile();
                  outStream = new BufferedWriter(new FileWriter(chunkFile));
     
                  writeChunkData(chunk, outStream);
     
                }
                catch (Exception e)
                {
                    Logs.addLogEntry("Unexpected exception saving data for chunk \"" + ClanWars.chunkWorld + "\\" + fileName + "\": " + e.getMessage());
                  }
     
                  try
                  {
                    if (outStream != null) outStream.close();
                  }
                  catch (IOException localIOException) {
                  }
                }
          synchronized static void writeChunkData(Chunk chunk, BufferedWriter outStream) throws IOException {
                String chunkDataFolderPath = worldDataFolderPath + File.separator + ClanWars.chunkWorld;
                String fileName = (ClanWars.chunkX + ";" + ClanWars.chunkZ);
                outStream = new BufferedWriter(new FileWriter(fileName));
                outStream.write(ClanWars.chunkOwner);
                outStream.newLine();
     
                for (int i = 0; i < ClanWars.chunkMember.size(); i++){
                  outStream.write((String)ClanWars.chunkMember.get(i) + ";");
                }
                try
                {
                  File chunkFile = new File(chunkDataFolderPath + File.separator + fileName);
                  chunkFile.createNewFile();
                  //outStream = new BufferedWriter(new FileWriter(chunkFile));
     
     
                }
                catch (Exception e)
                {
                    Logs.addLogEntry("Unexpected exception saving data for chunk \"" + ClanWars.chunkWorld + "\\" + fileName + "\": " + e.getMessage());
                  }
     
                  try
                  {
                    if (outStream != null) outStream.close();
                  }
                  catch (IOException localIOException) {
                  }
              }   
          synchronized static void getChunkDataFromStorage(Chunk chunk) throws IOException{
              String fileName = (ClanWars.chunkX + ";" + ClanWars.chunkZ);
              File chunkFile = new File(worldDataFolderPath + File.separator + fileName);
              if (chunkFile.exists()){
                  BufferedReader inStream = new BufferedReader(new FileReader(fileName));
     
                  String ownerString = inStream.readLine();
                  Owner = ownerString;
     
                  String members = inStream.readLine();
                  Members = members.split(";");
     
                  inStream.close();
              }
     
          }
    }
    There shows no errors and I execute it from here:

    Code:
                    String stringPlayer = ((Player) sender).getName();
                    String lowerPlayer = stringPlayer.toLowerCase();
                    Player player = Bukkit.getPlayer(stringPlayer);
                    Chunk claimChunk = player.getLocation().getChunk();
                    chunkOwner = stringPlayer;
                    String claimClan = getConfig().getString("players."+lowerPlayer+".member");
                    String lowerClan = claimClan.toLowerCase();
                    chunkMember = getConfig().getStringList("clans."+lowerClan+".members");
                    Integer claimChunkX = claimChunk.getX();
                    Integer claimChunkZ = claimChunk.getZ();
                    String claimChunkWorld = claimChunk.getWorld().getName();
                    sender.sendMessage(claimChunkX + " " + claimChunkZ);
                    chunkX = claimChunkX;
                    chunkZ = claimChunkZ;
                    chunkWorld = claimChunkWorld;
                    DataStore.writeChunkToStorage(claimChunk);
                    try {
                        DataStore.writeChunkData(claimChunk, DataStore.outStream);
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    return true;
                   
                }
                if(args[0].equalsIgnoreCase("clam")){
                    String stringPlayer = ((Player) sender).getName();
                    String lowerPlayer = stringPlayer.toLowerCase();
                    Player player = Bukkit.getPlayer(stringPlayer);
                    Chunk claimChunk = player.getLocation().getChunk();
                    chunkOwner = stringPlayer;
                    String claimClan = getConfig().getString("players."+lowerPlayer+".member");
                    String lowerClan = claimClan.toLowerCase();
                    chunkMember = getConfig().getStringList("clans."+lowerClan+".members");
                    Integer claimChunkX = claimChunk.getX();
                    Integer claimChunkZ = claimChunk.getZ();
                    String claimChunkWorld = claimChunk.getWorld().getName();
                    sender.sendMessage(claimChunkX + " " + claimChunkZ);
                    chunkX = claimChunkX;
                    chunkZ = claimChunkZ;
                    chunkWorld = claimChunkWorld;
                    try {
                        DataStore.getChunkDataFromStorage(claimChunk);
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    sender.sendMessage(DataStore.Owner + " " + DataStore.Members);
                    return true;
                }
    I have been playign with it for a while but figure someone else will probably be able to find it faster than I could.

    Figured it out myself (I only feel a little stupid now).

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 29, 2016
Thread Status:
Not open for further replies.

Share This Page