From fb22ed40df5b1599aefce668e8ce6e1c43643544 Mon Sep 17 00:00:00 2001 From: Bryson Steck Date: Tue, 15 Jun 2021 22:01:12 -0600 Subject: finally figured out how to edit player data. now how to save it... --- data/player.data | 2 +- .../brysonsteck/Resurrection/Resurrection.class | Bin 4067 -> 5262 bytes .../Resurrection/player/PlayerData.class | Bin 2046 -> 2671 bytes src/net/brysonsteck/Resurrection/Resurrection.java | 37 ++++++++++++++++++++- src/net/brysonsteck/Resurrection/config.yml | 7 ++++ .../Resurrection/player/PlayerData.java | 12 ++++++- 6 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 src/net/brysonsteck/Resurrection/config.yml diff --git a/data/player.data b/data/player.data index d5d4ef7..453a62d 100644 --- a/data/player.data +++ b/data/player.data @@ -1 +1 @@ -username,false,0 \ No newline at end of file +username,false,0;bryzinga,false,0 \ No newline at end of file diff --git a/out/production/Resurrection/net/brysonsteck/Resurrection/Resurrection.class b/out/production/Resurrection/net/brysonsteck/Resurrection/Resurrection.class index 3157aa4..8e06fe9 100644 Binary files a/out/production/Resurrection/net/brysonsteck/Resurrection/Resurrection.class and b/out/production/Resurrection/net/brysonsteck/Resurrection/Resurrection.class differ diff --git a/out/production/Resurrection/net/brysonsteck/Resurrection/player/PlayerData.class b/out/production/Resurrection/net/brysonsteck/Resurrection/player/PlayerData.class index 6d05fc9..b61bdaa 100644 Binary files a/out/production/Resurrection/net/brysonsteck/Resurrection/player/PlayerData.class and b/out/production/Resurrection/net/brysonsteck/Resurrection/player/PlayerData.class differ diff --git a/src/net/brysonsteck/Resurrection/Resurrection.java b/src/net/brysonsteck/Resurrection/Resurrection.java index aa357aa..52e910b 100644 --- a/src/net/brysonsteck/Resurrection/Resurrection.java +++ b/src/net/brysonsteck/Resurrection/Resurrection.java @@ -2,12 +2,15 @@ package net.brysonsteck.Resurrection; import net.brysonsteck.Resurrection.commands.CommandAbout; import net.brysonsteck.Resurrection.commands.CommandResurrect; +import net.brysonsteck.Resurrection.player.PlayerData; import net.brysonsteck.Resurrection.player.PlayerListener; import net.brysonsteck.Resurrection.startup.CheckForUpdate; import org.bukkit.event.Listener; import org.bukkit.plugin.PluginDescriptionFile; import org.bukkit.plugin.java.JavaPlugin; +import java.util.Hashtable; + public class Resurrection extends JavaPlugin implements Listener { //spigot things @@ -62,6 +65,38 @@ public class Resurrection extends JavaPlugin implements Listener { System.out.println("[Resurrection] Successfully Started!"); } - public static void main(String[] args) { } + public static void main(String[] args) { + + // DO THISgit + PlayerData playerData = new PlayerData(); + System.out.println("--- Reading Player data file ---"); + playerData.readData(); + System.out.println(playerData.getPlayers()); + System.out.println(playerData.getRawData()); + System.out.println("--- Oh look! A new player joined. Adding them. ---"); + playerData.saveData("bryzinga,false,0"); + System.out.println(playerData.getPlayers()); + System.out.println(playerData.getRawData()); + System.out.println("--- A player has died! Update the data file! ---"); + String rawData = playerData.getRawData(); + String[] rawPlayers = rawData.split(";"); + String[] rawSinglePlayer = new String[3]; + int index = 0; + for (String players : rawPlayers) { + if (players.startsWith("bryzinga")) { + String[] playerSplit = players.split(","); + playerSplit[1] = "true"; + playerSplit[2] = "12345"; + + rawPlayers[index] = String.join(",", playerSplit); + break; + + } + index++; + } + rawData = String.join(";", rawPlayers); + System.out.println(rawData); + + } } diff --git a/src/net/brysonsteck/Resurrection/config.yml b/src/net/brysonsteck/Resurrection/config.yml new file mode 100644 index 0000000..825512d --- /dev/null +++ b/src/net/brysonsteck/Resurrection/config.yml @@ -0,0 +1,7 @@ +resurrect: + bryzinga: + dead: false + resurrectTime: 0 + jobuxx: + dead: true + resurrectTime: 8192734897563945 \ No newline at end of file diff --git a/src/net/brysonsteck/Resurrection/player/PlayerData.java b/src/net/brysonsteck/Resurrection/player/PlayerData.java index a8a1192..cc82952 100644 --- a/src/net/brysonsteck/Resurrection/player/PlayerData.java +++ b/src/net/brysonsteck/Resurrection/player/PlayerData.java @@ -1,16 +1,20 @@ package net.brysonsteck.Resurrection.player; +import net.brysonsteck.Resurrection.Resurrection; +import org.bukkit.plugin.java.JavaPlugin; + import java.io.*; import java.util.Arrays; import java.util.Hashtable; public class PlayerData { Hashtable> playerData = new Hashtable<>(); + String rawData; public void saveData(String write) { try { FileWriter writer = new FileWriter("data/player.data"); - writer.write(write); + writer.write(rawData + ";" + write); writer.close(); readData(); } catch (IOException e) { @@ -20,6 +24,7 @@ public class PlayerData { public void readData() { try { + rawData = ""; BufferedReader reader = new BufferedReader(new FileReader("data/player.data")); String line = ""; String[] playerData; @@ -29,6 +34,7 @@ public class PlayerData { if (line == null) { break; } + rawData = rawData + line; playerData = line.split(","); Hashtable playerHash = new Hashtable<>(); playerHash.put("dead", playerData[1]); @@ -43,4 +49,8 @@ public class PlayerData { public Hashtable> getPlayers() { return playerData; } + + public String getRawData() { + return rawData; + } } -- cgit v1.2.3