Guide de Référence Hytale

Documentation technique pour le développement de mods serveur sur Hytale.

Source : Pour l'API complète, référez-vous au dépôt Hytale-Server-Unpacked.

Bibliothèque d'API

Référence rapide des classes, packets et utilitaires extraits des exemples officiels.

Nom de la Classe Package Description

Structure du Projet

MonProjetHytale/ ├── build.gradle // Gestion des dépendances ├── src/main/java/... │ ├── MyMod.java // Main Class extends Plugin │ ├── commands/ │ ├── listeners/ │ └── config/ └── src/main/resources/ ├── hytale.json // Manifeste └── assets/ // Client Assets

Système de Commandes

Les commandes héritent de CommandBase.

// Exemple simple
public class ExampleCommand extends CommandBase {
    public ExampleCommand() { super("example", "Desc"); }
    protected void executeSync(CommandContext ctx) {
        ctx.sendMessage(Message.raw("Hello!"));
    }
}

Événements

public class PlayerReadyListener {
    public static void onPlayerReady(PlayerReadyEvent event) {
        // Logique ici
    }
}

Configuration

// Codec Builder
public static final BuilderCodec<ExampleConfig> CODEC = BuilderCodec
        .builder(ExampleConfig.class, ExampleConfig::new)
        .build();

Interface Utilisateur (UI)

Les interfaces sont définies en XML (structure) et CSS (style). Elles sont situées dans assets/ui.

A. Le Layout (XML)

Fichier : assets/ui/layouts/hud_overlay.xml

<screen>
  <panel id="hud_container" style="hud-style">
    <text id="xp_label">Niveau 1</text>
    <!-- La largeur de ce panel sera modifiée par le Java -->
    <panel id="xp_bar_fill" width="0%"></panel>
  </panel>
</screen>

B. Le Style (CSS)

Fichier : assets/ui/styles/theme.css

.hud-style {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translate(-50%, 0);
    background-color: rgba(0, 0, 0, 0.5);
    padding: 10px;
}