-
Notifications
You must be signed in to change notification settings - Fork 0
DSL Reference
DarkBladeDev edited this page Feb 22, 2026
·
3 revisions
event:
id: <string>
trigger: <trigger>
conditions: <conditions>
flow: <flow>
tasks: <tasks>
scope: <scope>
expansion: <expansion>
target: <target>
chunk_load_rules: <chunk_load_rules>
chunk_unload_rules: <chunk_unload_rules>
variables: <variables>Defaults (si no declaras la sección):
-
id: nombre del archivo sin.yml. -
trigger:type: intervalconevery: 60s. -
conditions: vacío. -
flow: vacío. -
tasks: vacío. -
scope:type: chunk_radiusconradius: 0. -
expansion: deshabilitada. -
target:random_loaded_chunk. -
chunk_load_rules:REJECT. -
chunk_unload_rules:PAUSE. -
variables: vacío.
- Tipo: string
- Default: nombre del archivo.
Ver: Triggers
Ver: Conditions
Ver: Flow (nodos)
Declara tasks reutilizables dentro del evento.
event:
tasks:
add:
params:
a: number
b: number
returns:
sum: number
flow:
nodes:
- return:
sum: "= a + b"Invocación desde el flow:
event:
flow:
nodes:
- task:
name: "add"
with: { a: 2, b: 3 }
into: { sum: "result" }Notas:
- Además de
event.tasks, CEE carga tasks globales desdeplugins/CustomEventEngine/tasks/*.yml(sección raíztasks:). - Validación: en carga se detectan tasks inexistentes, parámetros desconocidos y faltantes requeridos.
Actualmente existe el scope:
-
chunk_radius(default)
event:
scope:
type: chunk_radius
radius: 2Efecto: el runtime “ocupa” el chunk origen y los chunks alrededor según el radio.
Si el trigger no trae ubicación, CEE resuelve el target a partir del world (si existe) y la estrategia.
Estrategias registradas por defecto:
-
random_loaded_chunk(default): elige un chunk aleatorio entre los chunks cargados del mundo.
event:
target:
strategy: random_loaded_chunkPermite aumentar progresivamente los locks del runtime.
event:
expansion:
enabled: true
max_radius: 4
step: 1
interval: 20t-
enabled(bool, defaultfalse) -
max_radius(int, default0) -
step(int, default1) -
interval(ticks) admite formatos:20t,5s,1m, etc.
Notas:
- La expansión se evalúa de forma periódica por una task global. Si
interval<= 0, se usaexpansion.interval-ticksdelconfig.yml.
Los valores se parsean desde YAML, pero no están aplicados al runtime en el código actual.
-
chunk_load_rules:REJECT | CANCEL_EXISTING | QUEUE -
chunk_unload_rules:PAUSE | CANCEL | KEEP_LOADED
Recomendación: tratarlos como “reservados/experimentales”.
Ver: Variables
CustomEventEngine • Paper/Spigot API 1.20+ • Java 21