RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
CollectionLogSaving.java
1package com.osroyale.content.collectionlog;
2
3import com.google.gson.Gson;
4import com.google.gson.GsonBuilder;
5import com.google.gson.JsonObject;
6import com.google.gson.JsonParser;
7import com.osroyale.game.world.entity.mob.player.Player;
8
9import java.io.File;
10import java.io.FileReader;
11import java.io.FileWriter;
12import java.nio.file.Path;
13import java.nio.file.Paths;
14
39
40public class CollectionLogSaving {
41
42 public static void save(Player player) {
43 Path path = Paths.get("./data/profile/save/collectionLogs/"+player.getUsername()+".json");
44 File file = path.toFile();
45 file.getParentFile().setWritable(true);
46 if (!file.getParentFile().exists()) {
47 try {
48 file.getParentFile().mkdirs();
49 } catch (SecurityException e) {
50 System.out.println("Unable to create directory for player data!");
51 }
52 }
53 try (FileWriter writer = new FileWriter(file)) {
54 Gson builder = new GsonBuilder().setPrettyPrinting().create();
55 JsonObject object = new JsonObject();
56
57 object.add("collectionLog", builder.toJsonTree(player.getCollectionLog()));
58
59 writer.write(builder.toJson(object));
60 } catch (Exception e) {
61 }
62 }
63
64 public static CollectionLog load(Player player) {
65 CollectionLog log = new CollectionLog();
66
67 Path path = Paths.get("./data/profile/save/collectionLogs/"+player.getUsername()+".json");
68 File file = path.toFile();
69 if (!file.exists()) {
70 return log;
71 }
72 try (FileReader fileReader = new FileReader(file)) {
73 JsonParser fileParser = new JsonParser();
74 Gson builder = new GsonBuilder().create();
75 JsonObject reader = (JsonObject) fileParser.parse(fileReader);
76 if (reader.has("collectionLog")) {
77 log = builder.fromJson(reader.get("collectionLog"), CollectionLog.class);
78 }
79 } catch (Exception e) {
80 e.printStackTrace();
81 }
82
83 return log;
84 }
85
86}