Contenido generado con IA — puede contener errores.

Recorridos

Pasos y objetivos

Cada clave de un paso, los veintidós tipos de objetivo con sus parámetros y un ejemplo de cada uno, filtros, pistas y límites de tiempo.

Un paso es una cosa que hacer. Tiene un objetivo que el plugin vigila, la guía que muestra el camino, y opcionalmente texto, recompensas, efectos, una pista y un límite de tiempo.

steps:
  - id: tools
    title: '{highlight}Craft a wooden pickaxe'
    description: ['Open a crafting table and make one.']
    objective:
      type: CRAFT
      filter: [WOODEN_PICKAXE]
    guidance:
      beacon: false
    on-start: ['[SOUND] BLOCK_NOTE_BLOCK_CHIME;1;1.4']
    on-complete: ['console: give %player_name% torch 8']
    rewards: [ { type: EXPERIENCE, value: '20' } ]
    hint-after: 40s
    hint: 'Right-click a crafting table.'
    skippable: true
    timeout: 10m

Claves del paso

ClavePor defectoQué hace
idstep-<n>Único dentro del recorrido, en minúsculas. El progreso, las estadísticas y los placeholders lo siguen, así que mantenlo cuando cambies el texto de un paso.
titleel idEl nombre del paso en el panel, el toast y /journey.
descriptionningunaLíneas bajo el título en el panel y en /journey.
objective—Obligatorio. Ver abajo. Un paso sin un objetivo legible se reporta y se omite.
guidancetodo activadoCómo se muestra el camino. Consulta Guía.
on-start, on-completeningunaLíneas de efectos.
rewardsningunaSe dan al completar el paso; un paso saltado no da nada, y esa partida pierde las recompensas de finalización del recorrido (consulta Saltar).
hint-afterhint-after de config.yml (45 s)Tiempo sin avanzar en el paso antes de enviar la pista. 0s la desactiva en este paso.
hintuna línea que señala /journeyLa pista. Se envía una vez por paso; con ella el faro late y suena un sonido.
skippabletrueSi los jugadores pueden saltar este paso. Saltarlo pide confirmación; un paso que no se puede saltar responde con un rechazo.
timeoutningunoUn límite de tiempo. Agotarlo hace fallar el paso: el recorrido entero se detiene, se avisa al jugador de que se le acabó el tiempo y el paso cuenta como abandonado. Los disparadores del recorrido pueden volver a iniciarlo, desde el primer paso.

Claves del objetivo

Todo objetivo tiene un type; las demás claves dependen de él.

ClavePor defectoLa usa
amount1Cuántas veces, o el valor objetivo para LEVEL (nivel), PLAYTIME (minutos) y WAIT (segundos).
filtercualquieraNombres de materiales o de entidades, en mayúsculas. materials, blocks, items y entities se leen como alias.
worldscualquieraMundos en los que debe ocurrir la acción.
locationningunaworld,x,y,z. En REACH, el lugar al que llegar; en los demás, la acción debe ocurrir dentro de radius.
radius3 en REACH, 4 en el restoBloques alrededor de location.
regionningunaUn id de región de ExyliaLib, para REACH.
npc, command, text, cinematic, condition, key, duration—Una por tipo, según la tabla de abajo.

Tipos de objetivo

