Record Sanctuary sources through beta.060 and Git validation
Build Sanctuary / build (push) Canceled after 0s
Build Sanctuary / build (push) Canceled after 0s
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
# 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`.
|
||||
Reference in New Issue
Block a user