---
title: Hytale Plugin Documentation
layout: hextra-home
---

<div class="hx-mt-6 hx-mb-12">&nbsp;</div>
{{< hextra/hero-headline >}}
## ⚠️ Please note that documentation is currently not maintained! If you wish to contribute, please open a ticket on our discord so that an account on this gitea can be created for you.
{{< /hextra/hero-headline >}}
<div class="hx-mt-6 hx-mb-12">&nbsp;</div>

{{< hextra/hero-badge >}}
  <span>Hytale Server API</span>
{{< /hextra/hero-badge >}}

<div class="hx-mt-6 hx-mb-6">
{{< hextra/hero-headline >}}
  Build Plugins for Hytale
{{< /hextra/hero-headline >}}
</div>

<div class="hx-mb-12">
{{< hextra/hero-subtitle >}}
  Comprehensive documentation for creating Hytale server plugins.&nbsp;<br class="sm:hx-block hx-hidden" />From your first plugin to advanced features.
{{< /hextra/hero-subtitle >}}
</div>

<div class="hx-mt-6 hx-mb-12">&nbsp;</div>

<div class="hx-mt-12">
{{< hextra/hero-button text="Join Discord" link="https://discord.gg/4UPCz84Nst" icon="discord" >}}
</div>

<div class="hx-mt-6 hx-mb-12">&nbsp;</div>

## Explore the Documentation

<div class="hx-mt-6 hx-mb-12">&nbsp;</div>

{{< hextra/feature-grid >}}
  {{< hextra/feature-card
    title="Getting Started"
    subtitle="Set up your environment and create your first plugin"
    link="getting-started"
    icon="play"
  >}}
  {{< hextra/feature-card
    title="Core Concepts"
    subtitle="Registries, assets, codecs, commands, events, and tasks"
    link="core-concepts"
    icon="cube"
  >}}
  {{< hextra/feature-card
    title="Gameplay Systems"
    subtitle="Farming, shops, reputation, memories, and objectives"
    link="gameplay-systems"
    icon="puzzle"
  >}}
  {{< hextra/feature-card
    title="World"
    subtitle="Universes, chunks, blocks, entities, worldgen, and portals"
    link="world"
    icon="globe"
  >}}
  {{< hextra/feature-card
    title="UI Systems"
    subtitle="HUD, custom pages, windows, inventory, and permissions"
    link="ui-systems"
    icon="desktop-computer"
  >}}
  {{< hextra/feature-card
    title="Advanced"
    subtitle="Networking, effects, particles, and dynamic lights"
    link="advanced"
    icon="lightning-bolt"
  >}}
  {{< hextra/feature-card
    title="Reference"
    subtitle="API reference, manifest schema, and registries"
    link="reference"
    icon="book-open"
  >}}
{{< /hextra/feature-grid >}}

<div class="hx-mt-6">&nbsp;</div>

## Quick Example

Here's a simple plugin that logs a message when a player joins:

```java
public class MyPlugin extends JavaPlugin {
    @Override
    public void start() {
        getEventRegistry().register(PlayerConnectEvent.class, event -> {
            PlayerRef playerRef = event.getPlayerRef();
            getLogger().at(Level.INFO).log("Player connecting: " + playerRef.getUsername());
        });
    }

    @Override
    public void shutdown() {
        getLogger().at(Level.INFO).log("Plugin is shutting down!");
    }
}
```
