Reddi Geschrieben 14. November 2018 Share Geschrieben 14. November 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 zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Svendson Geschrieben 14. November 2018 Share Geschrieben 14. November 2018 (bearbeitet) 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"); } bearbeitet 15. November 2018 von Svendson Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Reddi Geschrieben 15. November 2018 Autor Share Geschrieben 15. November 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 zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Svendson Geschrieben 15. November 2018 Share Geschrieben 15. November 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 zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden