Files
sanctuary-beta/docs/expeditions-beta001.md
T
2026-09-15 09:29:11 +02:00

8.7 KiB
Raw Blame History

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 / Noors Vigil glacial peaks
Est Les Braises de Makena / Makenas Embers tropical volcano
Sud La Faille de Kai et Efe / Kai and Efes Rift arid canyon
Ouest Les Eaux dAri / Aris Waters humid ocean

Ces régions sont les traces dexpéditions des anciens personnages, ouvertes avant larrivée des joueurs actuels. Le relief de Sanctuary reste celui de lalpha.30.7 ; les quatre régions utilisent les générateurs dexpansion 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 dun 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 à lexploration, 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. Labsence du paramètre ancient_expeditions conserve 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 nest converti : data/sanctuary-world-beta001/expansions.json, schéma 3, disposition expedition_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 nest pas rétrocompatible avec les binaires alpha : ne pas la rouvrir avec eux. Les mondes alpha restent sur leur ancien contrat.

Placement proche

Chercher dabord la position admissible la plus proche sur laxe 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 dun chunk si une réservation interdit la première position. La distance entre centres comprend les rayons des deux îles : ce nest pas la longueur du vide à traverser entre leurs rivages.

Le même placement proche est disponible pour les nouvelles demandes dexpansion dans les mondes bêta. Les contrôles doccupation 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 nimposent 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 à laventure, 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 sest 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 nest 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 navance pas le canal packwiz publié et ninstalle 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 dun bootstrap interrompu, ajout dune 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. Lexport 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, locéan contient un bassin deau, et chaque visite trouve un point darrivée sûr. Un premier lancement avait expiré à cause dun 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 laxe
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 laxe des centres ; ce nest 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 ; linspection visuelle client et les essais Windows restent à effectuer.