89 lines
4.7 KiB
Markdown
89 lines
4.7 KiB
Markdown
# DEV-033 — Sanctuary Test, monde plat et intro passée
|
||
|
||
Le petit module facultatif `sanctuary_test` dépend du vrai mod Sanctuary.
|
||
Il permet de tester les fonctionnalités réelles sur un terrain plat natif,
|
||
sans générer Sanctuary Island ni jouer les 29,5 secondes de cinématique.
|
||
Client natif validé sur la graine `42`, Minecraft **26.3-pre-2**, Java 25.
|
||
|
||
## Contrat du profil de développement
|
||
|
||
Le pack normal n’embarque pas ce module. Avec le module présent côté serveur,
|
||
les nouveaux mondes plats peuvent ouvrir la progression Sanctuary. La protection
|
||
des mondes déjà habités reste la même : aucune activation implicite sur une
|
||
ancienne sauvegarde qui n’a pas de contrat Sanctuary.
|
||
|
||
Le preset `sanctuary_test:flat` remplit seulement 64 couches natives : une bedrock,
|
||
60 pierres, deux terres et une herbe. Pas de structures, lacs ou décorations
|
||
supplémentaires. Les dimensions Nether et End gardent leurs générateurs natifs,
|
||
et ne génèrent leurs chunks qu’à leur visite. Graine libre ; aucun changement
|
||
apporté au preset Sanctuary ni à sa génération.
|
||
|
||
Le formulaire d’habitant et l’admission restent réels, suivis du même échange
|
||
réseau d’introduction. Le serveur de test signale le mode rapide au client,
|
||
qui accuse immédiatement la fin de l’intro. Pas de délai, musique ou flash.
|
||
Sur un monde Sanctuary normal, l’intro complète reste active même si ce module
|
||
est installé. `/sanctuary intro` permet toujours de revoir la cinématique.
|
||
|
||
Le client propose le preset de test par défaut à la création d’un nouveau monde,
|
||
sans réimposer ce choix après un changement volontaire ou un redimensionnement.
|
||
Conserver le module pour jouer ses mondes de test. Ne pas confondre ceux-ci avec
|
||
les mondes du pack normal ; aucune installation personnelle modifiée par les outils.
|
||
|
||
## Lancer une partie d’essai
|
||
|
||
Importer [Sanctuary-Test-beta.033.mrpack](../build/Sanctuary-Test-beta.033.mrpack)
|
||
dans un lanceur compatible, puis créer un **nouveau monde**. Le type
|
||
**Sanctuary — Test rapide** est présélectionné. Valider la fiche d’habitant :
|
||
l’arrivée suit directement, sans cinématique. Choisir le mode de jeu et les
|
||
commandes selon le test souhaité ; les règles de progression restent réelles.
|
||
|
||
Le [pack normal beta.033](../build/Sanctuary-beta.033.mrpack) contient les mêmes
|
||
corrections et fonctionnalités, sans le module facultatif. Le petit JAR
|
||
`mods/sanctuary-test/build/libs/sanctuary-test-beta.033.jar` nécessite Sanctuary
|
||
beta.033 ; ce n’est pas une copie autonome du jeu.
|
||
|
||
## Développement
|
||
|
||
`./gradlew :sanctuary-test:runClient` lance une instance isolée dans
|
||
`mods/sanctuary-test/run/quick-test`. Créer un nouveau monde avec le preset de test.
|
||
La fiche d’habitant n’apparaît qu’à la première arrivée, comme dans le pack normal.
|
||
|
||
Les GameTests client peuvent ajouter `-PsanctuaryQuickTests=true` ; ils gardent
|
||
les vrais mods et utilisent explicitement le preset plat. Leurs données restent
|
||
dans les dossiers de développement ignorés. Les tests du terrain et de la
|
||
cinématique complète continuent d’utiliser leurs profils habituels.
|
||
|
||
## Vérifications du profil rapide
|
||
|
||
Trois parcours client natifs ont créé un monde plat de graine `42`, conservé
|
||
la création d’identité et ouvert les véritables menus Sanctuary. L’essai final
|
||
vérifie aussi le preset présélectionné, l’absence d’écran Intro, le générateur
|
||
`FlatLevelSource` et la session serveur de progression active.
|
||
|
||
La création jusqu’à l’admission a pris **7 293 ms**, **8 935 ms**, puis **8 735 ms** sur cette
|
||
machine, avec validation automatisée de la fiche. Ces mesures commencent après
|
||
le chargement du client ; elles ne décrivent pas le démarrage du lanceur, la
|
||
saisie humaine ou une garantie de durée sur d’autres machines.
|
||
|
||
Commande de contrôle client :
|
||
|
||
```sh
|
||
./gradlew :sanctuary:runClientGameTest -PsanctuaryClientTests=true \
|
||
-PsanctuaryMenusClientTests=true -PsanctuaryQuickTests=true \
|
||
-PsanctuaryFocusedTests=menus
|
||
```
|
||
|
||
Journaux : `build/menus033-quick-client-final.log` et
|
||
`build/menus033-quick-client-history.log` (avec le bouton History final). Le parcours normal conserve
|
||
le preset Sanctuary et sa séquence d’introduction (`build/menus033-client2.log`).
|
||
Le monde plat facilite les essais d’interfaces et de mécaniques ; les essais
|
||
d’îles et d’expansions doivent conserver leur générateur Sanctuary.
|
||
|
||
## Distribution vérifiée
|
||
|
||
Le module mesure **21 504 octets** ; il est la seule différence de contenu
|
||
entre les deux packs (outre le nom du manifeste). Le JAR Sanctuary est identique,
|
||
ainsi que JEI et Demeure. Archives, métadonnées et classes compilées vérifiées ;
|
||
reçu : `build/quick033-artifact.json`. Aucun serveur ni installation personnelle
|
||
n’a été mis à jour. La distribution normale n’embarque pas `sanctuary_test`.
|