Custom Inventar in Config speichern?
Ich habe mir ein Plugin geschrieben, muss aber ein custom Inventar speichern. Wenn ich den Server reloade ist das Inventar aber weg. Da habe ich etwas recherchiert, und rausgefunden, dass man so ein Inventar in der Config speichern muss. Aber wie mach ich das? Habe auf YouTube nichts gutes gefunden.
Liebe Grüsse jotschiii2020
2 Antworten
Die FileConfiguration von Bukkit erlaubt es, ItemStacks zu speichern. Mitsamt Enchantments, NBT-Daten, etc.
So speicherst du's:
Player player;
FileConfiguration config;
config.set("inventar", player.getInventory().getContents());player.getInventory().getArmorContents());
Quelle: https://www.spigotmc.org/threads/saving-inventory-to-config.90220/
So liest du's aus:
ArrayList<ItemStack> content = (ArrayList<ItemStack>) config.getList("inventar");
ItemStack[] items = new ItemStack[content.size()];
for (int i = 0; i < content.size(); i++) {
ItemStack item = content.get(i);
if (item != null) {
items[i] = item;
} else {
items[i] = null;
}
}
player.getInventory().setContents(items);
Quelle: https://www.spigotmc.org/threads/help-with-saving-load-inventory.246693/
Was meinst du mit einem Beispiel? Das ist doch schon ein Beispiel.
Du Musst nur den Code kopieren und für player den Spieler einsetzen.
Ups, kleiner Fehler:
config.set("inventar", player.getInventory().getContents());
Muss es beim ersten heißen.
Daten in die Config speichern:
Daten aus der Config laden:
@ Brockdish wie muss ich genau das Inventar speichern? Er zeigt dies ja anhand von Koordinaten
Keine Ahnung xD
Vielleicht erstellst du einfach Strings, die den Namen des Items als Inhalt haben und speicherst sie in der Config.
Aber wenn du nur die Namen speicherst, werden wahrscheinlich Display Name, Lore, Enchantments usw nicht gespeichert...
Kannst du mir ein Beispiel machen? ich verstehe das nicht so