Contenido generado con IA — puede contener errores.

Referencia

Configuración

config.yml clave por clave, cómo se migra un archivo antiguo, qué guardan messages.yml y scoreboards.yml, y dónde se configuran los menús y la base de datos.

Todo se genera en plugins/ExyliaAimTrainer/ en el primer arranque, con comentarios. Edita los archivos de ahí, nunca las copias del jar. Los tiempos son segundos con decimales salvo que una clave diga ticks; veinte ticks son un segundo. Las distancias y los tamaños son bloques. Los colores usan tokens de paleta como {primary} o {success}.

config.yml

Vienen dieciséis ejercicios; aquí se muestran dos. La lista completa, y lo que cada número hace a un ejercicio, está en Ejercicios.

plugins/ExyliaAimTrainer/config.yml
training:
  countdown: 3.0
  rest-seconds: 5.0
  default-drill: gridshot
  allowed-commands: [aim, aimtrainer, at, msg, r, tell, w]
 
drills:
  gridshot:
    display-name: Gridshot
    icon: LIME_CONCRETE
    description: Three targets on a 3×3 grid.
    kind: FLICK
    weight: 1.0
    duration: 30.0
    targets: 3
    size: 0.8
    height: 0.0
    distance:
      min: 6.0
      max: 6.0
    spread:
      yaw: 0.0
      pitch-min: 0.0
      pitch-max: 0.0
    grid:
      columns: 3
      rows: 3
      spacing: 11.0
    lifetime: 0.0
    ordered: false
    return-to-centre: false
    min-separation: 0.0
    weapon: ""
  # scatter, sixshot, microshot, spidershot, flick, precision, decay, switch,
  # strafe, reaction, tracking, evasive, combo …
  combo_19:
    display-name: Combo 1.9
    icon: DIAMOND_SWORD
    description: Hit only on a fully charged swing.
    kind: COMBO
    weight: 1.4
    duration: 30.0
    targets: 1
    size: 0.6
    height: 1.8
    distance:
      min: 3.0
      max: 3.5
    spread:
      yaw: 0.0
      pitch-min: 0.0
      pitch-max: 0.0
    lifetime: 0.0
    ordered: false
    return-to-centre: false
    min-separation: 0.0
    weapon: DIAMOND_SWORD
    motion:
      speed-min: 1.5
      speed-max: 3.5
      acceleration: 8.0
      arc-degrees: 60.0
      switch-min-ticks: 6
      switch-max-ticks: 18
      hop-chance: 0.0
      hop-height: 0.0
      hop-ticks: 10
    combo:
      knockback: 0.9
      knockback-up: 0.4
      approach-speed: 4.5
      combo-window: 1.0
      attack-cooldown: true
  # axe …
 
settings:
  size:
    min: 0.1
    max: 2.5
    step: 0.05
    default: 1.0
  distance:
    min: 0.25
    max: 3.0
    step: 0.05
    default: 1.0
  colours:
    lime:
      name: Lime
      dye: LIME
      glow: "#8fffc1"
    # red, orange, yellow, cyan, blue, purple, magenta, white, black
  styles:
    concrete:
      name: Concrete
      suffix: CONCRETE
      material: ""
    # wool, glass, terracotta
    lantern:
      name: Sea lantern
      suffix: ""
      material: SEA_LANTERN
    # target
  default-colour: lime
  default-style: concrete
  spawn-animation-ticks: 2
 
scoring:
  hit-points: 10
  miss-penalty: 4
  expire-penalty: 6
  false-start-penalty-millis: 150
  reaction-reference-millis: 250
  reaction-scale: 1000
  tracking-scale: 10
  combo-points: 5
  size-exponent: 1.0
  distance-exponent: 0.75
  min-difficulty: 0.25
  max-difficulty: 6.0
 
performance:
  flick:
    perfect: 0.3
    excellent: 0.45
    good: 0.65
    ok: 0.9
  reaction:
    perfect: 0.2
    excellent: 0.26
    good: 0.33
    ok: 0.42
 
