Skip to content

🎮 Hytale API Documentation

Complete guide for plugin and mod development - Unlock Hytale's full potential

What is this documentation?

This documentation provides a complete and detailed guide to Hytale's internal API, obtained through reverse engineering of the game code. It's designed to help developers create plugins and mods for Hytale.

Important

This documentation is based on decompiled code and may be subject to changes. The use of this API is not officially supported by Hypixel Studios.

What will you find here?

📚 Basic Concepts

Learn about Hytale's internal architecture, the plugin system, and fundamental components.

🔧 API Reference

Detailed documentation of all API classes, interfaces, and methods.

📖 Complete Guides

Step-by-step tutorials to create your own plugins and mods.

💡 Code Examples

Ready-to-use code examples for your projects.

Getting Started

If you're new to Hytale plugin development, we recommend following these steps:

  1. Read the Introduction: Understand what's possible
  2. Check Requirements: Make sure you have everything you need
  3. Installation: Set up your development environment
  4. Tutorial: Hello World: Create your first plugin

Main Systems

Plugin System

Hytale's plugin system allows loading custom code that can modify game behavior through bytecode transformation.

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

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

Meta System

Flexible system for storing and retrieving metadata associated with game objects.

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

// Use the MetaKey
entity.putMetaObject(CUSTOM_DATA, "My custom value");
String value = entity.getMetaObject(CUSTOM_DATA);

Interaction System

Complex system for defining interactions with blocks, entities, and the world.

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

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

Additional Resources

Contributing

This documentation is community-maintained. If you find errors or want to contribute:

  • Report issues or bugs
  • Suggest improvements
  • Contribute with examples

Ready to get started?Introduction