107 lines
6.5 KiB
Markdown
107 lines
6.5 KiB
Markdown
# beta.002 — climats et temples des expéditions
|
||
|
||
Ticket local **EXP-02**, branche `codex/expedition-biomes-temples-beta002`.
|
||
Le créateur a validé visuellement la génération de beta.001 et demande :
|
||
|
||
- Nord : boréal/Peaks, avec taïga, neige et biomes de glace dans la palette boréale.
|
||
- Ouest : conserver l’île océanique humide, avec un bassin `warm_ocean` et du corail vivant.
|
||
- Sud : une pyramide du désert sur l’île aride/Canyon.
|
||
- Est : un temple de la jungle dans l’île tropicale/Volcan, à une position qui varie avec la graine.
|
||
|
||
Les quatre noms, directions, diamètres de 512 blocs et règles de rapprochement
|
||
de beta.001 sont conservés. Les deux bâtiments utilisent les structures vanilla,
|
||
avec leurs coffres, pièges, sauvegarde et localisation natives.
|
||
|
||
## Contrat des nouveaux mondes
|
||
|
||
Les nouveaux mondes enregistrent `ancient_expeditions=true` et
|
||
`expedition_revision=2` dans le générateur. L’absence de révision reste `1`
|
||
pour beta.001 ; l’absence d’expéditions garde le contrat alpha. Le journal
|
||
beta.002 utilise `data/sanctuary-world-beta002/expansions.json`, schéma `3`,
|
||
`expedition_layout=2`. Aucun ancien journal n’est converti et aucun chunk
|
||
d’une sauvegarde jouée n’est régénéré.
|
||
|
||
Les nouveaux biomes ne s’appliquent qu’à cette révision. Les deux temples sont
|
||
planifiés avant l’exploration, à partir de la graine et du terrain, puis leurs
|
||
starts sont enregistrés par Minecraft lors de la génération des chunks.
|
||
Ils respectent l’option vanilla de génération des structures. La disposition
|
||
et ses règles restent versionnées pour éviter de déplacer un site au rechargement.
|
||
|
||
## Placement des temples
|
||
|
||
**Évolution beta.097** : le refus bloquant décrit dans cette version historique
|
||
est remplacé par une recherche de secours, puis un placement garanti des pièces
|
||
vanilla avec fondation si nécessaire. Les sites historiques admissibles restent
|
||
prioritaires. Voir le [contrat du correctif](temple-crash-beta097.md).
|
||
|
||
Les candidats sont des chunks de l’intérieur de chaque île, à au moins 48 blocs
|
||
de son centre, ordonnés par un tirage déterministe. La recherche filtre le type
|
||
voulu, puis conserve les conditions natives de biome, de pente et de fondation.
|
||
Elle ne modifie pas le relief pour imposer un bâtiment. Elle partage un cache
|
||
borné à 32 768 colonnes par temple. Si aucun site admissible n’est trouvé dans
|
||
ce budget, la création refuse explicitement cette disposition au lieu d’annoncer
|
||
un temple absent. Les essais de graines ci-dessous donnent le périmètre vérifié.
|
||
|
||
Les starts utilisent `minecraft:desert_pyramid` et `minecraft:jungle_pyramid`.
|
||
Ils sont connus de `/locate structure` et sauvegardés au format natif. Leur
|
||
réservation protège aussi les salles enfouies, les coffres et les pièges contre
|
||
les structures voisines et la décoration ultérieure. Seules les pièces du
|
||
temple concerné peuvent écrire dans son volume protégé pendant sa génération.
|
||
|
||
Le bassin d’Ari conserve ses contours, profondeur et eau de beta.001 ; son
|
||
biome chaud active les véritables features de récif vanilla. Aucune décoration
|
||
artificielle de corail mort ne remplace ce récif.
|
||
|
||
## Vérifications
|
||
|
||
Sur macOS / Java 25, avec les mêmes dépendances Minecraft `26.3-pre-2`,
|
||
Fabric Loader `0.19.5` et Fabric API `0.160.0+26.3` :
|
||
|
||
- `./gradlew check build -PsanctuaryFocusedTests=expeditions` réussit en
|
||
4 min 38 s : contrôles purs du cycle et **4/4 GameTests ciblés**.
|
||
- Les plans des trois tailles sur les graines `0`, `42` et
|
||
`-7228211907433324401` conservent les centres et les graines des quatre îles.
|
||
Les journaux des deux révisions sont testés : relecture, refus de migration
|
||
implicite et octets beta.001 conservés. Les réglages beta.001 sans révision
|
||
explicite gardent leur valeur `1` ; les réglages beta.002 survivent à
|
||
Personnaliser et à une vraie sauvegarde/relecture des trois tailles.
|
||
- Sur Moyen 724 / graine `0`, les chunks des deux temples sont générés et
|
||
inspectés, leurs starts passent un aller-retour NBT et `/locate` les trouve.
|
||
La pyramide possède **4 coffres et 9 TNT**, le temple de jungle **2 coffres
|
||
et 2 distributeurs**. La palette boréale échantillonnée contient les six
|
||
biomes : taiga, grove, snowy_taiga, snowy_plains, ice_spikes et frozen_peaks.
|
||
**69 blocs de corail vivant** sont comptés dans les trois premiers chunks
|
||
océaniques inspectés ; ce nombre n’est pas un inventaire de toute l’île.
|
||
- La reprise dans un deuxième processus réussit, **4/4**, en 1 min 56 s.
|
||
Les rapports des temples/récif avant et après reprise sont identiques ;
|
||
le journal, les paramètres et les quatre blocs témoins des joueurs sont
|
||
conservés. Le refus de chevauchement inclut les chambres enfouies des temples.
|
||
- Un nouveau monde Moyen 724 / graine `42` passe aussi **4/4**, en 2 min 15 s,
|
||
avec les six biomes boréaux et 178 blocs de corail vivant dans les trois
|
||
chunks inspectés. Les deux sites diffèrent de ceux de la graine `0` :
|
||
pyramide au chunk `[3, 48]` au lieu de `[2, 46]`, temple au chunk `[50, -7]`
|
||
au lieu de `[56, -3]`. Les coffres et pièges attendus sont présents.
|
||
- `./gradlew assemblePack -x :sanctuary:check` réussit en 6 s après les
|
||
contrôles. L’export `build/Sanctuary-beta.002.mrpack` est vérifié : intégrité
|
||
ZIP, versions et dépendances, index packwiz, JAR embarqué identique au JAR
|
||
construit, révision `2` du nouveau preset et présence du lecteur beta.001.
|
||
Le reçu est dans `build/expeditions002-artifact.json`.
|
||
|
||
MRpack SHA-256 : `8a7f956b554385362f70a6b535504ecf5223d3ee86bf3c81bce2913060c104ca`.
|
||
JAR SHA-256 : `1d7ff72567aa6d9807332917368a13c1e72bcbb3b6d6620c4a0f72907978b4fb`.
|
||
|
||
Importer **`Sanctuary-beta.002.mrpack`**, puis créer un nouveau monde de type
|
||
**Sanctuary**, avec les structures activées pour visiter les temples. Les
|
||
commandes `/sanctuary expansion visit kai_efe_rift` et
|
||
`/sanctuary expansion visit makena_embers` amènent sur les îles concernées ;
|
||
`/locate structure minecraft:desert_pyramid` et
|
||
`/locate structure minecraft:jungle_pyramid` localisent les bâtiments natifs.
|
||
|
||
Les logs ignorés sont dans `build/expeditions002-check-build.log`,
|
||
`build/expeditions002-reload-0.log` et `build/expeditions002-native-42.log`.
|
||
Les relevés détaillés sont dans
|
||
`mods/sanctuary/build/run/gameTest/diagnostics/expeditions002/`.
|
||
La suite native générale garde les deux assertions historiques décrites dans
|
||
`docs/versioning.md` ; cette livraison ne les présente pas comme corrigées.
|
||
L’inspection graphique du nouveau pack et les essais Windows restent à faire.
|