Advertisement
Abelistah

JsonConfigHandler

Nov 21st, 2014
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.21 KB | None | 0 0
  1. package disconsented.anssrpg.config;
  2.  
  3. import com.google.gson.Gson;
  4. import com.google.gson.GsonBuilder;
  5. import com.google.gson.reflect.TypeToken;
  6. import disconsented.anssrpg.perk.BlockPerk;
  7. import disconsented.anssrpg.perk.EntityPerk;
  8. import disconsented.anssrpg.perk.ItemPerk;
  9.  
  10. import java.io.*;
  11. import java.lang.reflect.Type;
  12. import java.util.ArrayList;
  13.  
  14. /**
  15.  * @author Disconsented, Abelistah
  16.  *         Json Config's
  17.  */
  18. public class JsonConfigHandler {
  19.     private static File skillFile = new File("config/ANSSRPG", "skill.cfg");
  20.     private static File perkFile = new File("config/ANSSRPG", "perk.cfg");
  21.     private static File configFileLocation = new File("config/ANSSRPG");
  22.  
  23.     private static ObjectStore objectStore;
  24.  
  25.     public static void loadPerkAndSkill() {
  26.         createPerkConfig();
  27.         loadPerkConfig();
  28.     }
  29.  
  30.     public static ObjectStore getObjectStore() { return objectStore; }
  31.  
  32.     public static void createPerkConfig() {
  33.         objectStore = new ObjectStore();
  34.         objectStore.addItemPerk(new ItemPerk());
  35.         objectStore.addBlockPerk(new BlockPerk());
  36.         objectStore.addEntityPerk(new EntityPerk());
  37.  
  38.         try {
  39.             configFileLocation.mkdirs();
  40.             Gson gson = new GsonBuilder().setPrettyPrinting().excludeFieldsWithoutExposeAnnotation().create();
  41.             Writer osWriter = new OutputStreamWriter(new FileOutputStream(perkFile));
  42.             gson.toJson(objectStore, osWriter);
  43.             osWriter.close();
  44.  
  45.         } catch (Exception e) {
  46.             System.err.println("Exception when creating perk config");
  47.             System.err.println(e.getLocalizedMessage());
  48.         }
  49.     }
  50.  
  51.     private static void loadPerkConfig() {
  52.         try {
  53.  
  54.             Gson gson = new Gson();
  55.             Type objectStoreType = new TypeToken<ObjectStore>() {
  56.             }.getType();
  57.             Reader isReader = new InputStreamReader(new FileInputStream(perkFile));
  58.             objectStore = gson.fromJson(isReader, objectStoreType);
  59.             isReader.close();
  60.  
  61.         } catch (Exception e) {
  62.             System.err.println("Exception when loading perkConfig");
  63.             System.err.println(e.getLocalizedMessage());
  64.         }
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement