Skip to content

DSL Overview

DarkBladeDev edited this page Feb 21, 2026 · 2 revisions

DSL YAML — Visión general

Un evento se define como un YAML con la raíz event:.

event:
  id: my_event
  trigger:
    type: interval
    every: 60s

  conditions:
    c1:
      type: players_online
      min: 5

  scope:
    type: chunk_radius
    radius: 1

  target:
    strategy: random_loaded_chunk

  expansion:
    enabled: true
    max_radius: 4
    step: 1
    interval: 20t

  flow:
    nodes:
      - action: broadcast
        message: "&eEvento {event_id} iniciado"
      - delay: 5s
      - action: clear_weather

  variables:
    event_id:
      type: string
      scope: local
      initial: "my_event"

Secciones

  • event.id: identificador del evento.
  • event.trigger: cómo se dispara el evento.
  • event.conditions: condiciones para permitir iniciar el runtime.
  • event.scope: conjunto de chunks que el runtime bloquea.
  • event.target: cómo elegir chunk objetivo si el trigger no aporta ubicación.
  • event.expansion: expansión progresiva de locks del runtime.
  • event.flow: secuencia de ejecución (nodos).
  • event.variables: variables por evento (locales/globales) y valores iniciales.

Valores dinámicos

Muchas propiedades aceptan valores dinámicos mediante:

  • Reemplazo en texto: {var} o ${var} (ver Variables).
  • Expresiones MVEL: = <expresión>.

Ejemplo:

- action: log
  message: "Kills actuales: {kills}"

- action: set_variable
  key: kills
  value: "= (kills == null ? 0 : kills) + 1"

Para el esquema completo: Referencia DSL

Clone this wiki locally