Saltar a contenido

🎮 Documentación de Hytale API

Guía completa para el desarrollo de plugins y mods - Desbloquea todo el potencial de Hytale

¿Qué es esta documentación?

Esta documentación proporciona una guía completa y detallada de la API interna de Hytale, obtenida mediante ingeniería inversa del código del juego. Está diseñada para ayudar a desarrolladores a crear plugins y mods para Hytale.

Importante

Esta documentación está basada en código descompilado y puede estar sujeta a cambios. El uso de esta API no es oficialmente soportado por Hypixel Studios.

¿Qué encontrarás aquí?

📚 Conceptos Básicos

Aprende sobre la arquitectura interna de Hytale, el sistema de plugins, y los componentes fundamentales.

🔧 API Reference

Documentación detallada de todas las clases, interfaces y métodos de la API.

📖 Guías Completas

Tutoriales paso a paso para crear tus propios plugins y mods.

💡 Ejemplos de Código

Código de ejemplo listo para usar en tus proyectos.

Comenzando

Si eres nuevo en el desarrollo de plugins para Hytale, te recomendamos seguir estos pasos:

  1. Leer la Introducción: Entiende qué es posible hacer
  2. Verificar Requisitos: Asegúrate de tener todo lo necesario
  3. Instalación: Configura tu entorno de desarrollo
  4. Tutorial: Hello World: Crea tu primer plugin

Sistemas Principales

Plugin System

El sistema de plugins de Hytale permite cargar código personalizado que puede modificar el comportamiento del juego mediante transformación de bytecode.

public interface ClassTransformer {
    default int priority() { return 0; }

    @Nullable
    byte[] transform(@Nonnull String className,
                     @Nonnull String classPath,
                     @Nonnull byte[] bytecode);
}

Meta System

Sistema flexible para almacenar y recuperar metadatos asociados a objetos del juego.

// Registrar una MetaKey
MetaKey<String> CUSTOM_DATA = registry.registerMetaObject(data -> "default");

// Usar la MetaKey
entity.putMetaObject(CUSTOM_DATA, "Mi valor personalizado");
String value = entity.getMetaObject(CUSTOM_DATA);

Interaction System

Sistema complejo para definir interacciones con bloques, entidades y el mundo.

public abstract class Interaction implements Operation {
    protected float runTime;
    protected InteractionEffects effects;

    protected abstract void tick0(boolean firstRun, float time,
                                   InteractionType type,
                                   InteractionContext context);
}

Recursos Adicionales

Contribuir

Esta documentación es mantenida por la comunidad. Si encuentras errores o quieres contribuir:

  • Reporta issues o errores
  • Sugiere mejoras
  • Contribuye con ejemplos

¿Listo para empezar?Introducción