Se añadió un marcador de posición {player} para usar en los comandos, esto es de utilidad si no tiene un comando de give algún plugin, aunque también sirve para enviar mensajes mostrando el nombre del jugador
Se implementaron mensajes de excepciones, por ejemplo, al intentar crear un código ya existente y al intentar canjear un código que no existe.
Actualizaciones de Permisos:
Los permisos de comandos se han actualizado para mejorar la gestión de permisos.
Lista de permisos actualizados:
sc.crearcode - /crearcodigo sc.redeem - /canjear (no es necesario agregar como permiso, viene default para todos) sc.help - /chelp sc.reload - /creload
Mejoras en Legibilidad:
Se agregó un prefijo en los mensajes para una mejor legibilidad.
Se coloreo un poco mas los mensajes del plugin
Mensajes amigables para el usuario en algunas instancias
Correcciones de Errores:
Se corrigió un error que permitía canjear códigos sin límite
La cantidad de usos ahora disminuye con cada canje exitoso
Se corrigió el comando /crearcodigo para recibir todo el argumento de comando seguido, incluso si incluye espacios.
Correcciones menores
Control de Usos de Código:
Se implementó una verificación por UUID para impedir que un código sea canjeado más de una vez desde la misma cuenta.
La verificación por IP bloquea el uso de un código por múltiples cuentas desde la misma IP. Configurar usos por IP determina cuántas cuentas pueden canjear el código desde esa dirección IP.
Registro de Jugadores:
Se añadió un registro de jugadores con un nuevo archivo players.yml. Este archivo almacena los jugadores que han canjeado códigos junto con su UUID, el código canjeado y la cantidad de veces que lo han canjeado. No debe ser modificado manualmente.
Optimización y Limpieza de Código:
Se limpió y reorganizó el código para mejorar su estructura y eficiencia en general.
Estos cambios mejoran la funcionalidad, seguridad y fiabilidad de simple codes, así mismo en esta versión se impide cualquier vulnerabilidad y se verificó que cada código creado y por crear funcione sin errores
Imagen de canjeo con exito, se utiliza el ejemplo 2 por defecto donde se ejecuta el comando say y give
En esta versión, me he enfocado en organizar y limpiar el código. Aunque estas mejoras pueden no ser visibles directamente, ayudarán a que el plugin funcione de manera más eficiente y estable.