11 KiB
Alpha.12 — laboratoire d’expansion
Ticket local WG-13, branche codex/expansion-lab. Contrat du laboratoire et guide
d’essai. Cette livraison reste une alpha ; le canal distribué est suivi séparément
dans Distribution.
Décisions de conception
La direction géographique et le climat deviennent deux choix distincts. La boussole nord froid / sud chaud / ouest sec / est humide reste un raccourci facultatif. Une île peut prolonger le climat de son parent ou ouvrir une branche vers un autre climat. Les parents et les coordonnées forment un graphe persistant, permettant plusieurs couronnes autour de Sanctuary. Les recherches, leurs coûts, les boîtes aux lettres et les boîtes de dépôt sont planifiés pour plus tard.
Cette alpha fournit des commandes opérateur : créer, suivre, lister et visiter les expansions. Les tailles nominales des nouvelles îles sont 64, 128, 256 et 512 blocs. Les reliefs de laboratoire s’appliquent aussi à l’île initiale, dans un nouveau preset expérimental. Les structures vanilla compatibles sont admises après contrôle de leur emprise et de leur support. Une absence reste possible.
L’alpha sert à éprouver les outils et les paysages. Le passage en bêta se fera après définition du périmètre de la vision et de la progression jouable ; ce numéro ne désigne pas une progression collective déjà livrée.
Contrat de sauvegarde et d’ouverture v1
- Activation exclusivement dans un nouveau monde du laboratoire alpha.12. Les anciens presets, leurs paramètres, leurs chunks et leurs sauvegardes ne sont pas convertis. Il n’existe pas de commande de migration ou de régénération.
- Un journal serveur propre au monde enregistre graine, version, origine, identifiant, parent, direction, climat, relief, diamètre, centre et statut. Les paramètres d’une île sont immuables après réservation.
- Toute la réservation inclut terrain, décorations et halo moteur. Les régions déjà présentes sur disque, chargées ou en cours de déchargement sont refusées, même si leurs blocs sont tous vides. Une erreur de lecture interdit l’ouverture.
- Le journal est écrit atomiquement et relu avant de publier le nouveau plan au générateur. Un journal existant absent ou corrompu n’est jamais remis à zéro.
- La génération travaille uniquement dans la région nouvelle. Les chunks voisins nécessaires au moteur restent dans son halo. Aucun bloc d’une ancienne région n’est remplacé. Les références et le placement des structures utilisent le moteur.
- Une réservation interrompue conserve son identité et sa graine. La préparation peut reprendre, sans double île ni nouveau tirage, jusqu’au statut prêt.
- Les commandes exigent la permission opérateur. Être en créatif seul ne confère aucun droit sur le serveur. Une opération ne téléporte personne implicitement.
- Le refuge Void et le déplacement collectif des joueurs restent un système distinct à concevoir. Ils ne servent pas de mécanisme de protection des chunks.
Le halo impose une distance supplémentaire dans cette première version. Le placer au plus proche ne permet pas de réutiliser silencieusement du vide déjà généré. Les points d’origine enregistrés ne suivent pas les changements de lit ou de spawn.
Commandes et palette
Créer un nouveau monde, type Sanctuary — Laboratoire, avec les commandes
activées. Pour un serveur neuf, utiliser level-type=sanctuary:expansion_lab
et un nouveau level-name. La graine 42 fournit un cas reproductible observé
avec un camp abandonné ; aucune structure n’est garantie sur chaque graine.
/sanctuary expansion quick north autumn 128 peaks
/sanctuary expansion list
/sanctuary expansion visit island_1
/sanctuary expansion create oasis island_1 east arid 64 natural
/sanctuary expansion preview glacier sanctuary south glacial 256 canyon
quick part toujours de Sanctuary et attribue un identifiant island_N.
create <id> <parent> <direction> <climate> <diameter> <relief> [distance] ouvre une branche
nommée depuis n’importe quelle île prête. preview emploie les mêmes paramètres ;
il propose des coordonnées mais ne valide ni l’occupation des chunks ni le sol.
Répéter un create identique rend la même réservation ; un autre profil sous
le même identifiant est refusé. resume <id> reprend une préparation interrompue.
Après une erreur du journal, il faut rétablir le stockage puis recharger le monde.
Depuis l’alpha.12.1, quick, create et preview acceptent une distance
minimale facultative à la fin, de 0 à 100 000 blocs. Elle mesure la distance
entre les centres du parent et de l’enfant, y compris en diagonale. L’alignement
des chunks et les marges du terrain peuvent éloigner légèrement le résultat.
Une valeur de 0, ou son omission, laisse le placement automatique.
/sanctuary expansion quick north autumn 128 peaks 2048
/sanctuary expansion create desert sanctuary east arid 128 natural 4096
/sanctuary expansion preview glacier sanctuary northeast glacial 256 canyon 2048
Si une zone est déjà générée, create et quick essaient plus loin dans la
même direction, sur 32 positions maximum avec un budget total de lecture de
30 secondes. Le climat, le relief et la graine restent ceux de la demande.
preview propose seulement le premier emplacement géométrique ; le résultat
réel peut être plus loin. Les erreurs de lecture interrompent la recherche.
Les anciens appels restent valides. Un identifiant déjà créé garde sa position ;
demander sous le même nom une distance supérieure à sa distance réelle est refusé.
Cette correction utilise le même journal v1 et les mêmes descripteurs de génération 12 : le monde laboratoire alpha.12 actuel peut être conservé. Aucun ancien chunk n’est régénéré ; la recherche réserve uniquement une nouvelle zone.
| Profil de commande | Surface recherchée |
|---|---|
temperate |
Chênes, bouleaux, clairières et fleurs |
boreal |
Taïga, bosquets et neige en hauteur |
glacial |
Plaines enneigées, pics gelés et pointes de glace |
cold_humid |
Vieilles taïgas et bosquets froids |
humid |
Forêt sombre, marécages et Pale Garden ponctuel |
tropical |
Jungle, bambous et mangrove basse |
warm |
Savane et plateaux |
arid |
Désert, badlands et cheminées érodées |
dry |
Prairies exposées et reliefs pierreux |
cold_dry |
Neige, gravier et sommets gelés |
autumn |
Dappled Forest, prairies et bouleaux ponctuels |
cherry |
Cerisiers, prairies et bosquets en hauteur |
La sélection dépend de la graine, de l’altitude et de variations locales ; une
petite île n’affiche pas nécessairement tous les biomes de son profil. Des poches
luxuriantes, à spéléothèmes ou soufrées diversifient les étages inférieurs.
Les reliefs natural, peaks, canyon et volcano sont indépendants du climat.
Le volcan déforme et creuse la matière existante ; il ne garantit pas un cône
plein ni un lac de lave lorsque la géométrie centrale est ajourée.
Les valeurs par défaut de quick suivent la boussole décrite dans
Expansion, avec diamètre 128 et relief naturel. Les directions
acceptées sont north, northeast, east, southeast, south, southwest,
west, northwest. L’autocomplétion fournit les paramètres disponibles.
Portée technique et limites
Le codec sanctuary:expansion_lab enregistre le générateur ; le journal conserve
les descripteurs de génération 12. Chaque île emploie sa propre graine dérivée
de la graine du monde et de son identifiant. Changer d’identifiant change donc
le tirage. Les instances de bruit sont propres aux îles, y compris après reload.
Les 34 biomes vanilla sont déclarés avant la première expansion.
La densité flottante existante sert de base. Le laboratoire ajoute les transformations des reliefs hauts et utilise les matériaux et décorations natifs. Ses carvers vanilla sont désactivés pour conserver les supports prospectés. Les grandes rivières et terrasses hydrologiques alpha.11 ne sont pas transférées dans ce prototype : les anciens presets les conservent. Le laboratoire essaie seulement de petites sources facultatives sur support rocheux fermé.
Les structures autorisées sont les villages (diamètre au moins 256), pyramides
du désert et de jungle, cabanes de marais et camps abandonnés. Les starts natifs
sont acceptés après vérification de leur emprise et de leurs fondations ; le
moteur place les pièces, références et butins. Leur grille de sélection diffère
de celle de /locate vanilla : cette commande n’est pas un outil fiable pour
les retrouver dans le laboratoire. La preuve actuelle porte sur un camp ; elle
ne valide pas visuellement chaque type de village ou de temple.
La réservation ajoute 32 blocs de décoration et 176 blocs de halo moteur autour de l’enveloppe de terrain. Les petites îles sont donc encore assez éloignées : le test de diamètre 64 place une première île à 800 blocs du centre de Sanctuary, puis une branche à 544 blocs de son parent. Un emplacement déjà exploré est écarté ; depuis l’alpha.12.1, la recherche continue plus loin sans réécrire ce vide. Il existe une limite de 64 régions, origine comprise, et de ±100 000 blocs pour leurs centres. La vérification initiale d’occupation est synchrone et peut suspendre brièvement le serveur pendant les lectures disque ; la préparation suivante avance chunk par chunk.
Les bateaux volants, montgolfières, panthéons, îles uniques en béton coloré, océans coralliens, recherches, coûts et boîtes de dépôt restent dans la vision. Aucun command block, transfert collectif au Void ou reset global n’est nécessaire pour utiliser ces commandes.
Observations reproductibles
Sur la graine 42, le scénario moteur a ouvert une île tropicale de 64 blocs au nord, puis une île aride de 64 blocs à l’est de celle-ci. Chaque préparation a atteint 100 chunks FULL. Les biomes sauvegardés, les points d’arrivée sur sol réel, les permissions du dispatcher, le refus des doublons incohérents, la conservation d’un bloc témoin sur Sanctuary et le refus du vide déjà chargé ont été vérifiés. Un camp abandonné possède un tonneau placé avec sa table de butin vanilla. Sur la graine 0, ces expansions fonctionnent mais aucun des 11 sites de structure candidats n’a passé les conditions de terrain ; le test exigeant une preuve de butin a donc échoué sur cette graine.
Un second processus Java a rouvert le monde de développement de graine 42 et retrouvé les trois régions prêtes, le bloc d’or écrit avant l’arrêt, les colonnes de blocs, biomes, densités et le tonneau. Le codec sauvegardé a aussi été décodé. Le framework GameTest reconstruit ses réglages depuis le preset : ce contrôle ne remplace pas un essai du parcours normal de chargement dans le client. La reprise d’un journal réservé est contrôlée séparément par le smoke ; un crash forcé en pleine génération, les téléportations de vrais joueurs et la charge multijoueur ne sont pas simulés.
Les smokes parcourent cinq graines, les quatre tailles et les quatre reliefs : transformation verticale monotone, dessous de l’origine conservé, canyon retirant de la matière et couronne volcanique. Ce sont des contrôles géométriques ; les profils 128/256/512 et les quatre reliefs demandent encore une appréciation visuelle en jeu. Voir Validation pour les commandes et preuves.