Files
2026-09-10 11:52:24 +02:00

8.6 KiB
Raw Permalink Blame History

Alpha.22 — placement sélectif

Ticket WG-25, branche codex/placement-selectif-alpha22. Minecraft 26.3-pre-2, Fabric Loader 0.19.5, Fabric API 0.160.0+26.3 et Java25, sans changement de dépendances.

Contrat

Les bâtiments de surface redeviennent sélectifs : une ville peut être absente si aucun emplacement nest adéquat. Deux éléments de base sont prioritaires : la grande traversée souterraine et la salle dexpansion, même sans ville. Leurs emplacements sont réservés avant les petits réseaux et le catalogue expérimental. Une recherche bornée ne prouve pas quaucun autre emplacement possible nexiste dans toute l’île.

  • Ville : aucune réserve artificielle de secours, aucun pilier de rattrapage, terrassement/remblai limité à deux blocs par colonne. Les fondations sont entièrement recertifiées dans la roche. Les quartiers supplémentaires exigent un chemin complet vers les quartiers retenus. Au plus trois propositions dans un budget partagé de20 000 colonnes et1 120 000 contrôles de volume.
  • Infrastructures : relief maximal de quatre blocs sur lemprise17×17, coupe et remblai limités à deux blocs, deux couches de roche intacte sous chaque colonne de fondation, sans piliers de secours. Jusqu’à24 candidats par famille, avec les mêmes plafonds globaux de16 000 colonnes et800 000 sondages.
  • Chemins patrimoniaux : coupe/remblai limité à un bloc, accès indépendant et raccord complet requis pour publier une liaison.
  • Traversée : conserve le génie civil21, avec deux accès réels, une chaussée de cinq blocs et deux trottoirs. Les piliers sont bornés à16 blocs ; les travées sans grille complète sont limitées à34 blocs et reposent sur les modules adjacents. La recherche22 intervient avant les structures facultatives pour leur réserver lemprise. Si les lignes droites sont refusées, une seconde passe cherche des accès différents et des détours. Chaque passe est limitée à 12 000 colonnes et3 millions de sondages (24 000 et6 millions au total au plus). Ses parois peuvent traverser des cavités existantes sans écraser les volumes deau et de lave protégés.
  • Salle : recherche autonome dun accès de surface et dune salle25×25, sans faux quartier ni socle de ville. Une salle déjà présente sous une ville évite un doublon. Les égouts et annexes peuvent accompagner ce lieu indépendant.

Les palettes, les plans intérieurs et les petits filons minables restent ceux de21. Les anciens petits réseaux expérimentaux17 et les sous-sols des villes gardent leur géométrie ; leurs protections restent respectées. Le nouveau principe narratif est documenté dans la vision et laudit, sans activer de système de progression.

Sauvegardes

Le seul preset public utilise désormais sanctuary:island_v22. Le preset caché sanctuary_v21 est la copie de lancien preset public. Les anciens codecs, planificateurs et rendus restent disponibles. Les pièces21 sont réutilisées avec leur format existant ; les nouveaux coudes possèdent une pièce22 distincte pour fermer leurs murs sans modifier les jonctions21 sauvegardées. La salle indépendante possède un type de structure22 et réutilise les pièces souterraines20. Le journal identifie la génération22 et refuse une lecture croisée avec21. Aucun monde personnel nest ouvert, converti ou régénéré.

Les nouvelles règles nécessitent un nouveau monde Sanctuary. Petit512, Moyen724 par défaut et Grand1024 restent proposés. Loption Structures expérimentales reste enregistrée à la création ; en22 elle retire le catalogue facultatif, tandis que la traversée et la salle restent des éléments de base. Le commutateur Minecraft général des structures demeure respecté.

Témoin natif Moyen, graine0

La création et la réouverture dans deux JVM distinctes passent. La ville est refusée ; la traversée comporte23 modules, dont deux accès et une salle de maintenance. Son axe s’étend sur340 blocs. Les accès sont -170 253 -100 et 170 254 -100. Le hall dexpansion indépendant se rejoint par la trappe 2 252 0 ; son réseau comprend laccès, la salle, deux passages et un égout. La piscine est une annexe conditionnelle, absente sur ce témoin.