feedback:
  perfect:
    effect:
      action-bar:
        text: "{success}⚡ PERFECT {muted}· {letters}%time%s {muted}· {info}x%streak%"
        duration: 1.5
        time-style: auto
      sound:
        name: ENTITY_EXPERIENCE_ORB_PICKUP
        volume: 0.7
        pitch: 1.8
        category: MASTER
    chat: ""
  # excellent, good, ok y slow tienen la misma forma.
  miss:
    action-bar:
      text: "{error}✘ MISS {muted}· {letters}%accuracy%% accuracy"
      duration: 1.5
      time-style: auto
    sound:
      name: ENTITY_PLAYER_ATTACK_NODAMAGE
      volume: 1.0
      pitch: 1.0
      category: MASTER
  # expired, false-start, armed, rushed, countdown, go, session-complete,
  # personal-best, match-found, round-won, round-lost, round-draw,
  # match-won y match-lost son efectos con la misma forma.
 
hud:
  boss-bar:
    enabled: true
    text: "{primary}&l%drill% {muted}· {letters}%time% {muted}· {success}%hits% {letters}hits {muted}· {info}%accuracy%% {muted}· {highlight}%score% pts"
    colour: PURPLE
    overlay: PROGRESS
    refresh-ticks: 5
  experience-bar: true
  hotbar: true
  hit-particle: "ELECTRIC_SPARK|8|0.15|0.15|0.15|0.05"
 
match:
  formats: [1, 3, 5]
  default-format: 3
  allow-even-formats: false
  use-preferences: false
  round-delay: 3.0
  result-delay: 5.0
  duel-request-expiry: 30.0
 
practice:
  train-while-queued: true
  queue-prompt: true
  ranked-only: false
 
leaderboard:
  entries: 10
  cache-seconds: 300
  accuracy-min-shots: 20
 
history:
  entries: 20
  retention-days: 30
  prune-interval-minutes: 60
 
arena:
  max-players-per-arena: 0
  return-location: ""
 
chat:
  isolation: true
 
debug: false

training

ClavePor defectoQué hace
countdown3.0Segundos antes de que el primer objetivo esté activo, en un ejercicio y en cada ronda de duelo. Un golpe al aire la salta.
rest-seconds5.0Segundos que un jugador puede quedarse inactivo en la arena tras terminar un ejercicio antes de volver a casa. Repetir desde el resumen o la hotbar vuelve a empezar el ejercicio; una pantalla que abrió él mismo —los ajustes, la lista de ejercicios— lo mantiene ahí y la espera vuelve a empezar.
default-drillgridshotEl ejercicio que empieza /aim train sin nombre. Un id que no esté en drills cae en el primer ejercicio listado.
allowed-commands[aim, aimtrainer, at, msg, r, tell, w]Etiquetas de comando que un jugador aún puede usar dentro de un ejercicio o un duelo. Un prefijo plugin:comando se quita antes de comprobar. Todo lo demás se rechaza con command-blocked.

drills

Un bloque por ejercicio; una clave nueva es un ejercicio nuevo, sin código. La clave es el id del ejercicio que usan comandos, récords, tablas y placeholders. Los menús listan los ejercicios en el orden del archivo, y un duelo enviado con /aim duel <jugador> sin ejercicio juega el primero. Ver Ejercicios para cómo usan estos números los cuatro tipos.

Una sección drills vacía trae de vuelta los de serie

Si drills falta o está vacía al leer el archivo, se usan los dieciséis ejercicios de serie. Para ofrecer menos, borra los bloques que no quieras y deja al menos uno.

