Guide
Hytale API and Documentation for Developers

Hytale’s modding ecosystem is fundamentally built around a server-side-first philosophy, ensuring that all modifications, from custom items to complex gameplay mechanics, run on the server. This design means players can join any modded Hytale server without needing to download client-side files, fostering a seamless and consistent experience across the community.
This approach allows for extensive creative control for developers while maintaining the integrity and stability of the game client. Hytale supports two primary avenues for user-generated content: Packs for assets and data, and Plugins for scripting and advanced logic.
Understanding Hytale’s Modding Pillars
Hytale’s modding capabilities are robust and designed to empower creators of all skill levels. Whether you’re an artist looking to introduce new visual elements or a programmer aiming to redefine gameplay, the system provides the tools. The core principle is that all modifications are handled server-side, even for single-player experiences which run on a local server instance.
Content Creation: Packs and Assets
Packs are collections of assets and data that define the visual and structural elements of the game. These include everything from new blocks and items to custom models and world generation rules. Creating packs generally requires less, or even no, coding knowledge.
- Asset Editor: Hytale features an intuitive in-game Asset Editor. This powerful tool allows creators to visually design and modify various game assets, such as blocks, items, models, and textures, directly within the game environment. It supports hot reloading, meaning changes can be seen almost instantly without restarting the game. This visual approach significantly lowers the barrier to entry for content creators.
- Blockbench Integration: For more advanced 3D modeling, texturing, and animation, Blockbench is the officially supported external tool. A dedicated Hytale plugin for Blockbench ensures that models are created and exported in the correct format, adhering to Hytale’s artistic and technical specifications. This integration streamlines the process for artists familiar with 3D design software.
- Data Assets: Many aspects of Hytale’s game content are defined through JSON-based configuration files known as Data Assets. These files control properties for blocks, items, non-player characters (NPCs), world generation parameters, loot tables, and more. Understanding and modifying these JSON structures allows for deep customization without writing traditional code.
Scripting and Logic: Plugins
Plugins provide the deepest level of modification, allowing developers to introduce custom gameplay mechanics, new commands, and intricate event handling. These are where the core logic and dynamic behaviors of a modded server reside.
- Java for Plugins: The primary language for developing server-side plugins is Java. The Hytale API for plugins is extensive, covering critical areas such as the plugin lifecycle, a comprehensive event system for reacting to in-game actions, a command system for custom player interactions, and direct interaction with the game’s Entity Component System (ECS) architecture. Hytale plans to release server source code, which will be invaluable for Java modders.
- Lua for Scripting: In addition to Java, Hytale incorporates a powerful, native Lua-based scripting system. Lua scripts are ideal for lighter-weight modifications to gameplay rules, adding new item behaviors, or responding to player events without the need for a full Java development environment. A significant advantage of Lua scripts is their ability to be reloaded instantly with a simple
/mod reloadcommand, making iteration and testing much faster. - Visual Scripting: Hytale aims to include a visual scripting system, reminiscent of Unreal Engine’s Blueprints. This node-based interface will enable non-coders to create complex behaviors and game logic by connecting visual blocks, democratizing game development and allowing designers to implement sophisticated systems without writing code.
- Official Hytale API (External): Beyond in-game modding, there is a separate “official Hytale API” that provides endpoints for accessing public game data, such as blog posts or job listings. This API is distinct from the in-game modding API and is generally used for external applications or websites that want to integrate with Hytale’s public-facing information. Community-developed SDKs for languages like Node.js and PHP exist to facilitate interaction with this external API.
- Entity Component System (ECS): The ECS architecture is fundamental to Hytale’s server internals. It’s an accessible paradigm through the plugin API, allowing developers to create highly performant and flexible game entities by composing them from various components (e.g., health component, movement component, inventory component).
Note on Plugin Language: While Java is widely recognized for Hytale plugins, there has been community discussion regarding potential future changes, possibly involving a rewrite of the client and server in C++. However, current community resources and established development practices continue to focus on Java and Lua for server-side scripting. Developers should stay updated with official announcements.
Practical Guide: Getting Started
Here are step-by-step instructions to begin your modding journey in Hytale, covering asset creation, plugin development, and mod installation.
Creating Asset Packs (No Coding Required)
This process allows you to introduce new visual and data-driven content into Hytale.
- Create Project Folder: Locate your Hytale
UserDatadirectory. On Windows, this is typically%AppData%\Hytale\UserData\Packs\. Within thePacksfolder, create a new subfolder for your specific pack (e.g.,MyCustomPack). - Add Manifest File: Inside your pack’s folder (e.g.,
MyCustomPack), create a file namedmanifest.json. This JSON file will contain essential metadata for your pack, such as its name, version, and a brief description. - Set Up Subfolders: Within your pack’s directory, create
CommonandServersubfolders. These help organize your assets and data. - Add Content: Use the in-game Asset Editor or Blockbench to create and add blocks, items, models, textures, and other assets. Place these files into the appropriate subfolders within your pack (e.g., textures in
Common/textures/, block definitions inServer/data/blocks/). - Test In-Game: Launch Hytale. Your pack should now be discoverable. Navigate to the world menu, right-click on a world, and activate your pack to see your changes in action.
Developing Plugins (Java-based)
For those looking to add custom gameplay logic and advanced features, Java plugins are the way to go.
- Install Prerequisites: Ensure you have the Java 25 JDK installed on your system. An Integrated Development Environment (IDE) like IntelliJ IDEA Community Edition is highly recommended for Java development.
- Project Setup:
- Download a pre-configured Hytale plugin template, often available from community GitHub repositories.
- Crucial Step: Before opening the project in IntelliJ, use a text editor to modify the
settings.gradlefile to set yourrootProject.name. Also, editgradle.propertiesto define your uniquemaven_group(e.g.,com.yourname.yourplugin). This prevents potential caching conflicts with other projects. - Open the modified project in IntelliJ IDEA. The IDE will automatically download and configure the necessary Gradle dependencies.
- Develop Your Plugin: Write your Java code, leveraging Hytale’s server-side API. Focus on implementing custom plugin lifecycle methods, registering event listeners to respond to game events, defining new commands, and interacting with the game’s ECS for entity manipulation.
- Build and Deploy: Use your IDE’s build tools (e.g., Gradle tasks) to compile your plugin into a
.jarfile. Place this compiled.jarfile into themods/directory of your Hytale server installation. - Restart Server: Restart your Hytale server. Your plugin will be loaded and initialized during the server startup process.
Installing Downloaded Mods
If you’re a player or server owner looking to install existing mods, follow these steps.
- Locate Mod Folder: Find the Hytale
UserDatafolder. This is typically located at\AppData\Roaming\Hytale\UserData\on Windows. Inside, you will find aMod Folder(or equivalent, depending on your setup or if using a launcher like CurseForge). - Place Mod Files: Extract or directly place the downloaded mod files into this
Mod Folder. For plugins, this will usually be a.jarfile. For asset packs, it might be a folder containing the pack’s structure or a compressed archive. - Activate In-Game: Launch Hytale. Navigate to the world selection menu. Right-click on the specific world you wish to play, and you should see an option to manage and activate the installed mods or packs for that world. Select the mods you want to enable.
Tips for Developers
- Embrace Server-Side: Always design your mods with Hytale’s server-first approach in mind. This ensures a smooth experience for players joining your modded server, as they won’t need individual client installations.
- Start Simple: If you’re new to modding or coding, begin by creating Asset Packs. They offer a great introduction to Hytale’s content structure without requiring programming knowledge.
- Utilize Official Tools: Leverage the in-game Asset Editor for visual content creation and the Blockbench Hytale plugin for advanced 3D modeling. These tools are optimized for Hytale’s ecosystem.
- Community Resources are Key: Actively engage with community documentation sites (e.g., HytaleDocs, HytaleModding), Discord channels, and forums. These are invaluable sources for guides, tutorials, and peer support.
- Explore Visual Scripting: Once available, consider the visual scripting system if you prefer a node-based approach to game logic over traditional coding. It can be a powerful tool for rapid prototyping and complex behaviors.
- Stay Organized: Maintain clear and consistent folder structures for your mod projects. This is crucial, especially when managing multiple assets, scripts, and data files.
- Consider Hosting Providers: Many Hytale server hosting providers offer simplified mod installation and management tools, which can ease the deployment process for server owners.
- Use SDKs for External Integrations: If you’re building external tools or services that interact with Hytale’s public data, explore community-developed SDKs for the official Hytale API.
Common Mistakes to Avoid
- Duplicate Mod Files: Installing the same mod or plugin file multiple times can lead to server startup failures, errors, or unexpected behavior.
- Missing Dependencies: Many mods rely on other files or libraries (dependencies) to function correctly. Failing to install these will prevent the mod from working or cause server issues. Always check a mod’s requirements.
- Conflicting Mods: Running multiple mods that attempt to modify the same game systems, data, or files can result in crashes, unexpected behavior, or in-game bugs. Troubleshoot by adding mods one by one to isolate conflicts.
- Version Incompatibility: Mods are often developed for specific versions of Hytale or its API. Using a mod designed for an incompatible version can lead to instability. Always verify version compatibility.
- Incorrect
manifest.json: An improperly configured or missingmanifest.jsonfile can prevent your asset pack or plugin from being recognized and loaded by the game. Double-check its syntax and content. - Exposing API Keys: If your mod integrates with external APIs, never hardcode or expose sensitive API keys directly within your public code. Use environment variables or secure configuration methods.
- Attempting Client-Side Modifications: Hytale’s client is intentionally designed to be unmodifiable to prevent cheating and maintain a fair environment. Focus all modding efforts on the server-side APIs and content creation tools.
- Ignoring Update Logs: As Hytale is in active development, APIs and features may change. Regularly review official update logs to ensure your mods remain compatible and functional with new game versions.