Les14 bâtiments patrimoniaux trouvent un terrain adapté ; sept liaisons sont retenues. Les115 chunks de lemprise sont générés en statut FULL. Les plans, pièces natives et une modification témoin persistent après réouverture. Le contrôle natif de circulation vérifie la vraie trappe, les échelles soutenues, les ouvertures et le trajet jusquau socle central. Aucun déplacement de joueur ou chargement dun monde personnel na été utilisé pour ces essais.

Vérifications complémentaires

**Petit512, graine42 :**17 modules, dont un coude sauvegardé avec sa pièce22, et une salle indépendante. Les anciens alignements droits sont refusés ; le repli trouve une paire daccès naturels et conserve une chaussée continue. Les portiques sont -68 250 -93 et 68 250 43, la trappe du hall 43 244 -10. La marche native relie les sorties en564 déplacements et atteint53 points de contrôle. Huit bâtiments patrimoniaux et six liaisons sont admis ; aucune ville nest forcée. Les88 chunks de lemprise sont vérifiés en statut FULL.

Grand1024, graine42 : un quartier naturel est admis avec son réseau de sous-sols : salle dexpansion, piscine, égout et parking. Aucun hall autonome supplémentaire nest créé. La traversée comporte31 modules et s’étend sur476 blocs ; portiques -272 249 -8 et 204 250 -8. La marche native les relie en740 déplacements et atteint98 points de contrôle. Quatorze bâtiments patrimoniaux et huit liaisons sont admis. Les179 chunks de lemprise sont vérifiés en statut FULL ; la salle et ses17 ouvertures sont accessibles.

Les tests purs des trois tailles passent sur des terrains plats adaptés ; falaises, eau/protections, vides et appuis insuffisants sont refusés pour les bâtiments. Le hall autonome et ses annexes sont vérifiés sans fixture de ville. Les suites historiques restent actives. Avec loption expérimentale désactivée, le témoin Moyen conserve ses23 modules de traversée et sa salle indépendante, sans bâtiments patrimoniaux ni petits réseaux expérimentaux. La marche native relie les deux sorties en548 déplacements et atteint74 points de contrôle ; les échelles et laccès au hall restent praticables.

Les créations et réouvertures de génération21 sont identiques aux rapports de la release21, hors identifiants de processus et dossier de test. Les391 fichiers de production historiques qui ne nécessitent pas de raccord22 restent identiques octet pour octet ; le preset caché21 est la copie exacte du précédent preset public. Les masques sont vérifiés à lintérieur et hors des structures.

check build assemblePack passe :75 tâches, dont les huit GameTests généraux. Le JAR, lindex packwiz, le MRpack et le ZIP Prism sont vérifiés. Aucun code de test nest embarqué dans le JAR. SHA-256 du JAR :

10d7ef32ac2e81a977ea4854503bafa29e0bc10929984b76df01d6f5f61f9056

SHA-256 du MRpack :

0b553fcdd8b6a2ec26f72059e428d2cc0ce526f36ef8580dd3e50c1dfa40ec78

Les reçus de publication et de synchronisation sont suivis dans la distribution.

Ces témoins vérifient les trois tailles, avec et sans ville ; ils ne constituent pas une preuve de présence pour toutes les graines. La recherche reste bornée et refuse un volume protégé ou insuffisamment porté. Aucun essai visuel client ou essai Windows natif nest revendiqué.

Reproduire dans le dossier de développement

Avec Java25, création du témoin Moyen puis réouverture du même monde de test :

./gradlew :sanctuary:runGameTest -PsanctuarySelective22Tests=true -PsanctuaryDensityMaps=false
./gradlew :sanctuary:runGameTest -PsanctuarySelective22Tests=true -PsanctuaryDensityMaps=false -PsanctuaryExpansionReload=true

Pour une nouvelle création Petit ou Grand, ajouter -PsanctuaryTestSeed=42 et -PsanctuaryTestDiameter=512 ou 1024. Le cas OFF utilise -PsanctuaryExperimentalStructures=false. Chaque réouverture doit suivre la création correspondante, avec les mêmes paramètres. Les rapports sont dans mods/sanctuary/build/run/gameTest/diagnostics/selective22-<graine>-<diamètre>/.

Le témoin historique utilise -PsanctuaryHeritage21Tests=true, puis le même drapeau avec -PsanctuaryExpansionReload=true. La vérification de livraison reste ./gradlew check build assemblePack. Exécuter ces JVM séquentiellement.