Advertisement
Greenadine

PortalSaver.java

Sep 1st, 2017
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. package me.greenadine.worldspawns.portals;
  2.  
  3. import java.io.File;
  4. import java.io.FileReader;
  5. import java.io.FileWriter;
  6. import java.io.PrintWriter;
  7. import java.util.ArrayList;
  8. import java.util.Scanner;
  9.  
  10. import org.bukkit.Server;
  11. import org.bukkit.block.Block;
  12.  
  13. import me.greenadine.worldspawns.Main;
  14.  
  15. public class PortalSaver {
  16.  
  17. private static Main main;
  18. private static String file;
  19.  
  20. public PortalSaver(Main main) {
  21. PortalSaver.main = main;
  22. }
  23.  
  24. public static void write(ArrayList<Portal> portals) {
  25. try {
  26. PrintWriter out = new PrintWriter(new FileWriter(new File(main.getDataFolder(), "portals" + File.separator + file)));
  27. for(Portal portal : portals) {
  28. file = portal.getName() + ".yml";
  29. out.print(portal.getName() + ",");
  30. Block b_main = portal.getMainBlock();
  31. out.write(b_main.getWorld().getName() + ",");
  32. out.write("MB,");
  33. out.write(b_main.getX() + ",");
  34. out.write(b_main.getY() + ",");
  35. out.write(b_main.getZ() + ",");
  36.  
  37. for (int i = 0; i < portal.getPortalBlocks(portal.getName()).size(); i++) {
  38. Block block = portal.getPortalBlocks(portal.getName()).get(i);
  39. out.write(i + ",");
  40. out.write(block.getX() + ",");
  41. out.write(block.getY() + ",");
  42. out.write(block.getZ() + ",");
  43. }
  44. }
  45.  
  46. out.flush();
  47. out.close();
  48. } catch(Exception e) {
  49. main.log.severe("Could not save portals to file!");
  50. e.printStackTrace();
  51. }
  52. }
  53.  
  54. @SuppressWarnings("resource")
  55. public static ArrayList<Portal> read(Server server) {
  56. ArrayList<Portal> portals = new ArrayList<Portal>();
  57.  
  58. try {
  59. for(Portal portal : portals) {
  60. Scanner in = new Scanner(new FileReader(new File(main.getDataFolder(), portal.getName() + ".yml")));
  61. while(in.hasNextLine()) {
  62. String[] line = in.nextLine().split(",");
  63.  
  64. for (int i = 0; i < portal.getPortalBlocks(portal.getName()).size(); i++) {
  65. int x = Integer.parseInt(line[i+7]);
  66. int y = Integer.parseInt(line[i+8]);
  67. int z = Integer.parseInt(line[i+9]);
  68. @SuppressWarnings("unused")
  69. Block b = server.getWorld(line[1]).getBlockAt(x, y, z);
  70. }
  71. }
  72.  
  73. }
  74. } catch(Exception e) {
  75. main.log.severe("Could not load portals from file!");
  76. e.printStackTrace();
  77. }
  78.  
  79. return portals;
  80. }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement