HytaleDevLib – Biblioteca de Utilidades para Desarrolladores
Una biblioteca de utilidades completa para el desarrollo de plugins de Hytale que simplifica tareas comunes de modificación con clases de ayuda probadas y APIs intuitivas.
⚠️ Desarrollo Temprano: ¡Este es un trabajo en progreso con muchas cosas planeadas! No dudes en hacer sugerencias en los Issues de GitHub.
Características Clave
WorldHelper
- Sistema de Tiempo y Día – Obtener/establecer la hora del juego, comprobar día/noche, rastrear fases de la luna
- Seguimiento de Ticks – Programar acciones retrasadas y callbacks de intervalos
- Gestión de Jugadores – Búsquedas y mensajería de jugadores de forma sencilla
- Operaciones Seguras para Hilos – Manipulación segura del mundo desde cualquier hilo
EntityHelper
- Generación de NPCs – Generar cualquier NPC por nombre con la configuración adecuada de ECS
- Utilidades de Jugador – Encontrar jugadores por nombre/UUID, obtener posiciones, calcular distancias
- Gestión de Entidades – Iterar sobre entidades, comprobar proximidad, teletransportar entidades
- Detección de Tipos – Nombres de tipo de entidad legibles (por ejemplo, “Vaca”, “Esqueleto_Luchador”)
ZoneHelper
- Seguimiento de Descubrimiento de Zonas – Rastrear qué zonas ha descubierto cada jugador
- Consultas de Zona Actual – Obtener la zona actual de un jugador o comprobar si está en una zona específica
- Búsquedas de Jugadores en Zonas – Encontrar todos los jugadores que están actualmente en una zona específica
- Estadísticas de Zonas – Obtener conteos de descubrimiento, todas las zonas descubiertas y la popularidad de las zonas
- Almacenamiento Seguro para Hilos – Seguimiento basado en nombres de usuario con colecciones concurrentes
BlockHelper
- Operaciones Basadas en Nombres – Referencia de bloques al estilo Minecraft (por ejemplo, “Roca_Piedra”)
- Resolución Dinámica de Bloques – Utiliza el sistema de activos nativo del juego para compatibilidad automática
- Edición del Mundo – Rellenar regiones, reemplazar bloques, encontrar bloques por tipo
- Sincronización Automática del Cliente – Cambios en bloques visibles instantáneamente para los jugadores
BlockStateHelper
- Gestión del Estado de Bloques – Trabajar con cofres, letreros y otros bloques con estado
- Acceso a Contenedores – Acceso fácil a los inventarios de cofres y otros contenedores
- Persistencia de Estado – Marcar estados para guardar y asegurar que los datos persistan
- Preparado para el Futuro – Abstrae la API de BlockState obsoleta
ItemHelper
- Creación de Ítems – Crear pilas de ítems con cantidades especificadas
- Gestión de Contenedores – Añadir, eliminar, contar ítems en contenedores
- Colocación Aleatoria de Slots – Rellenar contenedores con ítems en slots aleatorios para variedad de botín
- Consultas de Inventario – Comprobar espacio, contar ítems, obtener información de ítems
EventHelper
- Eventos Simplificados – Sin necesidad de boilerplate manual de EventRegistry
- Eventos de Ítems – Detección de caídas, recogidas y elaboración con seguimiento de cantidades
- Eventos de Jugadores – Mensajes de chat, seguimiento de uniones/desconexiones
- Análisis de Transacciones – Análisis automático de transacciones de inventario
EcsEventHelper
- Eventos de Bloques – Seguimiento de roturas, colocaciones y daños con progreso de minería
- Descubrimiento de Zonas – Detectar exploración del mapa con metadatos de zonas
- Integración de ECS – Registro automático de sistemas para eventos de jugadores
- Filtrado Inteligente – Filtra falsos positivos (por ejemplo, bloques “Vacíos”)
InventoryHelper
- Gestión de Ítems – Dar, eliminar, contar ítems con soporte de cantidad
- Comprobaciones de Inventario – Tiene ítem, está lleno, obtener ítem activo de la barra de acceso rápido
- Operaciones de Jugador – Limpiar inventario, comprobar capacidad
- API Segura – Operaciones seguras contra nulos con manejo de errores adecuado
PlayerHelper
- Mensajería – Enviar mensajes a jugadores
- Permisos – Comprobar permisos de jugadores
- Modo de Juego – Obtener/comprobar el modo de juego de un jugador
- Datos del Jugador – Obtener datos del componente y skin del jugador
- Comprobación de Tipos – Verificar si la entidad es un jugador
UIHelper
- Gestión de Páginas Personalizadas – Abrir/cerrar páginas de UI personalizadas
- Control del HUD – Mostrar/ocultar componentes del HUD
- Animaciones de Desvanecimiento – Efectos de desvanecimiento suaves para elementos de UI
- Transiciones de UI – Crear experiencias de usuario pulidas
ComponentHelper
- ECS Seguro por Tipos – Acceso seguro a componentes con manejo de nulos
- Nombres de Visualización – Gestión fácil de nombres de entidades
- Datos de Ítems – Extraer información de ítems de componentes
Para Propietarios de Servidores
Esta es una biblioteca mod – no hace nada por sí sola. Instálala solo si otro plugin la requiere como dependencia.
Instalación:
- Descargar HytaleDevLib JAR
- Colocar en la carpeta
Mods de tu servidor
- Instalar cualquier plugin que dependa de HytaleDevLib
- Reiniciar tu servidor
Para Desarrolladores de Mods
HytaleDevLib está diseñada para ser una biblioteca de dependencia para tus plugins. Proporciona las utilidades que necesitas sin añadir características de juego, manteniendo tu mod centrado en lo que lo hace único.
Documentación
Documentación completa disponible en el Wiki de GitHub:
- Referencia API Completa
- Guías de Clases de Ayuda
- Ejemplos de Código y Casos de Uso
Soporte y Problemas
Licencia y Créditos
Autor: ShaneeexD
Licencia: Licencia MIT
Versión: 0.2.0