Christian Loffel / Bedrock Portfolio
Case Study - State Persistence

Spawn Egg State Restore

Dieses System speichert Fahrzeugzustände beim Egg-Drop in Lore (z. B. Fuel, Crash-Lives, Variant) und stellt diese Zustände beim nächsten Spawn robust wieder her. Damit werden Spawn-Eggs zu tragbaren Save-Slots.

Was Bedrock nicht nativ kann

Kein persistenter Fahrzeugzustand im Egg

Normale Spawn-Eggs erzeugen frische Entities. Das System schreibt daher den Zustand explizit in die Lore des Items.

Asynchrones Timing beim Spawn

Restore wird nicht blind sofort gesetzt, sondern mit Pending-Matching und Retry-Logik sicher auf die richtige Entity angewendet.

Viele Fahrzeugtypen mit unterschiedlichen Daten

Type-Mapping läuft über konsistente Suffix-Strategie (z. B. _spawn_egg) plus Fallbacks für Fuel-Keys und Variant-Quellen.

Refund muss Zustand erhalten

Beim Entfernen oder Rückerstatten eines Fahrzeugs wird nicht nur ein Item gegeben, sondern ein vollständiger Zustands-Snapshot.

Speichern -> Tragen -> Wiederherstellen

01 Extrahieren

Entity State lesen

aria:crash_lives, Variant, aria:fuel und aria:fuel_max werden gesammelt.

02 Serialisieren

Lore bauen

State wird in gut lesbare und gleichzeitig parsebare Lore-Zeilen kodiert.

03 Matchen

Spawn-Ereignis erkennen

Nach Spawn wird die neue Entity mit dem pending state verknüpft.

04 Anwenden

State zurückschreiben

Properties werden gesetzt; bei Timing-Problemen greifen gestaffelte Apply-Retries.

// Vereinfachtes Muster aus spawn_egg_state_restore.js
const state = getPlaneSpawnEggState(entity);
const lore = makeLoreFromState(state);
giveSpawnEggWithStateToPlayer(player, eggTypeId, lore);

// später nach Spawn
const parsed = parseStateFromLore(itemLore);
applyStateToEntityWithRetry(newEntity, parsed);

Direktlinks

Ausführliche Analyse: portfolio_features_spawn_egg_state_restore.txt

TXT öffnen Vorherige Case Study Zur Startseite