ClaveReglaQué hace
display-nameLo que ven los jugadores. Admite tokens de paleta.
iconVacío es TARGET.Material o cabeza usada en los menús.
descriptionUna línea mostrada bajo el ejercicio en los menús.
kindAusente es FLICK.FLICK, REACTION, TRACK o COMBO.
weightCero o menos es 1.0.Lo difícil que es el ejercicio por sí mismo; multiplica el rating de cada sesión.
durationCero o menos es 30.0.Segundos que dura una sesión. Un ejercicio REACTION termina con sus intentos; esto es su tope.
targetsAl menos 1.Objetivos en pantalla a la vez. Solo FLICK; los otros tipos usan uno.
sizeCero o menos es 0.8.Arista de un objetivo en bloques, antes del ajuste de tamaño del jugador.
heightAl menos 0.Altura de un objetivo, o 0 para un cubo. Los objetivos con forma de jugador vienen con 1.8.
distance.min, distance.maxmin al menos 1.0; max al menos min.A qué distancia de los ojos se coloca un objetivo, antes del ajuste de distancia del jugador.
spread.yaw0 a 340.Apertura horizontal total en grados alrededor de donde mira el jugador: 60 son 30 a cada lado.
spread.pitch-min, spread.pitch-max-80 a 80; max al menos min.Elevación mínima y máxima; negativo es bajo la altura de los ojos.
gridSe omite si no se usa.columns, rows, spacing: objetivos en celdas fijas justo delante en vez de en cualquier punto de la apertura. columns: 0 lo apaga; con columnas, rows es al menos 1 y un spacing de cero o menos es 10.0 grados.
lifetimeAl menos 0.Segundos que un objetivo FLICK sigue arriba antes de contar como expirado. 0 nunca expira.
orderedSolo FLICK: los objetivos van en orden y solo cuenta el iluminado; el resto son fallos.
return-to-centreSolo FLICK: uno de cada dos objetivos aparece justo delante.
min-separationAl menos 0.Grados que se mantienen entre dos objetivos en pantalla.
weaponUn material que se pone en la mano del jugador durante el ejercicio. Vacío deja la mano vacía.
motionSe omite si no se usa.Un objetivo que hace strafe: speed-min, speed-max (bloques por segundo; 0 lo apaga), acceleration, arc-degrees, switch-min-ticks, switch-max-ticks, hop-chance (0 a 1), hop-height, hop-ticks. Con un speed-max mayor que cero, una acceleration de cero o menos es 8.0, un arc-degrees de cero o menos es 60.0, y las claves de ticks son al menos 1.
reactionSe omite si no se usa.min-delay (al menos 0.2), max-delay (al menos min-delay), attempts. attempts: 0 lo apaga.
comboSe omite si no se usa.knockback (0 lo apaga), knockback-up (cero o menos es 0.4, como mucho 1.0), approach-speed (cero o menos es 4.0), combo-window (cero o menos es 0.7), attack-cooldown.

Una sección apagada se deja fuera del archivo al escribirlo.

settings

Los rangos y opciones que un jugador elige en /aim settings. Ver Ajustes.

ClavePor defectoQué hace
size0.1 – 2.5, paso 0.05, por defecto 1.0Tamaño del objetivo como multiplicador del propio del ejercicio. min es al menos 0.01, max al menos min; step es lo que mueve un clic, entre 0.01 y el ancho del rango; default es lo que usa un jugador que nunca lo cambió, dentro de los extremos. También se puede escribir cualquier valor entre los extremos.
distance0.25 – 3.0, paso 0.05, por defecto 1.0Distancia del objetivo como multiplicador, con las mismas reglas.
coloursdiez coloresUn bloque por color; la clave es lo que guarda la fila del jugador. name se muestra, dye es el prefijo de color de Minecraft con el que se combina un estilo, glow es el contorno como #rrggbb. Un mapa vacío trae de vuelta los diez de serie.
stylesseis estilosUn bloque por estilo. suffix se combina con el dye del color (LIME + CONCRETE); un estilo con material propio ignora el color y siempre dibuja ese bloque. Un mapa vacío trae de vuelta los seis de serie.
default-colour, default-stylelime, concreteLo que recibe un jugador nuevo. Un id que no existe es la primera clave de su mapa.
spawn-animation-ticks2Ticks que tarda un objetivo en crecer al aparecer. 0 a 20; 0 lo muestra de golpe.

