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.
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: falsetraining
| Clave | Por defecto | Qué hace |
|---|---|---|
countdown | 3.0 | Segundos antes de que el primer objetivo esté activo, en un ejercicio y en cada ronda de duelo. Un golpe al aire la salta. |
rest-seconds | 5.0 | Segundos 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-drill | gridshot | El 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.
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.
| Clave | Regla | Qué hace |
|---|---|---|
display-name | Lo que ven los jugadores. Admite tokens de paleta. | |
icon | Vacío es TARGET. | Material o cabeza usada en los menús. |
description | Una línea mostrada bajo el ejercicio en los menús. | |
kind | Ausente es FLICK. | FLICK, REACTION, TRACK o COMBO. |
weight | Cero o menos es 1.0. | Lo difícil que es el ejercicio por sí mismo; multiplica el rating de cada sesión. |
duration | Cero o menos es 30.0. | Segundos que dura una sesión. Un ejercicio REACTION termina con sus intentos; esto es su tope. |
targets | Al menos 1. | Objetivos en pantalla a la vez. Solo FLICK; los otros tipos usan uno. |
size | Cero o menos es 0.8. | Arista de un objetivo en bloques, antes del ajuste de tamaño del jugador. |
height | Al menos 0. | Altura de un objetivo, o 0 para un cubo. Los objetivos con forma de jugador vienen con 1.8. |
distance.min, distance.max | min 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.yaw | 0 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. |
grid | Se 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. |
lifetime | Al menos 0. | Segundos que un objetivo FLICK sigue arriba antes de contar como expirado. 0 nunca expira. |
ordered | Solo FLICK: los objetivos van en orden y solo cuenta el iluminado; el resto son fallos. | |
return-to-centre | Solo FLICK: uno de cada dos objetivos aparece justo delante. | |
min-separation | Al menos 0. | Grados que se mantienen entre dos objetivos en pantalla. |
weapon | Un material que se pone en la mano del jugador durante el ejercicio. Vacío deja la mano vacía. | |
motion | Se 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. |
reaction | Se omite si no se usa. | min-delay (al menos 0.2), max-delay (al menos min-delay), attempts. attempts: 0 lo apaga. |
combo | Se 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.
| Clave | Por defecto | Qué hace |
|---|---|---|
size | 0.1 – 2.5, paso 0.05, por defecto 1.0 | Tamañ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. |
distance | 0.25 – 3.0, paso 0.05, por defecto 1.0 | Distancia del objetivo como multiplicador, con las mismas reglas. |
colours | diez colores | Un 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. |
styles | seis estilos | Un 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-style | lime, concrete | Lo que recibe un jugador nuevo. Un id que no existe es la primera clave de su mapa. |
spawn-animation-ticks | 2 | Ticks 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.
| Clave | Por defecto | Mínimo | Qué hace |
|---|---|---|---|
hit-points | 10 | 1 | FLICK y COMBO: puntos por acierto. |
miss-penalty | 4 | 0 | Puntos perdidos por fallo. |
expire-penalty | 6 | 0 | Puntos perdidos por objetivo expirado. |
false-start-penalty-millis | 150 | 0 | REACTION: milisegundos sumados a la media por clic antes de la luz. |
reaction-reference-millis | 250 | 1 | REACTION: una media así de rápida puntúa exactamente reaction-scale. |
reaction-scale | 1000 | 1 | |
tracking-scale | 10 | 1 | TRACK: puntos por cada porcentaje de la sesión sobre el objetivo. |
combo-points | 5 | 0 | COMBO: puntos extra por un acierto que alarga un combo. |
size-exponent | 1.0 | La dificultad es (1 / multiplicador de tamaño) elevado a esto. | |
distance-exponent | 0.75 | …por multiplicador de distancia elevado a esto. | |
min-difficulty, max-difficulty | 0.25, 6.0 | 0.01; max al menos min | La 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.
| Clave | Por defecto | Mide |
|---|---|---|
flick | 0.30 / 0.45 / 0.65 / 0.90 | El tiempo desde el acierto anterior hasta este. |
reaction | 0.20 / 0.26 / 0.33 / 0.42 | El 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.
| Clave | Se dispara cuando | Placeholders |
|---|---|---|
perfect, excellent, good, ok, slow | Un 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% |
miss | Un clic que no dio a nada. | los mismos, %grade% vacío |
expired | Un objetivo FLICK se quedó sin tiempo. | los mismos |
false-start | Un clic REACTION antes de la luz. | los mismos |
rushed | Un acierto COMBO dentro del cooldown de ataque. | los mismos |
armed | Se iluminó un objetivo REACTION. | — |
countdown | La cuenta atrás antes del primer objetivo; se refresca con el tiempo que queda. | %time% |
go | El primer objetivo está activo. | — |
session-complete | Terminó un ejercicio. | — |
personal-best | La sesión superó el mejor rating del jugador en ese ejercicio. | %rating% |
match-found | Los dos duelistas llegaron a la arena. | — |
round-won, round-lost | Se decidió una ronda. | — |
round-draw | Una ronda terminó sin ganador y se repite. | — |
match-won, match-lost | Se 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
| Clave | Por defecto | Qué hace |
|---|---|---|
boss-bar.enabled | true | Si se muestra una boss bar durante un ejercicio o una ronda. Cada jugador también puede apagarla. |
boss-bar.text | ejercicio · tiempo · aciertos · precisión · puntuación | Conoce %drill%, %time%, %hits%, %misses%, %accuracy%, %score%, %streak% y %opponent_score%. Su progreso es el tiempo que queda. |
boss-bar.colour | PURPLE | PINK, BLUE, RED, GREEN, YELLOW, PURPLE o WHITE. |
boss-bar.overlay | PROGRESS | PROGRESS, NOTCHED_6, NOTCHED_10, NOTCHED_12 o NOTCHED_20. |
boss-bar.refresh-ticks | 5 | Ticks entre dos redibujados. Al menos 1. |
experience-bar | true | Los segundos que quedan en la barra de experiencia. Un paquete por segundo; la experiencia real se reenvía al salir. |
hotbar | true | Los botones Change drill, Settings, Play again y Leave dibujados sobre la hotbar, desde menus/hotbar.yml. |
hit-particle | ELECTRIC_SPARK|8|0.15|0.15|0.15|0.05 | Partí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
| Clave | Por defecto | Qué 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-format | 3 | La 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-formats | false | Si las longitudes pares de formats se ofrecen o no. |
use-preferences | false | Si un duelo conserva el tamaño y la distancia del retador. false juega el ejercicio tal como está escrito para ambos. |
round-delay | 3.0 | Segundos entre el fin de una ronda y la siguiente cuenta atrás. |
result-delay | 5.0 | Segundos que el resultado se queda en pantalla antes de devolver a los dos jugadores. |
duel-request-expiry | 30.0 | Segundos que una solicitud sigue abierta. Nunca menos de uno. |
Ver Duelos.
practice
Solo se lee con ExyliaPracticeCore instalado. Ver Compatibilidad.
| Clave | Por defecto | Qué hace |
|---|---|---|
train-while-queued | true | Deja 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-prompt | true | Enví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-only | false | Solo avisar en colas ranked. |
leaderboard
| Clave | Por defecto | Qué hace |
|---|---|---|
entries | 10 | Filas mostradas por tabla. |
cache-seconds | 300 | Segundos 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-shots | 20 | Disparos que necesita una sesión para que su precisión pueda ser la mejor precisión del jugador en ese ejercicio. |
history
| Clave | Por defecto | Qué hace |
|---|---|---|
entries | 20 | Filas mostradas en /aim sessions y en /aim history, cada una. |
retention-days | 30 | Las filas de sesiones y duelos más antiguas que esto se borran. 0 lo guarda todo. |
prune-interval-minutes | 60 | Cada cuánto corre la limpieza. Al menos 1; la primera pasada es un minuto después del arranque. |
arena
| Clave | Por defecto | Qué hace |
|---|---|---|
max-players-per-arena | 0 | Jugadores 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-location | vacío | A 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
| Clave | Por defecto | Qué hace |
|---|---|---|
isolation | true | Mantiene 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.
| Desde | Qué cambia |
|---|---|
| 1 | Los 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. |
| 2 | Las descripciones de serie que siguen tal como venían se sustituyen por las líneas más cortas. |
| 3 | Un 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. |
| 4 | training.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ón | Contiene |
|---|---|
no-permission, player-only, player-not-found | Los tres rechazos de comando. El último conoce %player%. |
reload | started, done (%steps%, %ms%), failed. |
common | busy, busy-elsewhere (%plugin%), busy-advice (%reason%), not-in-anything, left, command-blocked, no-packets, no-arena, y las palabras yes y no. |
training | started (%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%. |
settings | Lo 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. |
match | starting (%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%). |
duel | request-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. |
practice | La lista queue-prompt, cuyo botón ejecuta /aim; match-found; cannot-borrow. |
admin | Lo 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. |
menu | Palabras 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:
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 particlescategories 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.
menus/
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