-
Notifications
You must be signed in to change notification settings - Fork 0
DSL Flow
event.flow.nodes es una lista. Cada elemento es un mapa que representa un nodo.
flow:
nodes:
- action: broadcast
message: "Inicio"
- delay: 5s
- repeat:
times: 3
every: 20t
flow:
nodes:
- action: log
message: "tick"Ejecuta una acción.
Forma 1 (config “inline”):
- action: broadcast
message: "hola"Forma 2 (config bajo config:):
- action: broadcast
config:
message: "hola"Pausa el runtime por una cantidad de ticks.
- delay: 5sAdmite ms/s/m/h/t.
Repite una subsecuencia N veces, con espera opcional entre iteraciones.
- repeat:
times: 5
every: 1s
flow:
nodes:
- action: log
message: "Iteración"Atajos:
- repeat: 5
flow:
nodes:
- action: log
message: "Iteración"Detalles:
-
timesdefault:1 -
everydefault:0 -
flow.nodesonodes: lista de nodos internos
Alias de repeat sin every (se ejecuta “en loop” inmediato).
- loop:
times: 10
nodes:
- action: log
message: "loop"Repite una subsecuencia mientras la expresión MVEL sea true en cada iteración.
- condition_loop:
times: 100
expression: "participants_count < 5"
nodes:
- action: log
message: "Esperando..."
- delay: 20t-
timeses un máximo de iteraciones. -
expressiondefault:true.
Ejecuta ramas en paralelo (runtimes hijos asíncronos).
- async:
branches:
- nodes:
- action: log
message: "rama A"
- nodes:
- action: log
message: "rama B"Notas:
- También acepta
flows:en vez debranches:. - Cada entrada puede ser
{ nodes: [...] }o directamente una lista[...].
Invoca una task (definida en event.tasks o en plugins/CustomEventEngine/tasks/*.yml).
Forma corta:
- task: "nombre_task"Forma completa:
- task:
name: "add"
with:
a: 2
b: 3
into:
sum: "result"
max_depth: 64Detalles:
-
with: mapa de parámetros (se resuelven valores/expresiones en runtime). -
into: mapareturnName -> variableDestino. -
max_depth: corta recursión/composición excesiva (default:64). -
override: permite redefinir la task solo para esta llamada:
- task:
name: "base"
with: { x: 1 }
into: { out: "value" }
override:
params: { x: number }
returns: { out: number }
nodes:
- return:
out: "= x + 5"Finaliza la ejecución de la task actual y entrega valores de retorno a la llamada (task.into).
- return:
sum: "= a + b"
ok: trueNotas:
- Si una task termina sin
return, se considera retorno vacío.
CustomEventEngine • Paper/Spigot API 1.20+ • Java 21