Un jugador cuyo tamaño, distancia, color o estilo guardado queda fuera de lo que ofrece ahora el archivo vuelve a quedar dentro, así que estrechar un rango nunca deja a nadie fuera.

scoring

Cómo una sesión se convierte en puntuación, y una puntuación en rating. Las fórmulas están en Puntuación.

ClavePor defectoMínimoQué hace
hit-points101FLICK y COMBO: puntos por acierto.
miss-penalty40Puntos perdidos por fallo.
expire-penalty60Puntos perdidos por objetivo expirado.
false-start-penalty-millis1500REACTION: milisegundos sumados a la media por clic antes de la luz.
reaction-reference-millis2501REACTION: una media así de rápida puntúa exactamente reaction-scale.
reaction-scale10001
tracking-scale101TRACK: puntos por cada porcentaje de la sesión sobre el objetivo.
combo-points50COMBO: puntos extra por un acierto que alarga un combo.
size-exponent1.0La dificultad es (1 / multiplicador de tamaño) elevado a esto.
distance-exponent0.75…por multiplicador de distancia elevado a esto.
min-difficulty, max-difficulty0.25, 6.00.01; max al menos minLa dificultad a la que se limita una sesión, digan lo que digan los ajustes.

performance

Cómo se califica un acierto, solo para el feedback; las calificaciones no cambian la puntuación. Un umbral es el tiempo más lento, en segundos, que todavía gana esa calificación. Más lento que ok es slow.

ClavePor defectoMide
flick0.30 / 0.45 / 0.65 / 0.90El tiempo desde el acierto anterior hasta este.
reaction0.20 / 0.26 / 0.33 / 0.42El tiempo desde que se ilumina el objetivo hasta el acierto.

feedback

Cada entrada es un efecto de ExyliaLib: title, action-bar, boss-bar, sound, particle y firework, todos opcionales. Una subsección que no hace nada se deja fuera del archivo, y quitar una sección deja ese canal en silencio.

ClaveSe dispara cuandoPlaceholders
perfect, excellent, good, ok, slowUn acierto ganó esa calificación. Cada una tiene un effect y una línea chat, vacía para ninguna.%grade%, %time% (segundos, dos decimales), %hits%, %streak%, %combo%, %accuracy%
missUn clic que no dio a nada.los mismos, %grade% vacío
expiredUn objetivo FLICK se quedó sin tiempo.los mismos
false-startUn clic REACTION antes de la luz.los mismos
rushedUn acierto COMBO dentro del cooldown de ataque.los mismos
armedSe iluminó un objetivo REACTION.—
countdownLa cuenta atrás antes del primer objetivo; se refresca con el tiempo que queda.%time%
goEl primer objetivo está activo.—
session-completeTerminó un ejercicio.—
personal-bestLa sesión superó el mejor rating del jugador en ese ejercicio.%rating%
match-foundLos dos duelistas llegaron a la arena.—
round-won, round-lostSe decidió una ronda.—
round-drawUna ronda terminó sin ganador y se repite.—
match-won, match-lostSe decidió el duelo.—

Los jugadores pueden apagar canales para sí mismos: con Hit feedback apagado se quita la action bar de las calificaciones y de miss, expired, false-start, rushed y armed; con Hit sounds apagado, su sonido. El título, la boss bar, la partícula, el fuego artificial y la línea chat de la calificación se reproducen siempre. El primer acierto de una sesión no tiene tiempo que calificar y solo suena como good.

Las claves del efecto son las de ExyliaLib; ver la página de efectos de la librería.

hud

