8.7 KiB
beta.001 — les quatre anciennes expéditions
Ticket local EXP-01, branche codex/ancient-expeditions-beta001. Ce contrat
décrit la création des quatre anciennes expéditions. La préparation de versionnement BETA-01 est conservée
dans cette première bêta, encore non publiée.
Les régions
Répartition confirmée par le créateur :
| Direction | Nom | Climat | Relief |
|---|---|---|---|
| Nord | La Veille de Noor / Noor’s Vigil | glacial | peaks |
| Est | Les Braises de Makena / Makena’s Embers | tropical | volcano |
| Sud | La Faille de Kai et Efe / Kai and Efe’s Rift | arid | canyon |
| Ouest | Les Eaux d’Ari / Ari’s Waters | humid | ocean |
Ces régions sont les traces d’expéditions des anciens personnages, ouvertes avant l’arrivée des joueurs actuels. Le relief de Sanctuary reste celui de l’alpha.30.7 ; les quatre régions utilisent les générateurs d’expansion existants. Leur diamètre nominal est 512 blocs chacune, confirmé par le créateur.
Contrat de création et de sauvegarde
- Réserver les quatre régions ensemble lors de la création d’un nouveau monde Sanctuary bêta, avant de publier les régions au générateur.
- Enregistrer leur identité, graine dérivée, direction, climat, relief, taille et position. Les îles sont ouvertes dès le départ ; leurs chunks se génèrent à l’exploration, comme ceux de l’île initiale. Elles ne demandent pas de coût ni de déblocage par les joueurs.
- Distinguer ce contrat dans les paramètres du nouveau monde. L’absence du
paramètre
ancient_expeditionsconserve le contrat alpha.24/30.7 ; aucune ancienne sauvegarde ne reçoit automatiquement les quatre îles. - Utiliser un journal bêta distinct, versionné, vérifié et atomique. Aucun
journal existant n’est converti :
data/sanctuary-world-beta001/expansions.json, schéma3, dispositionexpedition_layout=1. En cas de journal incomplet ou invalide, arrêter avec une erreur au lieu de recréer les régions. - Conserver les identifiants des codecs et du terrain existants. Le nouveau paramètre doit survivre à Personnaliser, à l’écriture du monde et au rechargement.
- Une sauvegarde bêta n’est pas rétrocompatible avec les binaires alpha : ne pas la rouvrir avec eux. Les mondes alpha restent sur leur ancien contrat.
Placement proche
Chercher d’abord la position admissible la plus proche sur l’axe cardinal, sans l’écart supplémentaire ni le décalage aléatoire des anciennes commandes. Conserver les emprises écrites, la marge de décoration et la séparation des chunks ; les bateaux et autres réservations aériennes restent prioritaires. Avancer par pas d’un chunk si une réservation interdit la première position. La distance entre centres comprend les rayons des deux îles : ce n’est pas la longueur du vide à traverser entre leurs rivages.
Le même placement proche est disponible pour les nouvelles demandes d’expansion
dans les mondes bêta. Les contrôles d’occupation et de reprise du vide certifié
restent obligatoires ; une distance 0 ne donne aucune permission d’écraser
un chunk existant. Les positions et règles des mondes alpha sont conservées.
Le plan utilise les identifiants stables noor_vigil, makena_embers,
kai_efe_rift, ari_waters. Leurs noms FR/EN sont affichés dans la liste
opérateur ; les identifiants restent présents pour les commandes. Les structures
vanilla suivent les possibilités naturelles de chaque région : les quatre
ouvertures initiales n’imposent pas un bâtiment particulier. Les futures
expansions par commande gardent leur précontrôle de structure existant.
Périmètre narratif
Le lore fourni associe Noor à l’aventure, Makena à la cuisine, Kai et Efe à la construction et Ari aux villageois. Les noms des expéditions prolongent ces rôles. Steve et ses amis sont des héros trans de cette fiction. Steve s’est sacrifié pour contenir Notch ; Galactium, Alpha, Backrooms et les récits fragmentaires des personnages nourrissent la suite. Le dénouement et les pouvoirs restent à définir. Ces éléments ne décrivent pas des mécaniques déjà livrées : aucun boss, pouvoir, journal à collecter ou déblocage créatif n’est ajouté par ce ticket.
Essai local
Importer build/Sanctuary-beta.001.mrpack dans le lanceur, puis créer
un nouveau monde de type Sanctuary. Pour une visite rapide, choisir Créatif
et autoriser les commandes. La graine 0, taille Moyen (724), permet de retrouver
les mesures natives ci-dessous.
/sanctuary expansion list affiche les cinq régions et les noms localisés.
Les commandes de visite sont :
/sanctuary expansion visit noor_vigil
/sanctuary expansion visit makena_embers
/sanctuary expansion visit kai_efe_rift
/sanctuary expansion visit ari_waters
Le pack cible Minecraft 26.3-pre-2, Fabric Loader 0.19.5 et Fabric API
0.160.0+26.3, avec Java 25. Cet export local n’avance pas le canal packwiz
publié et n’installe rien dans une instance personnelle.
Vérifications
Plans déterministes sur les trois tailles et les graines 0, 42 et
-7228211907433324401 ; quatre directions exactes, identités et profils attendus,
emprises distinctes, réservations aériennes respectées et distances mesurées.
La suite pure ancientExpeditions001Smoke passe : persistance des cinq régions,
reprise, refus de corruption et d’un bootstrap interrompu, ajout d’une expansion
ultérieure et ancien journal alpha inchangé octet pour octet. Les neuf plans
utilisent un ciel vide ; un cas supplémentaire impose de vraies réservations
de bateaux de fixture et vérifie leur priorité.
./gradlew assemblePack -x :sanctuary:check réussit. L’export packwiz/Modrinth
est vérifié : versions, index et empreintes, intégrité des deux archives,
JAR embarqué identique au JAR construit et activation des expéditions dans
le preset. Le reçu est dans build/expeditions001-artifact.json (ignoré).
./gradlew check build -PsanctuaryFocusedTests=expeditions réussit en 4 min 29 s :
tous les contrôles purs du cycle et les 3 GameTests ciblés passent sur
Moyen 724, graine 0. Les quatre régions génèrent leurs vrais chunks, leurs
biomes correspondent aux climats attendus, l’océan contient un bassin d’eau,
et chaque visite trouve un point d’arrivée sûr. Un premier lancement avait
expiré à cause d’un callback de test qui se replanifiait sous la même clé ;
le scénario corrigé passe sans modifier le code de jeu.
La seconde exécution, avec -PsanctuaryExpansionReload=true, réussit en
1 min 40 s (3/3) : mêmes régions et codec, journal inchangé, et quatre
blocs témoins posés lors du premier processus toujours présents après reprise.
Les paramètres des trois tailles et des deux états de structures expérimentales
passent aussi une écriture/lecture native sur disque ; un codec alpha sans
le nouveau paramètre conserve son ancien journal.
Mesures sur Moyen 724, graine 0, disposition 1 :
| Région | Centre X/Z | Ancienne distance entre centres | Nouvelle distance | Écart estimé de terrain sur l’axe |
|---|---|---|---|---|
| Noor | 0 / -784 | 933 | 784 | 416 |
| Makena | 784 / 0 | 1 076 | 784 | 360 |
| Kai et Efe | 0 / 784 | 1 013 | 784 | 404 |
| Ari | -784 / 0 | 1 096 | 784 | 348 |
Distances en blocs. Le dernier relevé échantillonne les hauteurs du générateur tous les quatre blocs sur l’axe des centres ; ce n’est pas la distance minimale entre deux rivages ni un tracé de pont. Le placement gagne ici 149 à 312 blocs entre centres, mais les emprises conservées et la forme réelle des paysages laissent encore un vide important. Un rapprochement supplémentaire qui ferait se chevaucher leurs chunks demanderait une évolution du contrat de propriété.
Après ces essais, la version interne a été simplifiée à beta.001 à la demande
du créateur. ./gradlew build assemblePack -x :sanctuary:check réussit en 7 s.
Le JAR final est identique au JAR testé, sauf le champ version de
fabric.mod.json. Les 12 contrôles du nouveau format passent ; le MRpack
final contient uniquement sanctuary-beta.001.jar comme JAR Sanctuary.
Les preuves ignorées sont dans build/expeditions001-check-build-retry.log,
build/expeditions001-reload.log, build/beta001-clean-naming-assemble.log,
build/expeditions001-artifact.json et
mods/sanctuary/build/run/gameTest/diagnostics/expeditions001/724-0-{native,reload}.json.
Ce ciblage ne revendique pas la réussite de toute la suite native générale :
les deux assertions déjà relevées pendant BETA-01 restent
ouvertes. Les chunks natifs sont vérifiés sur Moyen/graine 0 ; l’inspection
visuelle client et les essais Windows restent à effectuer.