Minecraft java Hashmap in Config laden/speichern?

2 Antworten

Du kannst in einer ConfigurationSection eine Map speichern mit set() und danach wieder eine ganze Section zu einer Map konvertieren mit getValues(). Alle Werte darin müssen aber auch in Configs darstellbar sein.

FramesProRGB 
Fragesteller
 17.02.2022, 18:34

Danke für die hilfe, aber irgendwie verstehe ich das nicht. ich bin noch anfänger im coden.

0
FireEraser  17.02.2022, 18:57
@FramesProRGB

Ich würde dir in solchen Fällen empfehlen zuerst Java richtig zu lernen. Spigot Plugins zu entwickeln ist schon relativ anspruchsvoll und nicht wirklich für Anfänger geeignet.

Mir ist gerade aufgefallen, dass das nicht funktioniert da Location in Spigot Konfigurationen ein komplexer Typ ist und Inventories nicht unterstützt werden. So könnte man es zum Beispiel speichern (nicht unbedingt schön gelöst):

int index = 0;
ConfigurationSection inventoryLocations = config.createSection("inventoryLocations");

for (Map.Entry<Location, Inventory> entry : inventoryMap.entrySet()) {
    ConfigurationSection section = inventoryLocations .createSection(index++);
    section.set("location", entry.getKey());
    section.set("inventory", Arrays.asList(entry.getValue()));
}
0

einfach gesagt mach ne konfig file. speicher da als key den spielernamen und dann das inventory

und dann beim restart lädst du die konfig als file

wenn der player joined überprüfe ob er in der file als name vorhanden ist bzw. hol dir das inventar passend zum namen und fang die nullPointer ab

Woher ich das weiß:Studium / Ausbildung – info studium