ClavePor defectoQué hace
boss-bar.enabledtrueSi se muestra una boss bar durante un ejercicio o una ronda. Cada jugador también puede apagarla.
boss-bar.textejercicio · tiempo · aciertos · precisión · puntuaciónConoce %drill%, %time%, %hits%, %misses%, %accuracy%, %score%, %streak% y %opponent_score%. Su progreso es el tiempo que queda.
boss-bar.colourPURPLEPINK, BLUE, RED, GREEN, YELLOW, PURPLE o WHITE.
boss-bar.overlayPROGRESSPROGRESS, NOTCHED_6, NOTCHED_10, NOTCHED_12 o NOTCHED_20.
boss-bar.refresh-ticks5Ticks entre dos redibujados. Al menos 1.
experience-bartrueLos segundos que quedan en la barra de experiencia. Un paquete por segundo; la experiencia real se reenvía al salir.
hotbartrueLos botones Change drill, Settings, Play again y Leave dibujados sobre la hotbar, desde menus/hotbar.yml.
hit-particleELECTRIC_SPARK|8|0.15|0.15|0.15|0.05Partículas donde se acertó un objetivo, en la notación de partículas de ExyliaLib. Vacío para ninguna. Cada jugador puede apagarlas.

La sidebar vive en scoreboards.yml. Ver HUD.

match

ClavePor defectoQué hace
formats[1, 3, 5]Longitudes de best-of ofrecidas en la pantalla de duelo y aceptadas por /aim duel. Una lista vacía es [3].
default-format3La longitud usada cuando un comando la omite y cuando un jugador no ha elegido ninguna antes. Mantenla dentro de formats: no se corrige si no lo está.
allow-even-formatsfalseSi las longitudes pares de formats se ofrecen o no.
use-preferencesfalseSi un duelo conserva el tamaño y la distancia del retador. false juega el ejercicio tal como está escrito para ambos.
round-delay3.0Segundos entre el fin de una ronda y la siguiente cuenta atrás.
result-delay5.0Segundos que el resultado se queda en pantalla antes de devolver a los dos jugadores.
duel-request-expiry30.0Segundos que una solicitud sigue abierta. Nunca menos de uno.

Ver Duelos.

practice

Solo se lee con ExyliaPracticeCore instalado. Ver Compatibilidad.

ClavePor defectoQué hace
train-while-queuedtrueDeja a un jugador que espera en una cola de practice empezar un ejercicio; se le devuelve en cuanto se encuentra partida. false lo rechaza con cannot-borrow.
queue-prompttrueEnvía las líneas practice.queue-prompt a quien entra en una cola. Necesita train-while-queued activo, y se omite para un jugador que ya está en un ejercicio o un duelo.
ranked-onlyfalseSolo avisar en colas ranked.

leaderboard

ClavePor defectoQué hace
entries10Filas mostradas por tabla.
cache-seconds300Segundos que se guarda una tabla antes de volver a preguntar a la base de datos. Nunca menos de cinco. Un récord personal nuevo tira las tablas en caché al instante.
accuracy-min-shots20Disparos que necesita una sesión para que su precisión pueda ser la mejor precisión del jugador en ese ejercicio.

history

ClavePor defectoQué hace
entries20Filas mostradas en /aim sessions y en /aim history, cada una.
retention-days30Las filas de sesiones y duelos más antiguas que esto se borran. 0 lo guarda todo.
prune-interval-minutes60Cada cuánto corre la limpieza. Al menos 1; la primera pasada es un minuto después del arranque.

arena

ClavePor defectoQué hace
max-players-per-arena0Jugadores que acoge una arena a la vez: uno por ejercicio, dos por duelo. 0 es ilimitado. Un ejercicio nuevo va a la arena lista con menos jugadores.
return-locationvacíoA dónde se envía a un jugador al salir, como mundo,x,y,z o mundo,x,y,z,yaw,pitch. Vacío lo devuelve a donde estaba.

chat

ClavePor defectoQué hace
isolationtrueMantiene el chat de un ejercicio o un duelo dentro de él: quien está en uno lee solo ese, y el resto del servidor no lee nada de él. Se lee por mensaje, así que una recarga lo aplica al instante. false deja el chat como lo entrega el plugin de chat del servidor.

