Reddi Posted November 14, 2018 Share Posted November 14, 2018 Guten Tag. Ich erstelle gerade ArrayLists um Spieler verschiedene Teams zuzuordnen. Die ArrayLists sehen so aus: public static ArrayList<String> g1 = new ArrayList<String>(); In die ArrayList werden Spielername folgenermaßen eingeführt: g1.add(setGroup.getName()); setGroup wird aus den Argumenten von dem Command zum Spieler verwandelt. setGroup ist also ein Spieler. Soweit alles gut. Wenn jetzt jedoch der Server neu startet, dann wird der Inhalt, also die darin registrierten Spieler, gelöscht. Gibt es eine Möglichkeit, wie man den Inhalt der Arraylist speichert? MfG, Reddi Link to comment Share on other sites More sharing options...
Svendson Posted November 14, 2018 Share Posted November 14, 2018 (edited) Dazu musst du mit yml Files arbeiten. Lies dich am Besten mal durch google durch ("Spigot yml config"). Hier aus meinem Kopf geschrieben ein Beispiel, wie es aussehen könnte, allerdings nicht elegant, soll dir nur helfen dich mit der Materie auseinander zu setzen. public void saveList(List list) { File file = new File("plugins" +File.separator + "name.yml"); YamlConfiguration config = YamlConfiguration.loadConfiguration(file); config.set("lists.teamlist", list); try { config.save(file); } catch (IOException e) { e.printStackTrace(); } } public List loadList() { File file = new File("plugins" +File.separator + "name.yml"); YamlConfiguration config = YamlConfiguration.loadConfiguration(file); return config.getList("lists.teamlist"); } Edited November 15, 2018 by Svendson Link to comment Share on other sites More sharing options...
Reddi Posted November 15, 2018 Author Share Posted November 15, 2018 Okay danke. Aber wie setz ich da jetzt den Inhalt der ArrayList rein? Und wie frage ich diesen dann wieder ab? MfG, Reddi Link to comment Share on other sites More sharing options...
Svendson Posted November 15, 2018 Share Posted November 15, 2018 ich verstehe deine Frage nicht. ich habe dir praktisch schon die Lösung gegeben^^ Ich hab sie sogar eben nochmal getestet und funktioniert super. Auch wenn ich deutlich effizientere Wege kenne mit Serializable etc, denke ich das dies erstmal der richtige Weg ist für dich um langsam näher an die Materie zu kommen. Hier hast du nochmal ein konkretes Beispiel dazu: import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.logging.Logger; import org.bukkit.Bukkit; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.plugin.java.JavaPlugin; public class AnyPlugin extends JavaPlugin { private static ArrayList<String> g1 = new ArrayList<>(); private static ArrayList<String> g2 = new ArrayList<>(); private static ArrayList<String> g3 = new ArrayList<>(); private static ArrayList<String> g4 = new ArrayList<>(); private static final File listFile; private static final YamlConfiguration config; static { listFile = new File("plugins" + File.separator + "teams.yml"); config = YamlConfiguration.loadConfiguration(listFile); } private Logger log = Bukkit.getLogger(); @Override public void onEnable() { loadTeams(); } @Override public void onDisable() { saveTeams(); } public void saveTeams() { config.set("Listen.Team1", g1); config.set("Listen.Team1", g2); config.set("Listen.Team1", g3); config.set("Listen.Team1", g4); try { config.save(listFile); } catch (IOException e) { log.severe("Failed to save file '" + listFile.getName() + "'"); e.printStackTrace(); } } public void loadTeams() { g1 = (ArrayList<String>) config.getStringList("Listen.Team1"); g2 = (ArrayList<String>) config.getStringList("Listen.Team1"); g3 = (ArrayList<String>) config.getStringList("Listen.Team1"); g4 = (ArrayList<String>) config.getStringList("Listen.Team1"); } } Schau es dir in Ruhe erstmal an und probier dich aus. Ich häng dir mal noch ein paar Links bezüglich Variablen in Files speichern ran. Viel Erfolg! Nützliche Links: 1. Konkreteres zu deinem Problem mit effizienteren Wegen: https://stackoverflow.com/questions/16111496/java-how-can-i-write-my-arraylist-to-a-file-and-read-load-that-file-to-the 2. Allgemein YML-Files in Spigot: https://www.spigotmc.org/wiki/creating-a-config-file/ 3. Ein deutsches Youtube Guide zur config: https://www.youtube.com/watch?v=YrVsF_P6gx8 4. Grundgerüst von Files - wie funktionieren sie? https://docs.oracle.com/javase/tutorial/essential/io/file.html Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now