-
Notifications
You must be signed in to change notification settings - Fork 0
Persistence
DarkBladeDev edited this page Feb 21, 2026
·
2 revisions
CEE persiste runtimes activos en plugins/CustomEventEngine/runtime.json.
-
Carga: al iniciar el plugin (
onEnable) se intenta cargar el snapshot. -
Guardado: al apagar el plugin (
onDisable) se guarda el snapshot.
En el estado actual del proyecto, no hay guardado periódico (aunque exista persistence.interval-seconds en config.yml).
Por cada runtime se guarda:
eventIdworldId-
originX,originZ - Lista de
chunksocupados (x/z) instructionPointerwaitRemaining-
variables locales (
runtime.getContext().getLocalVariables())
Notas:
- Las variables globales no se guardan en
runtime.json. Se re-inicializan desde definiciones globales al cargar eventos.
Al cargar:
- Se busca el mundo por UUID.
- Se reconstruye un
EventRuntimecon:- el plan compilado del evento
- el
instructionPointerywaitRemaining - las variables locales del snapshot
- Se intenta retomar locks del snapshot (
tryLock).
Si no se pueden tomar los locks, ese runtime no se restaura.
Si runtime.json quedó en un estado inválido (crash/edición manual), puedes:
- Borrar el archivo
runtime.json. - Usar comandos
purgepara limpiar runtimes en ejecución.
Ver: Comandos
CustomEventEngine • Paper/Spigot API 1.20+ • Java 21