WarriorClasses — Sistema de Clases & Combate Táctico
WarriorClasses es un motor de combate RPG nativo y liviano para servidores Minecraft Purpur/Paper. Integra 5 clases especializadas, 35 habilidades, pericia de armas con reducción dinámica de cooldowns, mitigación de daño vanilla (Swing Softening), estados alterados (Sangrado, Herida Profunda) y un Motor de Amenaza Universal (Threat Engine) autónomo basado en la API nativa de Paper 1.21.1.
1. Arquitectura & Rendimiento
Diseño thread-safe, 100% dirigido por eventos y sin bucles globales pesados.
Sistema de Pasivas Zero-Lag
Sin bucles globales por tick verificando jugadores. Todas las pasivas y estados alterados son dirigidos por eventos (EntityDamageEvent, EntityDeathEvent) y un único task por segundo para el gestor de estados.
I/O Asíncrono de Perfiles
Perfiles, historial de maestría y configuraciones se gestionan de forma asíncrona mediante ConcurrentHashMap y guardado I/O no bloqueante, protegiendo el TPS del hilo principal (Main Thread).
Experiencia Móvil / Bedrock
Elimina la necesidad de escribir comandos en consolas y celulares. El Selector de Habilidades (Brújula) rota con un clic y dispara con otro, complementado con el Compendio Rápido /fl (GUI de 27 slots).
2. Instalación y Despliegue
Pasos para desplegar en tu servidor Purpur o Paper.
-
1
Requisitos del Entorno Servidor Purpur 1.21.11 o Paper 1.21.1 ejecutando sobre Java 21.
-
2
Colocar el Plugin Copia
WarriorClasses.jardentro de la carpeta/plugins/del servidor. -
3
Dependencias Opcionales Instala PlaceholderAPI si deseas proyectar variables de clase en scoreboards, TAB o chat (el plugin opera de forma autónoma sin dependencias externas obligatorias).
-
4
Iniciar el Servidor Se generará automáticamente la carpeta
plugins/WarriorClasses/conmessages.ymly perfiles enuserdata/.
3. Matriz de Clases & Habilidades
Parámetros exactos, fórmulas, cooldowns y efectos según messages.yml.
4. Mecánicas Avanzadas de Combate
Fórmulas implementadas en WeaponMechanicsManager.java y CombatListener.java.
1. Pericia de Arma (0 a 400 pts)
Escala el daño físico base de un 80% a un 160% y reduce los tiempos de recarga de habilidades activas hasta un 40%.
- • Cap por Tier: Tier 1 = 100 pts, Tier 2 = 200 pts, Tier 3 = 400 pts.
- • Reducción de Cooldowns:
calculateDynamicCooldown()aplica hasta -40% al CD base (a 400 de pericia, 10s baja a 6s exactos).
2. Swing Softening (Mitigación Vanilla)
El spam-click en Vanilla castiga severamente el daño (hasta -80%). WarriorClasses suaviza esta penalización en proporción a la pericia acumulada por el guerrero.
3. Golpe Rozado (Glancing Blow)
Atacar a un mob o jugador de mayor nivel activa un Golpe Rozado (10% a 55% según diferencia de nivel), reduciendo el daño saliente en un 22% plano.
4. Estados Alterados Personalizados
5. Threat Engine & Sistema de Progresión
Evaluación de amenaza en tiempo real, calibración del motor y avance por Tiers.
Fórmula de Amenaza (Dificultad Dinámica):
Escanea atributos nativos de Paper API (vida máxima, daño base, armadura y efectos poción activos) al iniciar el combate, categorizando el objetivo automáticamente y asignando los Puntos de Amenaza ganados.
Evolución de Clase, Ritmo y Topes Diarios (Modo Calibración)
La evolución entre Tiers (Tier 1 → Tier 2 → Tier 3) no depende de compras de monedas ni de matar enemigos comunes: está gobernada directamente por el Motor de Amenaza mediante el combate contra enemigos de élite y monstruos de alto riesgo.
- Tier 1 → Tier 2: 25.000 Puntos de Amenaza + 500 XP de Rol + 1 Desafío Vencido (calabozo/mob ≥150 amenaza).
- Tier 2 → Tier 3: 62.500 Puntos de Amenaza + 2.000 XP de Rol + 5 Desafíos Vencidos (o Trofeo de Jefe ≥400 amenaza).
6. Comandos & Permisos
Comandos oficiales y matriz completa de nodos de permisos declarados en plugin.yml.
Comandos de Jugador
Default: TodosComandos de Administración
Default: OPMatriz de Permisos (plugin.yml)
Soporte Multilingüe Dinámico en Comandos
Los comandos /class y /skill reconocen automáticamente dos formas de entrada en el juego:
/class Bastion, /skill Shield Wall o el ID técnico /skill shield-wall).
display_name (en clases) o alias (en habilidades) a cualquier idioma (español, portugués, etc.), el motor procesará el comando en ese idioma de forma automática al guardar o ejecutar /warrior reload.
7. Expansión PlaceholderAPI
Variables registradas en WarriorClassesExpansion.java para Tablist, Chat y Scoreboard.
WarriorClassesExpansion se autoregistra automáticamente en el motor de PlaceholderAPI al arrancar el servidor. Si PlaceholderAPI se instala, actualiza o recarga con el servidor ya iniciado, simplemente ejecuta /papi reload para sincronizar los placeholders.
8. Archivos de Configuración
Ajustes de persistencia, multiplicadores de XP, conmutadores de combate y localización.
Persistencia y Rendimiento
-
storage.auto-save-interval-minutes: Controla la frecuencia (en minutos) con la que los perfiles almacenados enuserdata/se sincronizan en el disco. -
storage.async-io: Mantiene el guardado en un hilo secundario (asíncrono) para evitar micro-tirones (stuttering) y proteger los 20 TPS del hilo principal (Main Thread). -
storage.debug-mode: Activa trazas detalladas de combate y eventos en la consola para administradores.
Progresión y Pericia de Arma
-
progression.role-xp-multiplier: Factor multiplicador para la XP de rol recibida por bajas de monstruos. -
progression.expertise-per-hit: Puntos sumados a la pericia por golpe acertado (sujeto a cooldown interno anti-spam). -
progression.expertise-caps: Topes máximos de pericia por Tier (Tier 1: 100, Tier 2: 200, Tier 3: 400 pts).
Conmutadores y Módulos de Combate
-
combat-mechanics.swing-softening: Mitiga dinámicamente hasta un 50% de la penalización vanilla por golpear antes de recargar el arma según tu pericia. -
combat-mechanics.glancing-blow: Calcula si un golpe roza (-22%de daño) frente a mobs de amenaza muy superior (probabilidad entre 10% y 55%). -
combat-mechanics.status-effects: Configura el tick de Sangrado (0.8 HP/s) y la reducción de curación por Herida Profunda (-50%).
Threat Engine Universal
-
threat-engine.enabled: Habilita el cálculo algorítmico de amenaza sobre cualquier entidad sin depender de plugins externos. -
thresholds.moderate (15.0): Puntos requeridos para contar como baja meritoria en la evolución de Tier 1 a Tier 2. -
thresholds.epic (40.0): Puntos de amenaza para categorizar jefes de élite y calabozos requeridos en la ascensión a Tier 3.
9. Calculadora Interactiva de Cooldowns
Simula cómo la pericia reduce el tiempo de recarga de tus habilidades.