debug

false por defecto. true imprime líneas de depuración en la consola.

Cuando el archivo es de una versión anterior

config.yml lleva una versión, y un archivo escrito por una versión anterior se migra al cargarse. Cada paso solo mueve lo que sigue exactamente como venía; un valor que cambiaste y un ejercicio que añadiste nunca se tocan.

DesdeQué cambia
1Los ejercicios de serie que siguen con su duración antigua (60 o 45 segundos) pasan a durar 30. Los sonidos de nota grave de miss y rushed, si siguen con sus valores antiguos, pasan a ser ENTITY_PLAYER_ATTACK_NODAMAGE y ENTITY_PLAYER_ATTACK_WEAK.
2Las descripciones de serie que siguen tal como venían se sustituyen por las líneas más cortas.
3Un gridshot sin bloque grid se copia a un ejercicio nuevo scatter y gridshot pasa a ser la cuadrícula 3×3, salvo que scatter ya exista. Cada combo.cooldown-ticks pasa a combo.attack-cooldown (true para cualquier valor mayor que cero). combo y combo_19 reciben weapon: DIAMOND_SWORD si no tienen arma, y sus nombres y descripciones se actualizan si no se cambiaron. Se añaden sixshot, microshot, spidershot y axe si faltan.
4training.rest-seconds que siga en el antiguo 20 pasa a 5.

messages.yml

Todas las líneas que dice el plugin. %prefix% se expande al valor prefix del principio del archivo, {primary}&lAIM &8•&r por defecto. Los colores son tokens de paleta; también funcionan las etiquetas de MiniMessage, y la solicitud de duelo usa <click> y <hover> para sus botones Accept y Decline.

Una línea puede empezar con una etiqueta de efecto, que nunca llega a la pantalla. [sound:NOMBRE|volumen|tono] reproduce un sonido a quien recibe la línea; los valores por defecto usan ENTITY_VILLAGER_NO para un rechazo, ENTITY_EXPERIENCE_ORB_PICKUP para algo que salió bien y BLOCK_NOTE_BLOCK_PLING para algo que pide atención. [center] centra la línea en el chat, como hacen la solicitud de duelo y el aviso de cola; dos etiquetas comparten corchete, [center; sound:…].

SecciónContiene
no-permission, player-only, player-not-foundLos tres rechazos de comando. El último conoce %player%.
reloadstarted, done (%steps%, %ms%), failed.
commonbusy, busy-elsewhere (%plugin%), busy-advice (%reason%), not-in-anything, left, command-blocked, no-packets, no-arena, y las palabras yes y no.
trainingstarted (%drill%, %difficulty%), stopped, unknown-drill (%drill%), rest-hint (%seconds%), y la única línea que se envía junto a la pantalla de resumen: personal-best cuando el rating superó el mejor del jugador, below-best cuando no. Ambas conocen %drill%, %kind%, %score%, %rating%, %difficulty%, %hits%, %misses%, %expired%, %shots%, %accuracy%, %streak%, %precision%, %avg_flick%, %best_flick%, %avg_reaction%, %best_reaction%, %false_starts%, %on_target%, %longest_lock%, %combo%, %ping%, %duration%, %best_rating% y %delta%.
settingsLo que dice la pantalla de ajustes cuando cambia un valor: size y distance (%value%, %difficulty%), colour y style (%value%), toggled (%setting%, %state%), las palabras on y off, applies-next-drill para un cambio hecho dentro de un ejercicio, e input-title (%min%, %max%) para la ventana que pide un valor exacto.
matchstarting (%opponent%), round-start (%round%, %rounds%, %drill%), round-won, round-lost, round-draw (%round%), ready y opponent-ready (%opponent%), no-arena, unknown-format (%format%), cancelled, opponent-left (%opponent%), forfeited; la lista round-summary (%round%, %winner%, %score%, %opponent_score%, %hits%, %accuracy%, %score_for%, %score_against%) y la lista match-summary (%winner%, %loser%, %score_winner%, %score_loser%, %format%, %drill%, %hits%, %accuracy%, %duration%).
duelrequest-sent (%target%), la lista request-received (%player%, %drill%, %format%, %seconds%), accepted, expired (%player%, para quien fue retado), expired-sent (%target%, para quien retó), no-pending, target-busy (%target%), target-not-ready (%target%, %reason%), self-duel, denied (%player%), denied-by (%target%), y awaiting-answer: el motivo que leen otros plugins mientras una solicitud espera respuesta.
practiceLa lista queue-prompt, cuyo botón ejecuta /aim; match-found; cannot-borrow.
adminLo que confirman las pantallas de administración: arena-created, arena-removed, arena-exists, arena-not-found, arena-renamed (%arena%, %name%), spawn-set, arena-enabled, arena-disabled (todas %arena%), match-cancelled (%id%), session-stopped y stats-reset (%player%), cancelled.
menuPalabras que necesitan los menús y que no son una línea entera: victory-title, defeat-title, none (—), loading, los textos vacíos empty-history, empty-records, empty-leaderboard, empty-opponents, empty-arenas, empty-matches, empty-sessions; state-none, state-training, state-match para %exyliaaimtrainer_state_label%; reason-busy; set y not-set; overall-board; y los mapas de abajo.

