Advertisement
Guest User

Untitled

a guest
Feb 27th, 2020
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.25 KB | None | 0 0
  1. package LinuxLogo.utils;
  2.  
  3. import LinuxLogo.Main;
  4. import cn.nukkit.block.Block;
  5. import cn.nukkit.math.Vector3;
  6. import com.fasterxml.jackson.core.type.TypeReference;
  7. import com.fasterxml.jackson.databind.ObjectMapper;
  8.  
  9. import java.io.*;
  10. import java.util.HashMap;
  11.  
  12. public class Saving {
  13.  
  14.     public static void firstStart() {
  15.         try {
  16.             ObjectMapper mapper = new ObjectMapper();
  17.             HashMap<Integer, HashMap<String, Integer>> stringGenerators = mapper.readValue(new File(Main.getInstance().getDataFolder() + File.separator + Main.cfg.getString("saveDataAs")), new TypeReference<HashMap<Integer, HashMap<String, Integer>>>(){});
  18.             HashMap<Integer, HashMap<String, Integer>> stringAutoGenerators = mapper.readValue(new File(Main.getInstance().getDataFolder() + File.separator + Main.cfg.getString("saveAutoDataAs")), new TypeReference<HashMap<Integer, HashMap<String, Integer>>>(){});
  19.             for (Integer type : stringGenerators.keySet()) {
  20.                 HashMap<Block, Integer> blocks = new HashMap<>();
  21.                 for (String string : stringGenerators.get(type).keySet()) {
  22.                     int level = stringGenerators.get(type).get(string);
  23.                     Block block = Main.getInstance().getServer().getLevelByName(string.split(" ")[3]).getBlock(new Vector3(Integer.parseInt(string.split(" ")[0]), Integer.parseInt(string.split(" ")[1]), Integer.parseInt(string.split(" ")[2])));
  24.                     blocks.put(block, level);
  25.                 }
  26.                 Main.registeredGenerators.put(type, blocks);
  27.             }
  28.  
  29.             for (Integer type : stringAutoGenerators.keySet()) {
  30.                 HashMap<Block, Integer> blocks = new HashMap<>();
  31.                 for (String string : stringAutoGenerators.get(type).keySet()) {
  32.                     int level = stringAutoGenerators.get(type).get(string);
  33.                     Block block = Main.getInstance().getServer().getLevelByName(string.split(" ")[3]).getBlock(new Vector3(Integer.parseInt(string.split(" ")[0]), Integer.parseInt(string.split(" ")[1]), Integer.parseInt(string.split(" ")[2])));
  34.                     blocks.put(block, level);
  35.                 }
  36.                 Main.registeredAutoGenerators.put(type, blocks);
  37.             }
  38.         } catch (FileNotFoundException ignored) { }
  39.         catch (IOException e) {
  40.             e.printStackTrace();
  41.         }
  42.     }
  43.  
  44.     public static void shutDown() {
  45.         try {
  46.             ObjectMapper mapper = new ObjectMapper();
  47.             HashMap<Integer, HashMap<String, Integer>> stringGenerators = new HashMap<>();
  48.             HashMap<Integer, HashMap<String, Integer>> stringAutoGenerators = new HashMap<>();
  49.             for (Integer type : Main.registeredGenerators.keySet()) {
  50.                 HashMap<String, Integer> stringBlocks = new HashMap<>();
  51.                 for (Block block : Main.registeredGenerators.get(type).keySet()) {
  52.                     int level = Main.registeredGenerators.get(type).get(block);
  53.                     String blockLocation = block.getFloorX() + " " + block.getFloorY() + " " + block.getFloorZ() + " " + block.getLevel().getName();
  54.                     stringBlocks.put(blockLocation, level);
  55.                 }
  56.                 stringGenerators.put(type, stringBlocks);
  57.             }
  58.             for (Integer type : Main.registeredAutoGenerators.keySet()) {
  59.                 HashMap<String, Integer> stringBlocks = new HashMap<>();
  60.                 for (Block block : Main.registeredAutoGenerators.get(type).keySet()) {
  61.                     int level = Main.registeredAutoGenerators.get(type).get(block);
  62.                     String blockLocation = block.getFloorX() + " " + block.getFloorY() + " " + block.getFloorZ() + " " + block.getLevel().getName();
  63.                     stringBlocks.put(blockLocation, level);
  64.                 }
  65.                 stringAutoGenerators.put(type, stringBlocks);
  66.             }
  67.             mapper.writeValue(new File(Main.getInstance().getDataFolder() + File.separator + Main.cfg.getString("saveDataAs")), stringGenerators);
  68.             mapper.writeValue(new File(Main.getInstance().getDataFolder() + File.separator + Main.cfg.getString("saveAutoDataAs")), stringAutoGenerators);
  69.         } catch (IOException e) {
  70.             e.printStackTrace();
  71.         }
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement