Wie kann man den Inhalt eines erstellen Inventares speichern?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Vermutlich erstellst du bei jedem Öffnen ein neues Inventar, logisch dass das nicht funktioniert. Am einfachsten ist es die Inventare in einer assoziativen Datenstruktur zu speichern. Java hat dafür das Interface Map, die sinnvollste Implementierung ist hier eine HashMap. Eine HashMap speichert die Werte in einer Hashtabelle, wodurch die Komplexität eines Zugriffes bei einer Veränderung der Größe mehr oder weniger konstant bleibt.

Erstellung:

Map<Player, Inventory> secondaryInventories = new HashMap<>();

Verwendung beim Öffnen:

Inventory secondaryInventory = secondaryInventories.get(player);
if (secondaryInventory == null) {
    // Neues Inventar erstellen
    secondaryInventories.put(player, secondaryInventory);
}
// Inventar öffnen

Damit bleiben die Inventare jedoch nur während der Laufzeit erhalten, willst du dass sie auch bei einem Neustart erhalten bleiben, musst du die Hashtabelle auf dem Datenträger speichern. Das geht zum Beispiel mit Minecrafts eigenem Format NBT.

Vielen Dank für die Hilfe!

0
Woher ich das weiß:Hobby – Hin und wieder ein kleines Plugin selber machen

Wenn du hier schon auf ein Video verlinkst, dann sollte das wenigstens gut sein, aber das ist es definitiv nicht.

0
@FireEraser

Viele wege führen nach Rom auch wenn Sie alt sind sowie nicht schön. (Video ist auch schon etwas älter)

0
@TopicsLP

Ist trotzdem blöd, wenn der eine Weg doppelt so lang ist. Genau daher gibt es auch Begriffe wie Scripkiddie, denn wenn man so lernt, versteht man eigentlich gar nicht, was man macht.

0

Was möchtest Du wissen?