TipoParámetrosSe cumple cuandoEjemplo
REACHlocation + radius, o regionEl jugador está dentro del radio o dentro de la región. Se comprueba en cada movimiento y una vez por segundo, así que los teletransportes cuentan.{ type: REACH, location: 'world,0,64,0', radius: 4 }
INTERACT_NPCnpcEl jugador hace clic en ese NPC: el id solo para los NPCs del plugin y de ExyliaDisplays, <plugin>:<id> para los de otro plugin. El NPC brilla para él.{ type: INTERACT_NPC, npc: guide }
INTERACT_BLOCKfilter, opcional location + radiusEl jugador hace clic derecho con la mano principal en un bloque que coincide.{ type: INTERACT_BLOCK, filter: [LECTERN] }
BREAK_BLOCKamount, filter, worlds, opcional location + radiusEl jugador rompe bloques que coinciden. Los bloques que colocó un jugador no cuentan, para los materiales que nombra el filtro; un paso sin filtro no lo comprueba.{ type: BREAK_BLOCK, amount: 10, filter: [STONE, DEEPSLATE] }
PLACE_BLOCKigualEl jugador coloca bloques que coinciden. Cada sitio cuenta una vez por sesión, así que colocar y romper el mismo bloque otra vez no cuenta dos veces.{ type: PLACE_BLOCK, amount: 4, filter: [TORCH] }
CRAFTigualEl jugador craftea un objeto que coincide; cuenta la cantidad que da la receta por crafteo. Un shift-clic que craftea una pila entera cuenta como un crafteo.{ type: CRAFT, filter: [WOODEN_PICKAXE] }
SMELTigualEl jugador saca objetos fundidos de un horno; cuenta los objetos sacados.{ type: SMELT, amount: 8, filter: [IRON_INGOT] }
ENCHANTigualEl jugador encanta un objeto que coincide en una mesa de encantamientos.{ type: ENCHANT, filter: [DIAMOND_SWORD] }
FISHigualEl jugador pesca objetos que coinciden; cuenta la pila pescada.{ type: FISH, amount: 3, filter: [COD, SALMON] }
KILL_MOBigual, filter con tipos de entidadEl jugador mata mobs que coinciden. No cuentan los mobs de spawners, huevos de spawn y huevos dispensados, ni los gólems de hierro y de nieve construidos.{ type: KILL_MOB, amount: 5, filter: [ZOMBIE] }
KILL_PLAYERamount, worlds, opcional location + radiusEl jugador mata a otros jugadores.{ type: KILL_PLAYER, amount: 1, worlds: [pvp] }
PICKUP_ITEMigual que BREAK_BLOCKEl jugador recoge objetos que coinciden; cuenta la pila recogida. No cuentan los objetos que soltó cualquier jugador.{ type: PICKUP_ITEM, amount: 16, filter: [OAK_LOG] }
CONSUMEigualEl jugador come o bebe un objeto que coincide.{ type: CONSUME, filter: [BREAD] }
EQUIPfilterEl jugador lleva puesto, o tiene en cualquiera de las manos, un objeto que coincide. Se comprueba una vez por segundo.{ type: EQUIP, filter: [IRON_CHESTPLATE] }
RUN_COMMANDcommandEl jugador ejecuta el comando. Se compara por prefijo, sin distinguir mayúsculas, con barra opcional: /spawn cuenta /spawn now. Se cuenta después de que el comando se ejecute.{ type: RUN_COMMAND, command: /kit starter }
CHATtextEl jugador envía una línea de chat que contiene el texto, sin distinguir mayúsculas.{ type: CHAT, text: hello }
LEVELamountEl nivel de experiencia del jugador llega a amount. Se comprueba una vez por segundo.{ type: LEVEL, amount: 10 }
PLAYTIMEamountEl tiempo de juego llega a amount minutos, según el seguimiento de tiempo de juego de ExyliaLib (de toda la red, sin contar el tiempo inactivo). Se comprueba una vez por segundo.{ type: PLAYTIME, amount: 60 }
WAITdurationHa pasado ese tiempo desde que empezó el paso. Un número solo son segundos.{ type: WAIT, duration: 30s }
WATCH_CINEMATICcinematicLa cinemática, que se reproduce al empezar el paso, termina — vista, saltada o rechazada por igual, así que una cinemática que no se puede reproducir nunca bloquea un recorrido.{ type: WATCH_CINEMATIC, cinematic: intro }
PLACEHOLDERconditionLa condición es verdadera. Se comprueba una vez por segundo; falla cerrada.{ type: PLACEHOLDER, condition: '%vault_eco_balance% >= 100' }
CUSTOMkey, amountLa clave se dispara para el jugador esas veces. Un paso que pide exylia:mines:break cuenta también exylia:mines:break:gold, nunca al revés.{ type: CUSTOM, key: exylia:crates:open, amount: 3 }

Todo tipo que cuenta una acción respeta worlds y un location + radius opcionales, así que "rompe diez de piedra en la mina del tutorial" es BREAK_BLOCK con un lugar y un radio. Un filter vacío acepta cualquier cosa. Qué farmeo no se cubre está en las FAQ.

Las claves CUSTOM que disparan otros plugins de Exylia están en Integraciones.

Un paso que el plugin no puede leer

Un paso cuyo objetivo no tiene lo que necesita — un REACH sin lugar, un INTERACT_NPC sin NPC, un PLACEHOLDER cuya condición no se entiende — se reporta indicando el archivo y la ruta, y se omite hasta que se arregle. El resto del recorrido sigue funcionando. El editor conserva ese paso en el archivo y lo marca, así que un paso puede estar a medio hacer en el juego sin romper el recorrido.

Progreso y finalización

El progreso solo cuenta para el paso en el que está el jugador. Cuando se cumple el objetivo de un paso:

  1. se dan sus recompensas y se ejecutan sus líneas on-complete;
  2. suena el feedback del paso (sonido, toast, partículas);
  3. se dispara JourneyStepCompleteEvent;
  4. empieza el paso siguiente, o se completa el recorrido.

El panel y /journey muestran un conteo (3/10) en cada paso cuya cantidad es mayor que uno, y en LEVEL, PLAYTIME y WAIT.

¿Falta algo en esta página? Dínoslo en Discord