Skip to content

Introduction

Welcome to the Hytale plugin and mod development documentation. This guide will help you understand the game's modding capabilities and how to start creating your own extensions.

What can you do?

With Hytale's API you can:

🔧 Behavior Modification

  • Transform bytecode of game classes at load time
  • Inject custom code into existing methods
  • Modify the behavior of game systems

📦 Data Storage

  • Save metadata associated with entities, blocks, and other objects
  • Persist information between sessions
  • Share data between different components

🎮 Custom Interactions

  • Create new interactions with blocks and entities
  • Modify existing interactions
  • Define custom effects and animations

🌍 Server Extension

  • Add custom commands
  • Implement events and listeners
  • Modify server logic

Types of Extensions

Early Plugins

Early Plugins are loaded before the main server starts. This allows them to:

  • Transform classes before they are loaded
  • Modify the bytecode of game classes
  • Implement fundamental changes in behavior

Location: earlyplugins/ in the server root

server/
├── earlyplugins/
│   ├── my-plugin.jar
│   └── another-plugin.jar
└── hytale-server.jar

Standard Plugins

Standard Plugins are loaded after the server and have access to the game's complete API.

Features: - Full API access - Can use the Meta System - Can define interactions - More secure and stable

Mods

Mods are extensions that can combine both types of plugins and add new content to the game.

General Architecture

graph TD
    A[Server Start] --> B[Load Early Plugins]
    B --> C[Transform Classes]
    C --> D[Start HytaleServer]
    D --> E[Load Standard Plugins]
    E --> F[Initialize Systems]
    F --> G[Server Ready]

Limitations and Considerations

Important

  • This API is based on decompiled code
  • Not officially supported by Hypixel Studios
  • May change in any update
  • Use at your own risk

Security

  • Early Plugins require explicit confirmation to run
  • Bytecode transformation can cause stability issues
  • Always test in a development environment first

Performance

  • Bytecode transformation has a performance cost
  • Multiple transformers can affect startup time
  • Optimize your code to minimize impact

Next Steps

  1. Requirements: Check that you have everything you need
  2. Installation: Set up your development environment
  3. Architecture: Understand the internal structure

Have questions? Check our FAQ section