🎮 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.
- Arquitectura: Estructura del servidor
- Sistema de Plugins: Funcionamiento de plugins
- Early Plugins: Plugins de transformación
🔧 API Reference¶
Documentación detallada de todas las clases, interfaces y métodos de la API.
- Plugin API: Transformación de clases
- Meta System: Sistema de metadatos
- Interaction System: Interacciones del juego
📖 Guías Completas¶
Tutoriales paso a paso para crear tus propios plugins y mods.
- Desarrollo de Plugins: Crea tu primer plugin
- Desarrollo de Mods: Crea mods completos
- Tutoriales: Ejemplos prácticos
💡 Ejemplos de Código¶
Código de ejemplo listo para usar en tus proyectos.
- Plugin Simple: Plugin básico
- Class Transformer: Bytecode
- Custom Interaction: Interacciones
Comenzando¶
Si eres nuevo en el desarrollo de plugins para Hytale, te recomendamos seguir estos pasos:
- Leer la Introducción: Entiende qué es posible hacer
- Verificar Requisitos: Asegúrate de tener todo lo necesario
- Instalación: Configura tu entorno de desarrollo
- 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¶
- Glosario: Términos y conceptos clave
- FAQ: Preguntas frecuentes
- Troubleshooting: Solución de problemas comunes
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