Kytale

Kytale

Por AmoAsterVT 17 de enero de 2026
#Desarrollo de Plugins#gaming#Hytale#Kotlin#Kytale#programación

Framework de Kotlin para el desarrollo de plugins de servidor Hytale.

Kytale agrupa el runtime de Kotlin y proporciona DSLs idiomáticas para construir plugins, sistemas de juego, interfaces de usuario, comandos, eventos, configuraciones y más, todo con soporte de primera clase para Kotlin.

Ver el código fuente y la documentación completa en GitHub

✨ Características

  • Runtime de Kotlin – stdlib, reflect, coroutines (2.2.0), kotlinx.serialization
  • DSL de Eventos – Suscripciones a eventos seguras por tipo con genéricos reificados
  • DSL de Comandos – Comandos estructurados con soporte para async / coroutines
  • DSL de Configuración – Configuración JSON a través de delegados de propiedades
  • DSL de Programación – Programación de tareas basada en coroutines
  • DSL de UI – Generación de UI en tiempo de compilación y elementos interactivos
  • Hexweave – Capa de ayuda opcional para eventos de jugadores, comandos, tareas, sistemas ECS
  • Extensiones – Utilidades para entidades, vectores, velocidad, objetivos, daño

🛠️ Inicio Rápido

Configuración de Gradle

Agrega Kytale a tu build.gradle.kts:

plugins {
    kotlin("jvm") version "2.2.0"
    kotlin("plugin.serialization") version "2.2.0"
    id("hytale-mod") version "0.+"
}

repositories {
    mavenCentral()
    maven("https://cursemaven.com")
    maven("https://maven.hytale-modding.info/releases")
}

dependencies {
    compileOnly("curse.maven:kytale-PROJECTID:FILEID")
}

Dependencia de Runtime

Agrega Kytale a tu manifest.json:

{
  "Dependencies": {
    "AmoAster:Kytale": "*"
  }
}

Plugin de Ejemplo

class MyPlugin(init: JavaPluginInit) : KotlinPlugin(init) {

    override fun setup() {
        super.setup()

        event<PlayerConnectEvent> { event ->
            logger.info { "Jugador conectado: ${event.playerRef.uuid}" }
        }

        command("greet", "Saludar al jugador") {
            executes { ctx ->
                ctx.sendMessage(Message.raw("¡Hola!"))
            }
        }
    }
}

📌 Ciclo de Vida

  • Constructor – Configurar el estado básico
  • setup() – Registrar eventos, comandos, UI
  • start() – Post-inicialización
  • shutdown() – Limpieza

📘 Aprende Más

La documentación completa, la estructura del proyecto, ejemplos de DSL, sistema de UI y uso avanzado están disponibles en GitHub: https://github.com/briarss/Kytale/tree/main

📄 Licencia

Licencia MIT

Relacionados:

TaleLibs

TaleLibs

#Biblioteca#Biblioteca de Cuentos#Desarrollo de Plugins

Una potente biblioteca de Kotlin para el desarrollo de plugins de Hytale. TaleLib proporciona herramientas y utilidades ...

Terrariatale

Terrariatale

#combat system#development#Hytale

Expande el sistema de combate de Terraria con objetos y armas completamente recreados del exitoso juego Terraria. Todos ...

Terraria Accessories

Terraria Accessories

#accesorios#Accesorios de Terraria#Hytale

Por favor, deja sugerencias sobre lo que debería añadir a continuación.   El mod tendrá ranuras separadas en el futuro, ...

ATO: All The Ores

ATO: All The Ores

#armas#ATO: Todos Los Minerales#Hytale

🌍 Todos Los Minerales Todos Los Minerales es un mod en expansión de Hytale que transforma la progresión de recursos al ...

HyProTech

HyProTech

#Automatización#electricidad#HyProTech

   Versioning 🔢 Formato: X.Y.Z (por ejemplo, 1.1.2) X – Actualización importante / hito de la hoja de ruta 🚀 Y – Nueva...

Witch’s Broom

Witch’s Broom

#bruja#escoba#Escoba de Bruja

¡Agrega una Escoba de Bruja craftable al juego para VOLAR! Usa resistencia para volar con clic izquierdo y puede AUMENTA...