Menús
Los veinte archivos de menú, cuáles sobreviven a una actualización, qué hace cada pantalla y cada acción aimtrainer que puede usar un archivo.
Vienen veinte archivos bajo plugins/ExyliaAimTrainer/menus/, y se actualizan de tres maneras distintas.
| Archivos | Cantidad | En cada arranque y cada recarga |
|---|---|---|
menus/*.yml (las pantallas de jugador) | 13 | Se mantienen al día sin deshacer tus cambios. Tuyos. |
menus/hotbar.yml | 1 | Se copia desde el jar encima de lo que haya. |
menus/admin/*.yml | 6 | La carpeta se sustituye por la del jar. |
Las pantallas de jugador pasan por la actualización de archivos incluidos de ExyliaLib:
- un archivo que falta se escribe, salvo que se instalara antes y tú lo borraras;
- una clave nueva en una versión se añade a tu archivo al instante, comentarios incluidos;
- un valor por defecto que cambió en una clave que nunca tocaste no se aplica, sino que se lista en
/exylialib updates, donde lo aplicas o lo mantienes; - nada de lo que cambiaste o borraste se toca nunca.
menus/hotbar.yml se sobrescribe desde el jar en cada arranque y en el paso hotbar de cada
/aimtraineradmin reload, y menus/admin/ se sustituye entera en cada arranque y cada recarga. Los cambios
en cualquiera de los dos se pierden sin aviso. La hotbar se puede seguir apagando para todos con
hud.hotbar: false.
Un archivo que no se puede leer se informa en la consola con su ruta y el motivo, y esa pantalla no abre hasta que se arregle. Una hotbar rota se informa igual, y el ejercicio corre sin ella.
El formato es el YAML declarativo de menús de ExyliaLib; ver la página de menús de la librería.
Las pantallas de jugador
| Archivo | Se abre con | Qué muestra |
|---|---|---|
main.yml | /aim | El centro: Drills, Duel, Settings, tu perfil, Leaderboards e History. Un botón Leave aparece solo mientras estás en un ejercicio o un duelo. |
drills.yml | /aim drills, Drills | Una fila por ejercicio, en el orden de config.yml, con su duración y tu mejor rating, que llega en cuanto responde la base de datos. Un clic lo empieza; desde dentro de un ejercicio, cambia de ejercicio. El botón de ajustes vuelve aquí. |
settings.yml | /aim settings, Settings en el centro, la lista de ejercicios, la hotbar y la pantalla de resumen | Tamaño y distancia (clic izquierdo sube, derecho baja, shift clic para escribir un valor exacto), color y estilo (izquierdo siguiente, derecho anterior), los cinco interruptores, y la dificultad que suman. Back vuelve a la pantalla desde la que se abrió. |
opponents.yml | /aim duel, Duel | Cada jugador conectado que puedes ver, primero los libres para un duelo. Se refresca cada segundo mientras está abierta. Un jugador ocupado muestra por qué y no se puede pulsar. |
duel.yml | Un jugador libre en el selector | Su historial, el selector de formato y la lista de ejercicios. El formato elegido se recuerda en tu perfil. Un clic en un ejercicio envía la solicitud. |
profile.yml | /aim profile, el centro | Números de siempre, historial de duelos, racha de duelos, y botones a Records, Sessions, Duel history y Leaderboards. |
records.yml | Records en un perfil | Tu mejor resultado por ejercicio, en el orden de config.yml. Siempre el tuyo, aunque vengas del perfil de otro jugador. |
sessions.yml | /aim sessions, History en el centro, el perfil | Tus ejercicios recientes, del más nuevo al más antiguo. Un récord personal se dibuja como una estrella. |
history.yml | /aim history, la pantalla de sesiones, el perfil | Tus duelos recientes, del más nuevo al más antiguo, como victoria o derrota. |
leaderboard_drills.yml | /aim leaderboard, Leaderboards | La tabla general, y luego una tabla por ejercicio. |
leaderboard.yml | Una tabla del selector, /aim leaderboard <ejercicio> | Los leaderboard.entries mejores jugadores. Los botones de categoría de abajo reordenan la tabla abierta sin reabrirla. La tabla general solo tiene Rating y Accuracy. |
drill_result.yml | Al terminar un ejercicio | Rating, puntuación, dificultad, precisión, velocidad, y tu mejor marca anterior con el cambio. Aparece un ítem Personal best cuando la superas. Play again, Change drill, Settings y Leave. |
result.yml | Al volver de un duelo que terminó hace menos de un minuto | Ganador, segundo, el marcador de la serie y un botón Rematch, en gris cuando el rival se ha ido. |
La hotbar
hotbar.yml se dibuja sobre la hotbar durante un ejercicio y durante un duelo. Sus ítems son paquetes, no
ítems reales: nada se puede tirar ni mover. Las ranuras 0 a 4 se dejan al inventario real, porque la
ranura 0 lleva el arma del ejercicio.
| Ranura | Botón | El clic derecho ejecuta |
|---|---|---|
| 5 | Change drill | aimtrainer:open drills |
| 6 | Settings | aimtrainer:open settings |
| 7 | Play again | aimtrainer:replay |
| 8 | Leave | aimtrainer:leave |
En un duelo Play again no hace nada: no hay un ejercicio propio que repetir. Change drill abre igualmente la lista, pero la elección se rechaza por estar ocupado.
Las pantallas de administración
Se llega por /aimtraineradmin. Todo lo destructivo pasa por una confirmación compartida.
| Archivo | Qué hace |
|---|---|
admin/main.yml | Cuenta arenas, arenas listas, duelos en curso, ejercicios en curso y jugadores conectados, con botones a Arenas, Running duels, Players y Reload. |
admin/arenas.yml | Todas las arenas, ordenadas por id. Una activada y con spawn es READY; cualquier otra se dibuja como INCOMPLETE. New arena pide un id. |
admin/arena.yml | Una arena: renombrarla (hasta 64 caracteres, con colores), fijar su spawn, activarla o desactivarla, borrarla. |
admin/duels.yml | Los duelos en curso. Un clic pide cancelar uno; los dos jugadores vuelven y no se guarda nada. |
admin/players.yml | Jugadores conectados con su rating, precisión, sesiones e historial de duelos. Jugadores libres: clic para reiniciar sus estadísticas. Jugadores ocupados: clic izquierdo detiene su sesión, derecho reinicia. |
admin/confirm.yml | La confirmación que usa cada acción destructiva. |
- INCOMPLETE también cubre una arena desactivada que tiene spawn, aunque su lore diga que hay que fijar uno.
- Desactivar y borrar detienen primero cada ejercicio y cancelan cada duelo de la arena. Desactivar no pide confirmación; borrar sí.
- Detener la sesión no pide confirmación y solo detiene un ejercicio. Sobre un jugador en un duelo no hace nada; cancela el duelo desde Running duels.
- Reiniciar estadísticas pone a cero el perfil (historial de duelos incluido, ajustes conservados), borra todos los récords y borra el historial de sesiones. Las filas del historial de duelos no se borran, aunque la confirmación diga que se borran todos los duelos.
Acciones
Cada clic que puede nombrar un archivo de menú, la hotbar o el archivo de otro plugin vive bajo el espacio de
nombres aimtrainer. Las acciones que leen una fila solo funcionan desde la pantalla que da esa fila.
Acciones de jugador
| Acción | Argumentos | Qué hace |
|---|---|---|
aimtrainer:open | [pantalla] | Abre una pantalla: main, drills, settings [origen], opponents, profile (el tuyo), records, history, sessions, leaderboard_drills, o leaderboard <ejercicio> [categoria]. Sin argumento o con cualquier otro abre main. origen es la pantalla a la que vuelve Back. |
aimtrainer:train | <ejercicio> | Cierra el menú y empieza ese ejercicio. Dentro de una sesión de ejercicio, en cambio, cambia la sesión a ese ejercicio en la misma arena. |
aimtrainer:replay | — | Cierra el menú y vuelve a correr tu ejercicio actual desde su cuenta atrás, con tus ajustes actuales. |
aimtrainer:leave | — | Cierra el menú, si lo hay, y sale de tu ejercicio o abandona tu duelo. |
aimtrainer:setting | <size|distance|colour|style> [paso] | Mueve un ajuste un número de clics con signo, 1 por defecto. También size_value <número> y distance_value <número> para un multiplicador exacto, llevado dentro del rango. La pantalla de ajustes se redibuja sin reabrirse. |
aimtrainer:setting_input | <size|distance> | Cierra el menú y pide un multiplicador exacto dentro del rango configurado, y luego reabre los ajustes. |
aimtrainer:toggle | <sidebar|boss_bar|action_bar|hit_sounds|particles> | Cambia un interruptor. |
aimtrainer:select_format | <bestOf> | Elige un formato en la pantalla de duelo abierta y lo recuerda. |
aimtrainer:duel_open | — | Acción de fila en opponents.yml: abre la pantalla de duelo para ese jugador. |
aimtrainer:duel_send | <ejercicio> | En la pantalla de duelo: envía la solicitud con el formato elegido. |
aimtrainer:leaderboard_drill | — | Acción de fila en leaderboard_drills.yml: abre esa tabla por rating. |
aimtrainer:leaderboard_category | — | Acción de fila en las categorías de leaderboard.yml: reordena la tabla abierta. |
aimtrainer:rematch | — | Envía una solicitud con el mismo ejercicio y formato al rival de tu último duelo. result.yml pasa %match_id%, que la acción ignora. |
Un ajuste cambiado dentro de un ejercicio se guarda y se aplica desde el siguiente.
Acciones de administración
| Acción | Argumentos | Qué hace |
|---|---|---|
aimtrainer:admin_open | [main|arenas|arena <id>|duels|players] | Abre una pantalla de staff; main por defecto. |
aimtrainer:admin_reload | — | Ejecuta la recarga y reabre el menú de administración. |
aimtrainer:admin_arena_create | — | Pide un id; la arena se guarda en minúsculas, con el nombre de lo escrito, y se abre su pantalla. |
aimtrainer:admin_arena_rename | <id> | Pide un nombre visible. |
aimtrainer:admin_arena_spawn | <id> | Empieza el asistente: colócate donde va el spawn, mirando hacia donde deben aparecer los objetivos. |
aimtrainer:admin_arena_toggle | <id> | Activa o desactiva la arena; desactivarla detiene todo lo que corre en ella. |
aimtrainer:admin_arena_delete | <id> | Abre la confirmación de admin_arena_delete_do. |
aimtrainer:admin_arena_delete_do | <id> | Detiene todo en la arena y la borra. |
aimtrainer:admin_duel_cancel | <uuid del duelo> | Abre la confirmación de admin_duel_cancel_do. |
aimtrainer:admin_duel_cancel_do | <uuid del duelo> | Cancela el duelo. |
aimtrainer:admin_session_stop | <uuid del jugador> | Detiene el ejercicio de ese jugador, sin confirmación. |
aimtrainer:admin_player_reset | <uuid del jugador> | Abre la confirmación de admin_player_reset_do. |
aimtrainer:admin_player_reset_do | <uuid del jugador> | Reinicia el perfil, los récords y el historial de sesiones. |
Ninguna comprueba exyliaaimtrainer.admin. Ver Permisos.
Qué conoce una fila de ejercicio
Cada pantalla que lista ejercicios — drills.yml, duel.yml y leaderboard_drills.yml — construye la fila
igual, así que estos valores funcionan en cualquiera de sus plantillas:
| Placeholder | Valor |
|---|---|
%drill_id% | La clave en drills. |
%drill_name% | display-name. |
%drill_icon% | icon. |
%drill_description% | description. |
%drill_kind% | El nombre del tipo desde menu.kinds. |
%drill_duration% | duration, escrita. |
%drill_targets% | targets. |
%drill_size% | size. |
%drill_distance% | distance.min-distance.max. |
%drill_weight% | weight. |
drills.yml añade %size%, %distance%, %difficulty%, %best_rating%, %best_score%,
%best_accuracy% y %sessions% del jugador que mira; duel.yml añade %format% y %rounds_to_win%.
Cualquier pantalla puede usar además los placeholders %exyliaaimtrainer_*% del propio plugin, como hace main.yml; ver
Placeholders.
¿Falta algo en esta página? Dínoslo en Discord