Aller au contenu
galdurdocs

Contribuer

Compile Galdur UI, lance-le avec le mod de test, et propose une pull request. Voici comment le dépôt est organisé et les règles qu’il suit.

⏱ 5 minGaldur UI 0.1.0

Compiler et lancer

Terminal
.\gradlew.bat runClient   # lance le client de développement (bibliothèque + mod de test).\gradlew.bat build       # compile, lance les tests et produit le jar dans build/libs.\gradlew.bat test        # tests unitaires seuls (sans démarrer Minecraft)

Il te faut Java 21. Sous Linux et macOS, utilise ./gradlew au lieu de .\gradlew.bat.

Le mod de test

Les écrans de démo, les blocs de test et les outils de debug vivent dans un source set séparé, src/testmod, sous la forme d’un second mod (galduruitest). Les lancements de développement le chargent à côté de Galdur UI ; il n’est jamais dans le jar de la bibliothèque.

CommandeEffet
/galdurui testÉcran de démo de tous les widgets.
/galdurui windowDémo de l’API déclarative GaldurWindow.
/galdurui debugActive ou coupe les contours de debug des layouts.
/galdurui fpsActive ou coupe un compteur de FPS visible sur les écrans (F3 y est masqué).
/galduruidev chestDonne un coffre de test (aussi dans l’onglet créatif « Blocs fonctionnels ») qui s’ouvre dans un GaldurContainerScreen.
/galduruidev terminalOuvre un terminal de test : une grille de tous les objets du jeu au-dessus de l’inventaire.

Le mod de test ajoute aussi un pack de ressources thème bleu (Options → Packs de ressources), qui ne remplace qu’une partie de theme.json.

Organisation

  • com.galdurstudio.galdurui.api : API publique et stable utilisée par nos mods. api.menu est le seul paquet qui peut se charger sur un serveur dédié ; tous les autres sont côté client.
  • com.galdurstudio.galdurui.internal : implémentation interne, peut changer à tout moment. internal.render.GaldurRender est la seule classe qui appelle GuiGraphics.
  • Aucune signature publique de api n’expose un type internal.

Règles

  • Ne jamais faire dépendre api.* d’un type internal.* dans une signature publique.
  • Garder les outils de développement dans le mod de test, jamais dans le jar de la bibliothèque.
  • Des méthodes de l’API peuvent rester inutilisées dans le dépôt (GaldurButton.withSprites, GaldurLabel.getText, GaldurPanelLayout.withSprite…) : elles font partie de l’API offerte aux mods.
  • Écrire la Javadoc de chaque classe et méthode publique : la référence API de ce site en est générée.
  • Mettre à jour les Nouveautés sous [Unreleased].

Sprites

Si tu changes la forme d’un sprite, régénère-les avec .\gradlew.bat generateSprites et commite les PNG : la CI échoue s’ils ne correspondent plus au générateur. Voir Sprites.

Questions

Ouvre une issue sur GitHub, ou demande sur le Discord : on répond à tout le monde.

© 2026 Galdur Studio · galdurstudio.com · Discord · LGPL-3.0-onlyProduit non officiel. Non approuvé par Mojang ou Microsoft, ni associé à eux.