Files
sanctuary-beta/docs/worldgen.md
T
2026-09-09 11:13:24 +02:00

872 lines
51 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Premier monde Sanctuary
## Alpha.13 — génération unifiée
Le choix public **Sanctuary** (`sanctuary:sanctuary`) crée l’île principale à
lorigine de lOverworld, entourée de vide. Son bouton natif **Personnaliser**
propose **Petit** (512 blocs de diamètre nominal), **Moyen** (724, par défaut)
et **Grand** (1 024). Les types vanilla restent disponibles. La hauteur reste
de 384 blocs ; les dimensions nominales ne donnent ni aire habitable garantie
ni capacité multijoueur.
L’île initiale reprend la densité, les forêts et lhydrologie complète de la
famille Population, avec les poches de biomes souterrains natives du laboratoire.
Les extensions conservent leurs profils climatiques et leurs commandes
alpha.12.1. Leurs règles de génération restent distinctes de celles de l’île
initiale : la grande hydrologie de départ nest pas automatiquement reproduite
sur chaque continent ajouté.
Les trois tailles et les cavités passent les contrôles moteur. Le [guide alpha.13](alpha13-worldgen.md)
décrit linterface, les paramètres sauvegardés et les outils dexpansion ;
[Validation](testing.md) conserve la portée des essais de chaque version.
## Créer un nouveau monde
En solo, choisir **Sanctuary**, ouvrir **Personnaliser**, puis confirmer la
taille avec **Terminé**. **Annuler** conserve le réglage précédent. Cette
interface configure le monde à créer ; elle ne redimensionne pas une partie.
Sur un nouveau serveur Fabric avec Fabric API, le preset public utilise la
taille **Moyen**, 724 blocs :
```properties
level-type=sanctuary:sanctuary
level-name=sanctuary-dev
level-seed=0
```
La graine est libre. Utiliser un dossier neuf pour un essai ; modifier
`level-type` ne convertit aucun monde enregistré. Aucune commande de migration
ou de régénération des anciennes îles nest fournie.
## Compatibilité et versions historiques
Lalpha.13 enregistre le générateur `sanctuary:island_v13`, son diamètre initial
et une racine de génération 13. Les nouvelles expansions restent de génération
12. Leur journal utilise le dossier propre au monde
`data/sanctuary-world-v13/`. Les anciens codecs et presets sont conservés, mais
cachés de la sélection publique. Les mondes déjà créés conservent leurs réglages
et leur journal ; aucun chunk nest remplacé par cette mise à jour.
### Alpha.12 et alpha.12.1 — laboratoire historique
Le preset distinct `sanctuary:expansion_lab` proposait une origine de 512 blocs
et des commandes opérateur pour ajouter des îles de 64/128/256/512 blocs.
Son relief expérimental et ses biomes natifs ne reprenaient pas les grandes
rivières et terrasses de Population. Lalpha.12.1 ajoutait une distance
facultative et la recherche dun emplacement libre au-delà des chunks occupés.
Ces mondes gardent leur génération 12 et leur dossier
`data/sanctuary-expansion-v1/`. Le [guide du laboratoire](alpha12-laboratory.md)
reste la référence historique de ces versions, avec leurs seules observations.
### Alpha.11 — Petit et Grand historiques
| Ancien choix public | Diamètre nominal | Ancien preset | Réglage enregistré |
| --- | --- | --- | --- |
| Petit | 512 blocs | `sanctuary:sanctuary_5` | `sanctuary:population_5` |
| Grand, ancien défaut | Environ 724 blocs | `sanctuary:sanctuary` | `sanctuary:population_10` |
Lancien Grand correspond à la taille nominale du nouveau Moyen. Les mondes
historiques `population_5`, `population_10`, `population_20` et `population_100`
restent chargeables avec leurs dimensions. Le preset public est une recette
de création ; sa nouvelle définition ne remplace pas leur générateur sauvegardé.
Loptimisation alpha.11 conserve larithmétique de linterpolation et les règles
de terrain et dhydrologie. Ses mesures et contrôles sont historiques, sans
validation anticipée des ajouts de lalpha.13.
## Socle de génération conservé
Les points suivants décrivent le socle livré jusqu’à lalpha.8. Les évolutions
alpha.9 et alpha.10 sont précisées dans les sections v9 et v10 ci-dessous.
- Le générateur reste celui de Minecraft, `minecraft:noise`.
- La forme reprend le champ de bruit flottant actif en 26.2 : `old_blended_noise`
avec `xz_scale=0.25`, `y_scale=0.25`, `xz_factor=80`, `y_factor=160`, `smear=4`,
ainsi que son gradient supérieur. Il est échantillonné **64 blocs plus bas**
pour relever l'île entière de 64 blocs. Reliefs, surplombs, trous et fragments
dépendent de la seed Minecraft. Lalpha.8 y soustrait des failles courbes,
sans ajouter de matière. L'ancien gradient inférieur uniforme est
remplacé par la sculpture irrégulière décrite ci-dessous.
- Le terrain naturel reste libre de laisser un trou à l'origine, de former des
surplombs ou de se séparer en fragments. **Aucun noyau ellipsoïdal, cylindre ou
plateforme de départ n'est ajouté.** Le relief relevé de 64 blocs reste le
champ source ; les failles de lalpha.8 en retirent de la matière et
lhydrologie traite ensuite les lits et les rives près de la surface.
- Le pourtour est sculpté par retrait de matière à partir du rayon **128 blocs**.
Le contour de référence de 256 blocs est déformé par les bruits, entre 204 et
288 blocs ; il indique la fin de l'érosion, pas un mur de roche.
La côte réelle apparaît plus tôt, selon la densité du terrain et la seed.
Aucun terrain ne réapparaît au-delà de **288 blocs**, sans répétition d'îles.
Les arbres peuvent dépasser la côte rocheuse de quelques blocs.
- Les nouveaux mondes utilisent **384 blocs de hauteur**, de `Y=0` à `Y=383`,
pour la dimension et le générateur. La roche disparaît avant leurs limites.
Il n'y a ni plancher de bedrock,
ni mer globale, ni reprise du terrain à distance. Le Nether et l'End restent
ceux de Minecraft.
- Les nouveaux mondes utilisent une palette tempérée de forêts de chênes et de
bouleaux, de clairières fleuries et de zones rocheuses. Les strates intérieures
portent des chênes noirs et des champignons sur leurs corniches naturelles.
Dappled Forest est réservé aux futurs continents. Leur végétation et leurs animaux proviennent
de Minecraft 26.3-pre-2. Les nouveaux identifiants ne reprennent pas les tags
de structures vanilla, afin de ne pas placer leurs structures dans le vide.
- Jusqu’à lalpha.8, les carvers, géodes, donjons, grands lacs de lave et sources
vanilla sont retirés. Lalpha.9 ajoute une intégration bornée de géodes et
de geysers, sans réactiver lensemble de la décoration souterraine vanilla.
Leau de Sanctuary suit son propre plan de surface et de niches
rocheuses. Les arbres et les petits filons ont besoin du terrain existant.
Aucun mod de biomes externe nest nécessaire.
Lalpha.8 associe ces biomes aux plages, aux eaux et aux filons décrits
ci-dessous. Les ressources de survie ne se limitent pas au bois et à la pierre,
mais cet incrément ne garantit pas encore une partie Minecraft complète sur
chaque seed. Laccès à chaque progression vanilla et les ressources renouvelables
nécessitent des vérifications concrètes. Les stocks réels sont relevés après la
génération, sans corriger une île pour atteindre un quota.
## Capacité de l’île — génération v10 historique
Lors de lalpha.10, trois tailles étaient accessibles à la création dun monde.
Le choix **Sanctuary** visait 20 joueurs par défaut, accompagné de variantes
pour 5 et 100 joueurs. Le tableau suivant conserve cette association historique ;
lalpha.11 utilise le nouveau défaut Grand indiqué plus haut :
| Preset de création | Paramètres enregistrés dans le monde |
| --- | --- |
| `sanctuary:sanctuary_5` | `sanctuary:population_5` |
| `sanctuary:sanctuary` | `sanctuary:population_20` |
| `sanctuary:sanctuary_100` | `sanctuary:population_100` |
Les nouveaux réglages restent distincts des identifiants enregistrés dans
les anciennes sauvegardes. Modifier le preset
sélectionné pour une nouvelle partie ne convertit pas un monde existant.
| Capacité de référence | Facteur horizontal | Aire nominale relative | Diamètre nominal | Hauteur |
| --- | --- | --- | --- | --- |
| 5 joueurs | 1 | 1 | 512 blocs | 384 blocs |
| 20 joueurs, défaut | 2 | 4 | 1 024 blocs | 384 blocs |
| 100 joueurs | √20, environ 4,472 | 20 | Environ 2 290 blocs | 384 blocs |
Le facteur horizontal vaut `√(capacité / 5)` : doubler le diamètre multiplie
laire nominale par quatre. Cette relation décrit lenveloppe de référence,
pas la surface réellement constructible après les trous, les falaises et
la sculpture de la bordure. Aucun cylindre central ni remplissage de secours
ne doit être ajouté pour obtenir laire théorique. La hauteur de dimension
reste `Y=0..383`.
La capacité choisie reste un paramètre de génération. Elle ne modifie pas
`max-players`, nagrandit pas l’île à chaque connexion et ne fixe aucun quota
de ressources. Les anciens mondes jusqu’à lalpha.9 gardent leur génération
et leur taille ; leurs chunks ne sont ni remplacés ni régénérés. Le projet
de continents déverrouillables reste séparé de ces tailles de départ.
Le bruit naturel reste échantillonné aux coordonnées du monde ; seule
lenveloppe extérieure change de taille. Les plans hydrauliques sont construits
à la demande dans des régions de 512 blocs, avec une graine régionale distincte.
Les marges dadmission sont de 16 blocs pour leau et 32 pour la lave. Bassins,
berges et groupes de terrasses sont admis entiers ; les sources dépendant dune
coupe écartée sont retirées aussi. Aucun trajet nest tronqué à la frontière.
Les couches superposées et leurs sources sont ensuite traduites ensemble.
Les forêts, minerais et décorations utilisent toute lemprise du profil.
La recherche facultative dun arbre remarquable reste unique et centrale.
Les sources et exutoires nagissent que pendant la génération, avec les
marqueurs vanilla consommés ; recharger un ancien chunk ne rouvre pas une bouche.
Les trois tailles passent onze tests requis sur la graine `0`, avec 1 800 ticks
de fluides et un aller-retour réel des paramètres sur disque. Le fichier
`data/minecraft/world_gen_settings.dat` conserve la clé du profil choisi.
212 anciens fichiers de production sont strictement identiques, tandis que
huit fichiers dintégration ou dinterface exposent les nouvelles générations.
Le premier calcul dune région reste coûteux ; les résultats ne sont pas un
test de cent connexions ni une garantie de génération rapide de toute l’île.
Voir les emprises et durées dans [Validation](testing.md).
## Cavités et terrasses deau — génération v9
Le nouveau réglage est `sanctuary:sanctuary_cavern`, avec le biome source
`sanctuary:cavern_island` et la règle de matière `sanctuary:cavern_island`.
La densité réutilise `sanctuary:final_density_rift` sans changer cet identifiant
historique. Ses nouvelles données et traitements
doivent rester distincts de `sanctuary:sanctuary_rift` et de toutes les
générations précédentes. Le preset sélectionne la nouvelle génération à la
création ; une mise à jour du JAR ne convertit pas une sauvegarde ni ne
régénère ses chunks. Les cavités restent dans lOverworld sur 384 blocs de
hauteur ; la dimension des cavernes décrite dans la vision nest pas ajoutée.
### Ambiances et ressources
Le ticket conserve les forêts de surface et ajoute des cavités luxuriantes
éclairées par leur végétation, des secteurs à spéléothèmes et des géodes
daméthyste sur des emplacements compatibles. Les sols, plafonds, coquilles
et ouvertures doivent être observés après la décoration réelle : une valeur
de biome ne prouve ni le décor ni son éclairage. Lobjectif est dutiliser
les volumes naturels de l’île, sans remplir ses trous pour accueillir une
structure.
Les dix biomes ont leurs propres identifiants : `cavern_oak_forest`,
`cavern_birch_forest`, `cavern_clearing`, `cavern_dry_woodland`,
`cavern_rocky_heath`, `cavern_dark_grove`, `cavern_bamboo_grove`,
`cavern_sulfur_depths`, `cavern_lush_caves` et `cavern_dripstone_caves`, dans
le namespace `sanctuary`. Les deux nouvelles ambiances luxuriantes et à
spéléothèmes sont limitées à Y<184 par la palette ; leur décoration recherche
des sols entre Y=40 et Y=182, avec trois blocs naturels de support et un
plafond situé de 6 à 48 blocs au-dessus.
Dans les cavités luxuriantes, la mousse remplace le sol compatible et de
petites plantes laccompagnent. Les vraies lianes `cave_vines` et
`cave_vines_plant` pendent sur 3 à 8 blocs ; leurs baies émettent de la lumière
et restent récoltables. Ce décor najoute pas deau. Les spéléothèmes utilisent
les blocs `pointed_dripstone` orientés, sur un appui de `dripstone_block`
remplaçant de la roche existante, avec une longueur de 1 à 4 blocs selon
lespace disponible.
La géode utilise une configuration vanilla compacte avec améthyste,
améthyste bourgeonnante, calcite et basalte lisse. Son enveloppe doit tenir
dans la roche préexistante et un passage de deux blocs de haut la relie à
la cavité, en préservant laméthyste bourgeonnante et les cristaux attachés.
Un chunk sur huit est candidat ; au plus une pose réussie est retenue par
chunk candidat. Cela ne garantit pas de géode sur une graine.
Le soufre devient admissible dans une bande climatique plus étroite sous
Y=176. La réduction de cette sélection peut être testée indépendamment du
terrain ; seule une comparaison des vrais blocs sur un périmètre commun
mesure sa diminution dans l’île. Un geyser éventuel creuse un seul bloc de
sol pour sa source deau, avec `potent_sulfur` dessous et `magma_block` encore
en dessous. Le fond, les quatre parois et la hauteur libre sont contrôlés.
Le cycle du geyser reste celui de Minecraft ; ce décor est distinct des
bassins hydrologiques et son eau doit être comptée séparément.
Leur présence, leur activité, l’éclairage et la cohabitation avec les eaux
et la végétation sont contrôlés dans les mondes de test. Les preuves de ces
éléments sont cumulées sur les trois graines. Un site incompatible peut
être rejeté ; aucun geyser ni stock nest garanti pour chaque graine.
### Lacs et bassins étagés
Le plan hydrologique conserve la recherche de rivière de
lalpha.8 et vise de plus grands lacs de surface. Les cibles actuelles sont
de lordre de **700 à 1 100 colonnes** par grand lac, jusqu’à **7 à 8 blocs**
de profondeur intérieure et une incision limitée à **12 blocs**. Ce sont des
bornes de recherche ; les dimensions réelles sont relevées séparément, sans quota deau à
remplir. Les fonds, les parois et les dépôts exigent du terrain naturel.
Les terrasses sont recherchées dans des cavités entre **Y=56 et Y=208**,
avec deux paliers par groupe et jusqu’à deux groupes facultatifs.
Un palier vise environ **40 à 180 colonnes**, une profondeur de **1 à 3 blocs**
et une incision dau plus **5 blocs**. Le fond doit conserver trois couches
de sédiments et deux couches de support naturel ; le plafond et lespace
disponible sont vérifiés. Les mesures moteur précisent les sites effectivement retenus.
La recherche suit le choix de pente de leau vanilla : parmi les passages
libres, elle privilégie ceux qui rejoignent la chute la plus proche. Un
bassin inférieur doit intercepter ce trajet réel, sans détour creusé pour
le rejoindre. Les sorties entre paliers sont déclarées et les cascades sont formées par les
ticks de fluides Minecraft. Le premier débordement doit atteindre le second
bassin. Celui-ci peut avoir un exutoire terminal qui s’écoule sur les roches
ou vers le vide, sans troisième bassin ajouté. Le générateur ne doit ni peindre une colonne
deau jusquau vide ni colmater un trou pour retenir un bassin. Les volumes
retenus et les liaisons réelles sont vérifiés séparément après décoration
et simulation, y compris aux frontières de chunks. Les cascades peuvent
servir à monter ou descendre selon la nage vanilla ; aucune mécanique
dascenseur supplémentaire nest prévue. « Rizières » décrit seulement
laspect du paysage en terrasses, sans ajouter une culture de riz.
**Validation moteur au 9 septembre 2026 :** les trois graines de référence
passent les contrôles après 1 800 ticks, avec preuves cumulées des terrasses
connectées, geysers actifs, baies lumineuses, spéléothèmes et améthyste
bourgeonnante. Le build complet réussit. Les résultats et leurs limites sont
consignés dans [Validation](testing.md). Aucune présence universelle nest
garantie. La [distribution](packwiz.md) est publiée et la même instance Prism
est synchronisée, sauvegardes et réglages conservés.
## Failles, géologie et ressources — génération v8
Les nouveaux mondes utilisent `sanctuary:sanctuary_rift`, la densité
`sanctuary:final_density_rift` et le biome source `sanctuary:rift_island`.
Les anciens paramètres `sanctuary`, `sanctuary_384`, `sanctuary_hydrology`,
`sanctuary_natural`, `sanctuary_layered` et `sanctuary_woodland` restent séparés.
Changer le preset ne migre pas un monde existant ; aucune régénération de
chunks ni modification de sauvegarde nest prévue par cet incrément.
### Failles et palette
`RiftShape` définit une à trois traces principales, courbes et ramifiées,
de longueur nominale 84 à 160 blocs. Leur largeur varie avec deux bruits en
trois dimensions ; le cœur ouvert est de lordre de 4 à 12 blocs, avec des
parois érodées autour. Ces nombres décrivent les traces avant leur intersection
avec la roche, pas une garantie de canyon continu de cette taille. La passe
retire seulement de la matière et laisse intactes les zones de rayon inférieur
à 20 blocs et extérieur à 224 blocs. Elle ne crée aucun socle central.
Les huit biomes `rift_oak_forest`, `rift_birch_forest`, `rift_clearing`,
`rift_dry_woodland`, `rift_rocky_heath`, `rift_dark_grove`, `rift_bamboo_grove`
et `rift_sulfur_depths` ont de nouveaux identifiants dans le namespace
`sanctuary`. Les choix climatiques de lalpha.7 sont conservés en haut. Le
soufre devient admissible dans des régions plus larges des étages inférieurs,
notamment vers Y=176, selon les bruits de variation et dhumidité. Le test de
palette prouve cette possibilité ; seule la lecture des vrais blocs peut
prouver une poche accessible sur une graine.
La végétation vanilla de surface garde ses arbres et ses teintes. La feature
`rift_groves` passe ensuite, avant `rift_shore_sugar_cane`, pour choisir les
volumes inférieurs encore libres après les arbres. Elle peut placer de gros
champignons vanilla, avec des petits champignons dispersés et des sols mêlant
mousse, podzol et mycélium. Les supports naturels et la place disponible
restent nécessaires ; un arbre remarquable peut échouer si son site est occupé.
Lordre des plantations intérieures donne la priorité aux arbres dans trois
cas sur quatre et aux gros champignons dans lautre cas, selon un choix lié
au chunk. Cela laisse des volumes disponibles aux chênes noirs. Dans les
biomes `sanctuary:rift_dark_grove` et `sanctuary:rift_bamboo_grove`, lardoise
des abîmes peut aussi fournir le support naturel des sols et bosquets
inférieurs. Son admissibilité est vérifiée au-dessus de chaque pied : seules
ces deux variantes humides autorisent ce support.
### Matières selon la profondeur
La règle `sanctuary:rift_island` ne change que la matière de blocs déjà solides.
Ses nappes utilisent un bruit 3D, avec un bruit distinct pour faire varier les
transitions de profondeur.
| Domaine | Matières |
| --- | --- |
| Masses supérieures | Pierre, granite, andésite, diorite ; sols enherbés hors affleurements |
| Intérieur des bosquets humides | Tuf, cobblestone, cobblestone moussue, boue compactée |
| Masses profondes | Ardoise des abîmes, roche noire, basalte |
| Poches soufrées | Soufre et cinabre ordinaires sur les masses existantes |
Les strates humides se mêlent aux matières hautes entre Y=192 et Y=224 dans
leurs biomes ; la transition vers les roches profondes s’étend de Y=136 à Y=168.
La profondeur sert de critère géologique : ces blocs ne signifient pas quune
source de lave se trouve forcément à proximité. Aucun bassin, spike, source
vanilla ou bloc de soufre puissant du biome Sulfur Caves nest ajouté.
Les anciens petits dépôts vanilla de granite, andésite, diorite et tuf sont
remplacés par ces nappes dans les seuls biomes `rift_*`. Les anciennes données
de biomes et leurs features ne sont pas modifiées.
### Minerais
Les features `rift_ore_*` ciblent des tags Sanctuary locaux : les pierres hautes
et humides produisent les minerais ordinaires ; ardoise des abîmes, roche noire
et basalte produisent leurs variantes dardoise. Les tags vanilla ne sont pas
élargis globalement. Le soufre et le cinabre restent des matières distinctes.
| Minerai | Taille du filon configurée | Essais principaux par chunk | Altitudes principales |
| --- | ---: | --- | --- |
| Charbon | 9 | 8 | Y=96..304 |
| Fer | 7 | 4 | Y=88..280 |
| Cuivre | 7 | 3 | Y=96..280 |
| Or | 5 | 2 | Y=88..224 |
| Redstone | 5 | 2 | Y=88..216 |
| Lapis | 4 | 1 | Y=104..240 |
| Diamant | 4 | Un essai une fois sur deux | Y=80..208 |
| Émeraude | 3 | 1 | Y=104..224 |
Les hauteurs suivent une distribution en trapèze. Charbon, fer et cuivre
reçoivent aussi respectivement 4, 2 et 2 essais sur roche supérieure exposée,
et autant de recherches de corniche depuis lair entre Y=64 et Y=288. Un essai
peut ne produire aucun bloc. Les tailles configurées ne sont ni des quantités
garanties par filon ni des quotas par île. Lexposition à lair est autorisée
pour ces trois minerais et l’émeraude ; une partie des candidats exposés est
encore écartée pour les autres minerais. Les stocks devront être relevés après
génération, avec leur emprise explicite.
### Eaux et lave
`RiftHydrology` cherche des bassins plus grands et une longue liaison calme
sur la vraie densité fissurée. Le critère de cet incrément est un chemin deau
continu dau moins 140 blocs entre deux bassins au même niveau, alimenté par
une source rocheuse et sa cascade entrante. Il ne sagit pas dune rivière
descendant continuellement en altitude. La recherche parcourt huit directions
et pondère les trajets selon le relief et un bruit ; le parcours retenu est
lissé sur une échelle de 16 à 32 blocs, puis arrondi avant sa conversion en
blocs. Le lit varie entre environ 5 et 7 blocs de largeur, hors élargissement
des bassins. Le chemin et ses marges sont à nouveau vérifiés sur la roche
après ce lissage : une courbe ne peut pas servir à franchir un trou.
La roche doit soutenir le fond et les berges. Lincision du lit reste limitée
à 16 blocs. Les berges de rivière peuvent retirer jusqu’à 12 blocs pour
rejoindre leau par paliers progressifs ; les autres rives conservent leur
limite de 2 blocs. Les dépôts de 3 à 5 couches ont toujours besoin de supports
naturels. Aucun remblai ne franchit une faille ou un trou. Si aucun parcours
compatible nest retenu, le générateur garde les bassins et sources qui
conviennent au relief.
Le calcul initial du plan reste coûteux : les essais finaux sur ce poste
mesurent 80,5 secondes pour la graine `0`, 50,7 pour `42` et 59,7 pour
`8675309`, hors génération des chunks. Le résultat est mis en cache par état
aléatoire du monde ; il nest pas recalculé pour chaque chunk. Loptimisation
de ce premier calcul reste un travail ultérieur.
La recherche de lave profonde vise une à deux petites sources entre Y=40 et
Y=160, en complément de la niche couverte accessible. Cette poche de 18 blocs
sources est recherchée dabord sur une corniche intérieure entre Y=64 et
Y=160. Si aucun site profond ne réunit les conditions de support, de voûte
et daccès, la recherche reprend sur les corniches plus hautes, jusqu’à Y=300.
Il ny a pas de poche créée de force lorsque les deux recherches échouent.
Les sources supplémentaires laissent Minecraft former leurs coulées par ses
ticks, sans colonne préremplie. Leau, les supports et les marges de végétation doivent être
contrôlés après décoration et simulation. La finition des bouches doit rester
limitée à la première génération du chunk, sans effacer un aménagement joueur
lors dun rechargement.
**Validation du 9 septembre 2026 :** le build complet réussit et les contrôles
moteur passent sur les trois graines de référence. Les failles, les bassins terminaux,
les liaisons de rivière, les champignons et les fluides après 1 800 ticks sont
documentés avec les relevés de ressources dans [Validation](testing.md).
Ces échantillons ne garantissent pas la présence de chaque ressource sur
toutes les graines. Les rapports intermédiaires ne servent pas de preuve
pour la version finale ; aucun monde personnel nest utilisé par ces tests.
## Sculpture du pourtour — conservée depuis la génération v2
La version **0.1.0-alpha.2** retire deux contraintes de la génération v1
(`0.1.0-alpha.1`) : le noyau central qui remplissait les creux du bruit naturel,
et la découpe radiale qui pouvait exposer une tranche verticale à toutes les
altitudes. Les identifiants `sanctuary:*` du preset et de la fonction restent
stables. Il s'agit d'une évolution du terrain, pas d'une migration de sauvegarde.
Trois passes composent désormais la densité finale, après l'interpolation du
champ historique :
1. Un bruit horizontal à grande échelle déforme le contour. Dans la bande
extérieure, large de 128 blocs avant déformation, une érosion progressive
(`2 × t⁴`) augmente le seuil nécessaire pour conserver de la roche. Une
érosion supplémentaire, quadratique selon la hauteur et nulle à l'intérieur,
fait reculer les faces hautes et basses même lorsque le bruit naturel est
saturé dans une grande masse pleine. Elle arrondit le pourtour sans ajouter
de volume au centre.
2. Un bruit **3D**, échantillonné à la hauteur réelle, déplace ce contour et
creuse des renfoncements plus larges. Le bord peut ainsi changer de position
avec l'altitude au lieu de prolonger une ligne verticale.
3. Un second bruit **3D**, plus fin, ajoute de petites irrégularités. Ces deux
passes s'atténuent progressivement vers l'intérieur ; elles ne remplissent
jamais un trou du terrain initial.
Les bruits `island_edge`, `island_sculpt` et `island_detail` sont tous initialisés
avec la seed du monde. Ils utilisent respectivement les octaves de base
`-7`, `-5` et `-3`. Les nouvelles entrées `sculpt` et `detail` du codec sont
optionnelles pour garder les anciennes définitions JSON lisibles ; leur absence
ne rétablit pas le noyau de la génération v1.
L'érosion est toujours soustraite à la densité bornée du terrain. Une densité
nulle ou négative ne peut donc jamais devenir solide. Même avec un terrain
d'entrée maximalement positif, elle est négative dès le rayon 280, avant la
limite de sécurité 288. Deux transitions verticales douces protègent aussi les
bornes de hauteur, sans découper de dalle à `Y=0` ou `Y=256`.
Ces formules sont toujours utilisées par les sauvegardes de la génération v2.
La génération v3 conserve la sculpture latérale dans le repère de l'île relevée.
## Île relevée et dessous irrégulier — génération v3
La version **0.1.0-alpha.3** crée les nouveaux mondes avec les paramètres et le
type de dimension `sanctuary:sanctuary_384` : `min_y=0`, `height=384` et
`logical_height=384`. Le nom du preset sélectionné reste `sanctuary:sanctuary`.
Le gain de hauteur n'agrandit pas le rayon horizontal et n'active aucun continent.
Le bruit naturel et les bruits de sculpture sont échantillonnés à `Y64`.
Le profil supérieur et les bords approuvés en alpha.2 sont ainsi relevés sans
changer de seed ou étirer l'île. Sur les graines de régression, les sommets
proches de `Y=184` se retrouvent vers `Y=248`, avec de l'espace libre au-dessus.
Sous l'île, déplacer l'ancien gradient inférieur aurait seulement déplacé son
plan de coupe. `floating_archipelago_384` conserve donc le bruit naturel sans
ce gradient inférieur. Une nouvelle érosion travaille sur une transition de
**72 blocs**, dont l'altitude varie avec le bruit 3D `island_underside` et les
deux bruits de sculpture existants. Elle laisse les lobes naturels se poursuivre
vers le bas, puis les amincit à différentes hauteurs ; elle n'ajoute ni socle ni
surface garantie. La transition n'affecte plus le terrain à partir de `Y=144`.
Une marge vide protège le bas de la dimension : aucun plancher rocheux ne doit
apparaître dans `Y=0..15`. À partir de lalpha.5, seules les eaux descendantes de
sources explicitement déclarées peuvent traverser cette marge.
Les champs optionnels du codec `vertical_offset`, `height` et `underside` valent
respectivement `0`, `256` et un bruit nul par défaut. Seule la nouvelle fonction
`sanctuary:final_density_384` active l'offset `64`, la hauteur `384` et le bruit du
dessous. Les anciennes fonctions `final_density`, `floating_archipelago` et les
paramètres `sanctuary:sanctuary` restent inchangés : les sauvegardes alpha.2 qui
les référencent gardent leur hauteur de génération et leur ancien terrain.
**Créer un nouveau monde pour tester l'île relevée.** L'actualisation du pack ne
convertit pas les sauvegardes existantes ; aucun chunk n'est supprimé, déplacé
ou régénéré. Il n'existe pas de migration automatique des anciens mondes vers la
dimension de 384 blocs. Changer manuellement leurs références de générateur ou
de dimension sort de ce contrat de compatibilité.
## Hydrologie de surface — génération v4
La version **0.1.0-alpha.4** conserve la densité, la hauteur et le ciel de
lalpha.3. Les nouveaux mondes sélectionnent les paramètres
`sanctuary:sanctuary_hydrology` et le biome `sanctuary:starter_forest_hydrology`.
Le type de dimension reste `sanctuary:sanctuary_384`. Les anciens paramètres et
le biome `sanctuary:starter_forest` restent disponibles et inchangés : ils
nactivent pas cette hydrologie dans les sauvegardes antérieures.
Un plan calculé depuis le relief et la graine recherche des emplacements de
surface pour des étangs, des petits lacs et un premier cours deau calme.
Le lit peut être légèrement creusé dans la roche existante. Avant daccepter
un emplacement, le plan vérifie le fond et les parois en trois dimensions ainsi
que louverture vers le ciel. Un trou profond dans la carte de hauteur ne suffit
pas à constituer un lac. Aucune digue ni masse de roche nest ajoutée pour
boucher une fuite, et aucun bassin souterrain nest rempli.
Les fonds alternent sable, gravier et argile ; les berges basses peuvent recevoir
du sable. Dans ce nouveau biome, les disques de sédiments vanilla et les veines
de gravier sont remplacés par ces dépôts de rive et de fond : une feature
ultérieure ne doit pas transformer leur support en gravier instable. Les
sources de magma sous-marines sont également absentes. Après les arbres et la
végétation, de la canne à sucre peut pousser sur
les rives qui respectent ses règles de placement vanilla. Le nombre de sites,
leur eau et leurs ressources dépendent du terrain : le générateur ne complète
pas une graine pour atteindre un quota économique.
Le plan est indépendant des chunks chargés. Chaque chunk applique uniquement
ses propres colonnes après le terrain et avant la décoration, ce qui permet de
raccorder un même plan deau aux frontières des chunks. Les anciens chunks ne
sont jamais retouchés, et aucun travail hydrologique ne se déclenche au simple
chargement dune sauvegarde.
Cette première version vise de petites eaux retenues et des cours deau calmes
sur les plateaux. Le cours deau est un chenal à niveau constant reliant des
plans deau ; il ne simule pas encore une pente vers laval ou un débit. Les
tracés peuvent passer par les diagonales, mais leur eau reste connectée de
bloc en bloc. Lexcavation est limitée à six blocs, leau à quatre blocs de
profondeur, avec un fond plein sur trois blocs d’épaisseur, dont deux blocs naturels sous
le sédiment. Ce contrat alpha.4 reste celui de ses sauvegardes. Les sources en cascade sont
ajoutées séparément dans la génération v5 ; les grandes rivières en pente, océans,
aquifères, climats multiples et continents restent des incréments distincts.
## Plages, sources et mosaïque tempérée — génération v5
Limplémentation **0.1.0-alpha.5** sélectionne la nouvelle clé de paramètres
`sanctuary:sanctuary_natural` (`SanctuarySpawn.NATURAL_SETTINGS`). Elle conserve
la densité relevée, les 384 blocs de hauteur et le ciel de lalpha.3. La classe
`NaturalHydrology` et son application sont séparées de `SurfaceHydrology` et
`HydrologyRuntime` : le code, les paramètres `sanctuary:sanctuary_hydrology` et
le biome `sanctuary:starter_forest_hydrology` de lalpha.4 restent inchangés.
Les clés alpha.2 et alpha.3 restent également disponibles avec leur comportement
antérieur. **Ces changements concernent uniquement les nouveaux mondes** : aucune
conversion de sauvegarde, régénération de chunk ou expansion nest effectuée.
### Dépôts et eau de surface
Le plan recherche des étangs, de petits lacs et un cours deau calme dans le
relief naturel. Lexcavation maximale passe à **quatre blocs**, pour une eau de
**trois blocs de profondeur** au plus. Les bassins gardent un fond et des parois
naturels pleins ; aucune digue nest ajoutée et aucune chambre souterraine nest
remplie. Le cours deau reste à niveau constant : il ne modélise pas un débit
ni une pente continue vers laval.
Les plages sont des nappes irrégulières qui suivent les faibles variations du
relief autour des plans deau. Elles peuvent s’étendre sur plusieurs blocs,
se rapprocher dune autre poche deau et retrouver progressivement lherbe ou
la pierre. Les matériaux varient entre sable, gravier, pierre et terre enherbée ;
largile peut apparaître dans les fonds. Le traitement dune terrasse sèche
retire au plus **deux blocs** du relief existant.
Chaque dépôt remplace **trois à cinq couches** de terrain déjà plein et garde
**deux couches naturelles de support** en dessous. Ce support permet notamment
au sable et au gravier de rester en place après les mises à jour de gravité.
Les veines de gravier, disques de sédiments et magma sous-marin vanilla ne sont
pas réintroduits dans ces nouveaux biomes. Les autres décorations rocheuses et
les minerais peuvent encore remplacer la pierre ; ils ne remplacent pas les
couches de sable, gravier ou argile. Les rives compatibles peuvent porter de la
canne à sucre après la végétation. Les troncs couchés vanilla peuvent occuper
quelques blocs de la surface dun étang ; les contrôles distinguent cette
décoration de leau restante et vérifient leur fond ou leau sous les troncs,
les sources voisines et la rétention du bassin.
### Sources rocheuses et cascades
Le plan peut retenir jusqu’à **trois sources** dans des niches rocheuses
naturelles, séparées des dépôts modifiés. Une source remplace un seul bloc de
roche, sous un toit, sur un fond et entre trois côtés déjà pleins. Son unique
sortie horizontale est naturellement ouverte sur une chute dau moins huit
blocs. Le générateur ne construit ni pylône, ni corniche, ni tunnel pour obtenir
ce résultat.
Seul le bloc source est généré. Les ticks de fluide de Minecraft forment la
cascade et ses éventuels passages sur des paliers. Ces écoulements peuvent
descendre **jusque dans le vide**, conformément au comportement demandé. Cette
exception concerne les sources déclarées. Le trajet calculé dans la roche nue
est une prévision : les arbres générés ensuite peuvent dévier une chute. Les
diagnostics vérifient donc les connexions réelles de chaque bloc deau vers une
source, dans lemprise des chunks inspectés et de leur halo. Ils échouent si de
leau touche une frontière non inspectée ou si un bassin perd sa coque. Les
déviations par rapport à la prévision restent mesurées dans le rapport. Le
comportement des fluides reste celui de Minecraft, y compris lorsque les joueurs
modifient une rive.
### Petite réserve de lave
`StarterLavaDeposit` recherche au plus une niche de **18 blocs sources** dans
la roche existante, accessible par un passage sec de deux blocs de haut depuis
une corniche naturelle. Le fond garde trois blocs pleins, les parois deux et
la couverture huit ; ces supports sont vérifiés avant les écritures. La niche
reste éloignée des eaux et de leurs parcours. Elle fournit de la lave prélevable
pour les premières productions et un portail du Nether. Si aucun site ne
convient, le plan reste vide : aucun bassin artificiel nest ajouté dans le vide.
Les tests vérifient laccès praticable, la rétention de la lave et labsence
dincendie après simulation.
### Biomes et minerais
Le biome source `sanctuary:temperate_island` utilise deux champs de bruit
initialisés par la seed pour répartir cinq variantes horizontales. Une rive et
la roche sous elle restent dans la même variante :
| Identifiant | Variante |
| --- | --- |
| `sanctuary:temperate_forest` | Forêt dominante |
| `sanctuary:temperate_plains` | Clairières et plaines tempérées |
| `sanctuary:temperate_birch_forest` | Forêt de bouleaux |
| `sanctuary:temperate_flower_forest` | Forêt fleurie |
| `sanctuary:temperate_dappled_forest` | Dappled Forest, peupliers et végétation associée |
Dappled Forest est un biome vanilla introduit dans
[Minecraft 26.3 Snapshot 1](https://www.minecraft.net/en-us/article/minecraft-26-3-snapshot-1).
Cette variante reprend ses données de **26.3-pre-2**, avec une humidité légèrement
relevée pour Sanctuary. Elle najoute ni dépendance externe ni structure de camp.
La palette tempérée ne constitue pas encore le catalogue TerraMix ni le champ
climatique des futurs continents.
Les nouveaux biomes remplacent les filons vanilla de métaux par de petites
features `sanctuary:island_ore_*`, à des altitudes adaptées à l’île relevée :
| Ressource | Taille du filon | Tentatives par chunk | Plage Y |
| --- | --- | --- | --- |
| Charbon | 6 | 2 | 96288 |
| Fer | 4 | 2 | 88248 |
| Cuivre | 4 | 1 | 96248 |
| Or | 4 | 1 | 104224 |
| Redstone | 4 | 1 | 96224 |
| Lapis | 3 | Une tentative, chance 1/2 | 112232 |
| Diamant | 3 | Une tentative, chance 1/4 | 104208 |
Ces paramètres décrivent des tentatives, pas des quantités promises : le filon
doit rencontrer la roche existante, et sa forme dépend du hasard de génération.
La sélection des biomes et des eaux ne cherche aucun stock cible. Un relevé
partiel reste un relevé partiel ; la présence des sept ressources sur une seed
de référence ne garantit pas leur présence sur toutes les seeds.
La validation de lalpha.5 est suivie dans [Validation](testing.md). Ses diagnostics
sont conçus pour inspecter les blocs décorés, les profils des dépôts, les
jointures de chunks, les biomes et les ressources, puis simuler réellement les
fluides dans les chunks des sites. Les cartes et profils PNG montrent des
lectures de blocs, pas un rendu Minecraft. La descente des
cascades est contrôlée après activation effective des chunks qui les simulent.
## Prairies et corniches — génération v6
Lalpha.6 utilise `sanctuary:sanctuary_layered` et le biome source
`sanctuary:layered_island`. Les formes et le ciel restent ceux de la génération
relevée. Les anciennes classes, biomes et règles de matériaux restent disponibles
pour les sauvegardes alpha.2 à alpha.5 ; seul le preset de création choisit v6.
### Une palette qui varie aussi en hauteur
Les cinq variantes partagent leurs teintes dherbe et de feuillage. Les champs
de climat liés à la seed déforment de larges bandes daltitude, autour de Y154
et Y214 : prairies et prairies fleuries sur le dessus, bosquets et corniches
moussues plus bas. Des zones rocheuses traversent ces bandes et remplacent la
couverture de terre par de la pierre sur le relief existant. Les prairies gardent
quelques arbres épars et leur végétation vanilla. Dappled Forest nappartient
plus à cette palette ; son utilisation sur de futurs continents reste à développer.
| Identifiant | Ambiance |
| --- | --- |
| `sanctuary:layered_meadow` | Prairie tempérée |
| `sanctuary:layered_flower_meadow` | Prairie fleurie |
| `sanctuary:layered_lower_grove` | Bosquet inférieur |
| `sanctuary:layered_mossy_terraces` | Corniches moussues |
| `sanctuary:layered_rocky_terraces` | Affleurements rocheux |
`LowerTerraceVegetationFeature` parcourt aussi les sols naturels sous les
surplombs, au moins huit blocs sous une surface supérieure. Elle demande trois
blocs pleins de support et deux blocs libres au-dessus. Elle peut remplacer la
surface existante par de la mousse et planter fougères, fleurs ou petits arbustes
lorsque leurs règles de survie le permettent. Les cellules hydrologiques, les
sources, les parcours deau prévus et les supports de lave sont protégés.
Il ny a ni corniche construite dans lair ni ajout d’éclairage artificiel.
### Bassins et sources de paroi
`LayeredHydrology` conserve les petits bassins et les dépôts épais, avec une
plus grande présence de pierre. Le court `STREAM` à niveau constant de lalpha.5
nest pas repris. Cette version retient uniquement les étangs et les petits
lacs ; elle ne cherche pas de grande rivière. Le parcours traversant avec
source, cascade et bassin reste un ticket distinct, à démontrer sur le relief
Minecraft réel. Aucun chenal de secours nest creusé.
La profondeur reste limitée à trois blocs et lincision à quatre. Le plan
vérifie le fond et les rives avant dappliquer ses écritures, dans les nouveaux
chunks seulement. Le sable, le gravier, largile et la roche suivent les rives.
Des niches de source sont également recherchées dans les strates inférieures,
et pas seulement près de la surface la plus haute. Leurs chutes sont produites
par les ticks de Minecraft à partir dun seul bloc source. Le post-traitement
des nouveaux chunks libère uniquement leur ouverture, déjà vide dans la densité
naturelle, pour quun lichen ou une plante ne bouche pas la source. Les positions
sont marquées dans la file vanilla pendant la génération, puis consommées une
seule fois. Un rechargement ne dégage pas une bouche modifiée par un joueur.
Aucune chute nest préremplie et aucun nouveau passage nest creusé dans la roche.
Les parcours, les écoulements et la végétation réellement observés, ainsi que
les limites du modèle, sont consignés dans [Validation](testing.md).
## Apparition commune
Une injection limitée à la création initiale cherche du sol naturel depuis
l'origine vers l'extérieur, dans toute l'emprise finie de l'île. Elle préfère
une surface stable de 3 × 3 blocs, avec deux blocs libres en hauteur. En
l'absence d'une telle surface, elle retient une colonne de sol praticable ; si
aucun emplacement naturel sûr n'existe, la création signale la seed concernée
plutôt que d'ajouter une plateforme. Elle ne s'applique qu'à l'Overworld
utilisant les paramètres `sanctuary:sanctuary`, `sanctuary:sanctuary_384` ou
`sanctuary:sanctuary_hydrology`, `sanctuary:sanctuary_natural` ou
`sanctuary:sanctuary_layered`.
Elle enregistre le spawn partagé dans la sauvegarde et ne le réinitialise pas
au redémarrage : les modifications administratives de `/setworldspawn` restent
conservées. Les lits et la dispersion habituelle du spawn suivent encore les
règles de Minecraft.
## Adaptation 26.2 → 26.3
Les références historiques sont
`sanctuary/worldgen/density_function/base_3d_noise.json` et
`floating_archipelago.json` dans l'ancien module Sanctuary. L'ancien masque
annulaire n'est pas conservé : après son anneau de vide, il faisait réapparaître
un archipel infini. Les anciennes surcharges de `minecraft:normal`, dimensions
supplémentaires, intégrations TerraMix et injections globales de features ne
font pas partie de ce port.
Minecraft 26.3 a changé l'API de génération : les fonctions de densité compilent
maintenant un `DensitySampler`, leurs opérateurs JSON utilisent
`left` / `right` / `input`, les gradients utilisent `from_coordinate` et les
surfaces passent par le registre `worldgen/material_rule`. Les données de cette
branche suivent ces formats réels ; copier directement les JSON 26.2 ne suffit
pas. Les bruits utilisent également `base_octave`, `octave_count` et
`amplitude_modifiers`. Le seul opérateur Java ajouté, `sanctuary:main_island`,
compose le terrain et les bruits de sculpture, applique le repère vertical
choisi et impose la limite extérieure après interpolation.
## Vérification
```sh
./gradlew :sanctuary:worldgenSmoke
./gradlew :sanctuary:runGameTest
```
Le smoke test vérifie qu'aucun sol n'est ajouté, que l'intérieur conserve le champ
naturel et que l'érosion évolue progressivement sur un profil de terrain contrôlé.
Il vérifie aussi qu'un lobe plein recule d'au moins 30 blocs en haut et en bas
par rapport à son milieu, pour éviter une paroi verticale simplement déplacée.
Il couvre aussi l'influence des deux bruits de sculpture, le vide avant les
bornes de sécurité, et le vide dans les quatre directions même avec un bruit
entièrement positif. Les coordonnées testées incluent les limites de Minecraft
et des entiers Java pour détecter débordements et répétitions involontaires.
Les GameTests chargent le preset réel sur un serveur éphémère, vérifient le
spawn après décoration, puis inspectent des chunks complets à distance dans
les quatre directions. Ils comparent aussi la densité compilée avec deux
instances de la même seed et une seed différente. Cela détecte les références
JSON invalides et les blocs que des features pourraient ajouter après le calcul
de densité. Les injections du serveur de test sont isolées dans
`src/gametest` et ne sont pas distribuées dans le mod.
Les graines de régression des générations v2 et v3 sont **0**, **42** et **8675309**.
Le serveur de test exporte leurs cartes de hauteur et coupes de densité dans
`mods/sanctuary/build/run/gameTest/diagnostics/`. Ces images permettent de
comparer la vraie densité alpha.2, toujours chargée, avec la nouvelle île relevée
dans toute la hauteur `0..383`. Les assertions vérifient la translation du relief
supérieur, la variation des hauteurs du dessous, l'absence de plancher, les
384 blocs de génération et la conservation des anciens paramètres 256.
Ces images ne montrent
pas les arbres ni les matériaux et ne remplacent pas un essai visuel en jeu.
## Contrat du prochain ticket : expansion
Avant de créer des continents, définir une donnée **persistante par monde**
contenant pour chaque région son identifiant, centre, direction, emprise,
seed dérivée, version de générateur et état de déblocage. L'île principale
devient la première région de ce registre ; les nouvelles régions utilisent
des coordonnées absolues, sans cellules périodiques.
L'activation doit être une action du serveur, reproductible et sauvegardée,
conditionnée ensuite par les contributions collectives. Elle doit tenir compte
du fait qu'un joueur peut déjà avoir chargé ou construit dans le vide : un
chunk existant ne se régénère pas simplement parce que la liste des continents
change. Le ticket doit choisir une réservation d'espace ou une matérialisation
contrôlée qui protège les constructions et ne remplace jamais aveuglément des
chunks sauvegardés.
La version de génération et les emprises doivent être gelées avant les premières
sauvegardes destinées à durer. Ce prototype ne promet pas encore de migration
automatique des mondes entre deux versions de terrain.
## Forêts, corniches humides et affleurements — génération v7
Lalpha.7 crée les nouveaux mondes avec `sanctuary:sanctuary_woodland` et
`sanctuary:woodland_island`. La densité `sanctuary:final_density_384`, les
formes rocheuses, la hauteur et le ciel restent identiques. Les plans des
bassins, sources et petites niches de lave reprennent les algorithmes alpha.6.
Les anciens paramètres, biomes et features sont conservés ; cette livraison
ne modifie pas les mondes existants.
La palette comporte huit biomes :
| Identifiant | Rôle |
| --- | --- |
| `sanctuary:woodland_oak_forest` | Forêt de chênes dominante, bouleaux secondaires |
| `sanctuary:woodland_birch_forest` | Forêt de bouleaux complémentaire |
| `sanctuary:woodland_clearing` | Clairière fleurie |
| `sanctuary:woodland_dry_woodland` | Bois sec plus clairsemé |
| `sanctuary:woodland_rocky_heath` | Masses rocheuses exposées |
| `sanctuary:woodland_dark_grove` | Corniches humides à chênes noirs et champignons |
| `sanctuary:woodland_bamboo_grove` | Rare intérieur à jungle et bambou |
| `sanctuary:woodland_sulfur_depths` | Rare poche profonde de soufre sur roche existante |
Une altitude élevée ne transforme plus automatiquement une forêt en prairie
ou en roche. Les forêts utilisent les véritables arbres vanilla avec leurs
conditions de croissance ; les affleurements sont des patches horizontaux
et des variations de matériau sur le terrain existant.
`woodland_groves` place de vrais chênes noirs sur des sols naturels de 2×2,
avec trois blocs de support et une place suffisante pour le tronc et la
canopée sous le plafond. Des champignons accompagnent les sols de podzol et
de mycélium, avec quelques touches de mousse. La jungle et le bambou restent
limités aux rares poches qui leur conviennent.
Un seul emplacement remarquable est recherché par graine, avec une essence
choisie parmi cerisier (favorisé), épicéa, jungle, acacia, palétuvier et chêne
pâle. Il ne produit pas de terrain : si le site ou les conditions de larbre
vanilla ne conviennent pas, il ne pousse pas. Ce nest pas une garantie de
chaque essence sur chaque île. Aucun cœur de Creaking nest ajouté par larbre
pâle utilisé ici.
Les affleurements mêlent des nappes cohérentes de pierre, andésite, diorite et
granite. Les berges conservent leur excavation limitée et leurs dépôts de
3 à 5 blocs, avec des patches de sable, gravier, argile et roche. Les plantations de `woodland_groves` évitent les sources, leurs exutoires
et les niches de lave. Les décorations vanilla conservent leurs placements ;
le traitement unique après génération peut rouvrir la seule bouche de source
déclarée si une plante lobstrue. Le soufre
reste une matière rare des profondeurs ; les grands bassins et sources
vanilla du biome Sulfur Caves ne sont pas activés.
Les anciens petits filons souterrains de charbon, fer et cuivre étaient peu
susceptibles datteindre les surfaces hautes ; leur réglage écartait aussi une
partie des blocs voisins de lair. Les nouvelles features `woodland_ore_*`
utilisent des tailles vanilla limitées (`size=6` pour le charbon, `size=5`
pour fer/cuivre), sans garantir ce nombre de blocs produits par filon,
autorisent cette exposition et ajoutent des essais aléatoires sur les roches
de surface et les corniches rencontrées depuis lair. Elles remplacent
seulement les roches naturelles reconnues par Minecraft, dont andésite,
diorite et granite. Les autres minerais et les anciens générateurs gardent
leurs réglages ; aucune quantité cible nest réinjectée après mesure.
La version et les graines de validation sont consignées dans [Validation](testing.md).