menu también guarda cuatro mapas:

plugins/ExyliaAimTrainer/messages.yml
menu:
  categories:
    rating:
      name: Rating
      icon: NETHER_STAR
    score:
      name: Best score
      icon: TARGET
    accuracy:
      name: Accuracy
      icon: SPECTRAL_ARROW
    streak:
      name: Best streak
      icon: BLAZE_POWDER
    hits:
      name: Most hits
      icon: ARROW
    reaction:
      name: Fastest reaction
      icon: CLOCK
    combo:
      name: Best combo
      icon: IRON_SWORD
  kinds:
    flick: Flicking
    reaction: Reaction
    track: Tracking
    combo: Combo
  units:
    flick: " pts/min"
    reaction: " pts"
    track: " pts"
    combo: " pts/min"
  toggles:
    sidebar: Sidebar
    boss_bar: Boss bar
    action_bar: Hit feedback
    hit_sounds: Hit sounds
    particles: Hit particles

categories da nombre e icono a las siete categorías de la tabla, kinds nombra cada tipo de ejercicio en una fila, units es lo que sigue a una puntuación de ese tipo, y toggles nombra los cinco interruptores de la pantalla de ajustes. Una categoría que falte en el mapa muestra su clave sobre un icono PAPER.

Dos claves se escriben en el archivo y nada las lee: menu.reason-self y menu.difficulty-label.

scoreboards.yml

Dos sidebars, training y match, cada una una sidebar de ExyliaLib con enabled, title, lines y update (interval en ticks, 10 por defecto, smart, cache). Las líneas las mueven los placeholders %exyliaaimtrainer_*% del plugin. Un jugador ve la tabla de lo que está haciendo solo mientras está en un ejercicio o un duelo, y solo con su interruptor Sidebar encendido. Ver HUD y Placeholders.

Cada pantalla es un archivo YAML bajo menus/, más hotbar.yml para los botones que se muestran durante un ejercicio. menus/admin/ y menus/hotbar.yml se reescriben desde el jar en cada arranque y cada recarga; los demás archivos se mantienen al día sin deshacer tus cambios. La lista de archivos, qué hace cada pantalla y todas las acciones aimtrainer: están en Menús.

database.yml

Lo escribe ExyliaLib la primera vez que arranca el plugin: H2 por defecto, con MySQL, MariaDB, PostgreSQL y MongoDB como alternativas. Las arenas, los perfiles, los récords, el historial de sesiones y el de duelos viven ahí. Ver la página de base de datos de la librería.

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