Files
sanctuary-beta/README.md
T
2026-09-09 16:40:26 +02:00

24 KiB
Raw Blame History

Sanctuary

Sanctuary est une extension gratuite de Minecraft qui transforme le jeu en un monde flottant d'exploration, de production et de progression collective. Les joueurs commencent ensemble sur Sanctuary Island et construisent les infrastructures qui permettront progressivement d'ouvrir de nouveaux continents.

Sanctuary is a free expansion of Minecraft that reshapes the game around a floating world. Players begin together on Sanctuary Island, isolated in the void. By exploring, building infrastructure and producing resources, they progressively unlock new floating continents, each with its own geography. Rather than a linear campaign, the server itself becomes a world that grows through the action of its players.

Ce dépôt démarre la nouvelle base Fabric. La vision complète conserve les intentions ; le backlog suit les tickets. Les systèmes d’économie, de progression collective et les dimensions décrits dans la vision ne sont pas encore implémentés. Lalpha.14 est publiée : Lost City ajoute des quartiers en ruine au monde flottant. Le canal packwiz et la même instance Prism Mac sont à jour ; voir Distribution.

Alpha.15 — ville compacte et réseaux

Les bâtiments de Lost City reçoivent des plans intérieurs détaillés : pièces, portes, vestibules, couloirs, escaliers, chambres, cuisines et salles deau. Les égouts relient des salles et équipements souterrains, avec garages, pool rooms et accès depuis la surface. Les bâtiments se regroupent en une petite ville compacte avec rues, carrefours et entrées reliés. Les ponts et viaducs prolongent le réseau ; le terrain est dégagé dans lemprise urbaine. Une grande salle souterraine prépare la future machine dexpansion.

Le biome Lost City est conservé car il pilote réellement les biomes urbains et leurs apparitions de zombies vanilla. La nouvelle génération 15 demande un nouveau monde Sanctuary ; les mondes 12/13/14 gardent leur génération. Les tailles et le bouton natif Personnaliser restent identiques. Le protocole alpha.15 consigne les preuves et les limites. Les tests de création et de réouverture passent, ainsi que check build assemblePack ; la livraison packwiz est en préparation.

Alpha.14 — Lost City

Lost City est un biome de quartiers contemporains abandonnés, composé par du code Sanctuary original. Des poches urbaines peuvent apparaître sur l’île de départ ; le profil dexpansion lost_city permet den rechercher dans les nouveaux continents. Le relief et ses fondations décident des emplacements : un quartier ou un type de bâtiment nest pas garanti sur chaque île.

Les 17 types comprennent rues, ponts, quatre parcs (boisé, jardin, aire de jeux, mémorial), places, marchés, parkings, excavations, piscines abandonnées, immeubles dappartements, hôtels, bibliothèques, restaurants avec cuisine, casernes et halls. Pierre, pierre lisse et briques de pierre forment la palette principale, avec des variantes fissurées ou moussues, du verre et quelques détails de fer et de chêne noir. Les étages disposent descaliers et les pièces daménagements propres à leur usage.

Les parkings souterrains, fouilles et piscines demandent une épaisseur de roche vérifiée sur toute leur emprise. Les piscines ont un fond, des parois continues et des marches ; les ponts enjambent de courtes failles entre deux berges supportées. Les monstres naturels du biome sont des zombies vanilla, soumis aux règles de lumière et de difficulté du jeu. Aucun spawner ou zombie spécial nest ajouté ; les variantes de zombies et la progression restent pour la bêta.

Créer un nouveau monde Sanctuary pour la génération 14. Le bouton natif Personnaliser conserve Petit 512, Moyen 724 par défaut et Grand 1 024. Les mondes 12/13 gardent leurs codecs, journaux, paramètres et chunks.

Dans un nouveau monde de génération 14, les outils opérateur acceptent des expansions de 64, 128, 256, 512 ou 1 024 blocs. quick sans taille effectue un tirage reproductible favorisant les petites îles. Les emplacements suivent des secteurs directionnels autour du parent, avec séparation des emprises écrites. La reprise éventuelle de chunks de vide déjà explorés exige un certificat strict lié au journal et une réouverture du monde ; aucun terrain occupé nest admis dans ce mécanisme.

Le contrat et protocole alpha.14 précisent les commandes, la protection des sauvegardes et les vérifications réussies : check build assemblePack, création et réouverture des quartiers, reprise du vide certifié et validation des artefacts de distribution. La release alpha.14, le MRpack et le canal packwiz sont publiés. Deux installations isolées puis deux synchronisations de la même instance Prism Mac passent ; les 713 fichiers personnels et réglages suivis conservent leurs hashes. Aucun monde personnel na été ouvert ou régénéré. La validation native Windows reste à effectuer.

Alpha.13.1 — correctif des expansions sous Windows

Le journal dexpansion nessaie plus douvrir son dossier comme un fichier sous Windows, ce qui provoquait AccessDeniedException et bloquait les expansions. La synchronisation du fichier, son remplacement atomique et sa relecture restent obligatoires. Le format du journal et la génération alpha.13 restent identiques.

Après installation du correctif, rouvrir le même monde : une réservation déjà enregistrée est reprise après vérification du journal. Il ne faut pas supprimer sanctuary-world-v13 ni recréer le monde pour ce correctif. Voir le dépannage Windows et la validation.

La release alpha.13.1 et le canal packwiz sont publiés. Deux synchronisations isolées et deux synchronisations de linstance Mac existante passent ; les 713 fichiers personnels et réglages suivis restent identiques. Aucun accès à linstance Windows na eu lieu.

Alpha.13 — un seul monde Sanctuary

À la création dun nouveau monde, sélectionner Sanctuary, puis utiliser le bouton natif Personnaliser pour choisir la taille de l’île :

Taille Diamètre nominal
Petit 512 blocs
Moyen, par défaut 724 blocs
Grand 1 024 blocs

Terminé conserve le choix ; Annuler revient sans lappliquer. La hauteur reste de 384 blocs. Ces tailles décrivent une emprise, sans promettre un nombre de joueurs, une aire constructible ou un stock de minerais.

L’île reprend les forêts, le relief flottant et les plans deau complets du générateur précédent : bassins, rivière, terrasses et cascades restent liés aux possibilités naturelles du terrain. Les poches de cavités natives de Minecraft du laboratoire rejoignent cette île. Les commandes opérateur dexpansion, avec leur distance facultative et leur recherche demplacements libres, sont accessibles dans ce même nouveau monde. Les déblocages par la production et lXP restent à construire.

Les anciens choix Petit/Grand et Laboratoire sont cachés à la création, tout en restant chargeables avec leurs paramètres enregistrés. Aucun monde existant nest converti ni régénéré. Le guide alpha.13 détaille la création, les expansions et la séparation des sauvegardes.

check build assemblePack, les tests client, les trois tailles et les scénarios dexpansion/rechargement passent. Moyen atteint 63,66 secondes pour la création puis 289 chunks FULL dans le test serveur de référence. Les preuves et leurs limites sont dans Validation.

À la livraison alpha.13, le canal packwiz, le MRpack et la même instance Prism avaient été mis à jour, avec les 601 fichiers personnels et réglages alors suivis conservés. Voir Distribution.

Socle livré jusqu’à lalpha.8

  • Mod sanctuary indépendant et pack Sanctuary construit avec packwiz.
  • Preset Sanctuary sélectionnable à la création d'un monde, avec une île flottante finie, un terrain naturel et un extérieur vide.
  • Île tempérée aux teintes douces : forêts de chênes et de bouleaux, clairières fleuries et affleurements de pierre, andésite, diorite et granite. Des failles courbes ouvrent le terrain flottant issu du générateur 26.2. Les corniches humides accueillent chênes noirs et champignons ; les essences rares restent ponctuelles.
  • Géologie enrichie en profondeur : tuf, pierres moussues et boue compactée dans les intérieurs humides, puis ardoise des abîmes, roche noire, basalte et poches de soufre. Les volumes existants fournissent leur support.
  • Petits filons de charbon, fer, cuivre, or, redstone, lapis, diamant et émeraude à des altitudes adaptées au terrain. Les essais de charbon, fer et cuivre exposés sont plus fréquents. Les stocks se constatent après génération.
  • Spawn recherché sur le sol de l'île lors de la création. Les mondes ordinaires et les choix ultérieurs de spawn ne sont pas remplacés.
  • Nouveaux mondes sur 384 blocs (Y=0..383), île relevée de 64 blocs, dessous sculpté et nuages au-dessus du terrain. Les anciennes sauvegardes conservent leurs paramètres de génération.
  • Étangs, petits lacs, plages plus larges et dépôts de trois à cinq blocs de sable, gravier, pierre ou terre enherbée. La canne à sucre apparaît lorsque les rives respectent ses règles vanilla.
  • Recherche de bassins plus grands et dune longue rivière calme au tracé arrondi, avec largeur variable et berges progressives. La liaison de deux bassins, sa source et sa cascade entrante sont contrôlées dans les mondes de test de lalpha.8.
  • Quelques sources dans des niches rocheuses naturelles, y compris aux étages inférieurs : Minecraft fait couler leur eau en cascades, qui peuvent descendre jusque dans le vide.
  • Une petite poche de lave couverte est recherchée en priorité sur une corniche profonde, puis plus haut si nécessaire. Une à deux sources profondes supplémentaires peuvent former des coulées, vérifiées par les ticks du moteur.

Jusqu’à lalpha.9, l’île a une emprise nominale de 512 blocs de diamètre, avec une bordure sculptée par des bruits liés à la seed. Aucune masse centrale n'est ajoutée pour forcer le terrain : le spawn cherche un emplacement naturel. Le catalogue TerraMix, les continents déverrouillables, les océans, les ruines et les autres fonctionnalités restent à construire par tickets.

La génération alpha.8, sanctuary:sanctuary_rift, passe les contrôles moteur sur les trois graines de référence, avec 1 800 ticks de fluides. Ces résultats ne valident pas par avance lincrément suivant. Les observations et leurs limites figurent dans Validation.

Alpha.9, historique : cavités vivantes et terrasses deau

Lincrément ajoute des cavités luxuriantes et lumineuses sous l’île, des secteurs à spéléothèmes, des géodes daméthyste et des poches de soufre moins envahissantes, avec de vrais geysers de soufre lorsque leurs conditions sont réunies. Les forêts de surface sont conservées ; la recherche de lacs plus profonds et volumineux accompagne des groupes facultatifs de bassins naturels étagés. Leurs cascades relient les paliers et permettent de circuler par la nage. Limage des « rizières » décrit ce paysage deau en terrasses : aucune culture de riz nest ajoutée.

La validation moteur alpha.9 passe sur les trois graines de référence. Les preuves de terrasses, geysers et décor souterrain sont cumulées sur ces trois mondes, sans imposer chaque élément à chacun. La version est publiée et la même instance Prism est synchronisée ; voir Distribution. Le nouveau réglage sanctuary:sanctuary_cavern nécessite de créer un nouveau monde Sanctuary. Les anciennes générations jusqu’à lalpha.8 gardent leurs paramètres ; aucune sauvegarde nest régénérée. Les cavités restent dans lOverworld, sans créer la dimension des cavernes prévue par la vision. Dappled Forest reste réservé aux futurs continents et présent dans les anciennes sauvegardes alpha.5. Aucun lac, groupe de terrasses, geyser ou stock de ressources nest garanti sur chaque graine. Voir le ticket local WG-10.

Alpha.10, historique : îles pour 5, 20 ou 100 joueurs

Lalpha.10 proposait trois tailles, avec 20 joueurs par défaut. Leur aire nominale est proportionnelle à la capacité choisie, sur la base de l’île de 512 blocs pour cinq joueurs. La hauteur reste de 384 blocs.

Choix à la création Identifiant du preset Capacité Diamètre nominal
Sanctuary 5 joueurs sanctuary:sanctuary_5 5 512 blocs
Sanctuary, choix par défaut sanctuary:sanctuary 20 1 024 blocs
Sanctuary 100 joueurs sanctuary:sanctuary_100 100 Environ 2 290 blocs

Ces capacités dimensionnent l’île ; elles ne fixent pas la limite de connexions du serveur. Le contour réel dépend du relief et de la graine, et le stock de ressources reste celui de la génération. La taille se choisit pour un nouveau monde : aucune ancienne île nest agrandie et aucune sauvegarde nest régénérée lors de la mise à jour. Les paramètres sauvegardés sont distincts : sanctuary:population_5, sanctuary:population_20 et sanctuary:population_100.

Les trois profils passent les onze tests moteur sur la graine 0, avec 1 800 ticks réels de fluides. Le choix de capacité persiste après écriture et relecture sur disque. La vérification conserve 212 anciens fichiers de production strictement identiques ; huit fichiers dintégration ou dinterface accueillent les nouveaux choix. La première planification locale reste coûteuse, environ 8388 secondes pour les premiers essais 5/20 sur cette configuration. La génération en masse reste à optimiser. Ces essais ne simulent pas 100 connexions et ne donnent aucune garantie de performances multijoueurs. Les diamètres nominaux ne permettent pas dextrapoler les stocks ou laire réellement habitable. La version est publiée et la même instance Prism a été synchronisée deux fois, avec 363 fichiers personnels et réglages suivis conservés. Voir WG-11, Validation et Distribution.

Le premier champ de recherche climatique est défini : nord froid, sud chaud, ouest sec et est humide, avec leurs combinaisons diagonales. Un outil de développement relève les ressources après génération ; le système d'expansion en jeu reste à construire. Voir Expansion et ressources.

Les détails du terrain et de ses limites sont dans Génération, et la provenance dans Audit 26.2.

Alpha.11, historique : Petit, Grand et génération plus rapide

Les anciens formats sont trop grands et éloignent les constructions. Le nouveau choix de départ se limite à Petit et Grand, avec Grand par défaut. Petit garde un diamètre nominal de 512 blocs ; Grand mesure environ 724 blocs, soit deux fois laire nominale de Petit. La hauteur reste de 384 blocs. Les repères internes 5 et 10 servent au calcul de surface : ils ne sont ni les noms des choix ni une promesse de capacité multijoueur.

Grand utilise le nouveau réglage sanctuary:population_10. Les anciennes parties population_5, population_20 et population_100 gardent leurs paramètres ; les formats 20/100 sont retirés des choix publics de création, sans réduire les mondes déjà enregistrés. Aucun monde personnel nest ouvert pour les essais.

Le ticket WG-12 réduit les calculs répétés de terrain et permet de lire un plan régional déjà prêt pendant le calcul du suivant. À géométrie 20 identique, la création puis 289 chunks autour du spawn passent de 407,43 à 62,54 secondes (84,65 %) ; 80 chunks dexploration passent de 103,14 à 14,05 secondes. Le nouveau Grand atteint 62,67 secondes sur le même protocole de départ. Ces essais serveur sur une graine et une machine ne mesurent pas le rendu du client ni une charge multijoueur.

check build assemblePack passe, ainsi que douze tests moteur pour chacun des deux choix, avec 1 800 ticks de fluides. Plus de trois millions de comparaisons de densité confirment l’équivalence de calcul. Les mesures et limites sont dans Validation ; publication et synchronisation de la même instance sont consignées dans Distribution. Lalpha.11 est publiée ; la même instance Prism a été synchronisée deux fois, avec les 364 fichiers personnels et réglages suivis conservés.

Alpha.12, historique — laboratoire dexpansion

Un troisième preset Sanctuary — Laboratoire permet de tester les expansions dans un nouveau monde, sur la même version Minecraft. Les choix Petit et Grand gardent leur génération alpha.11. Le laboratoire possède sa propre île initiale de 512 blocs, avec un relief supérieur légèrement déformé et des biomes vanilla. Les nouvelles îles choisissent séparément leur parent, direction, climat, diamètre nominal (64/128/256/512) et relief (naturel, pics, canyon, volcan).

Avec les commandes autorisées ou le statut opérateur :

/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

Le premier exemple ouvre une forêt automnale au nord ; le second continent part vers lest depuis cette île. quick north seul emploie la convention froide, avec 128 blocs et un relief naturel. create permet de choisir explicitement un identifiant et un parent. preview propose lemplacement sans lactiver ; resume <id> reprend une réservation interrompue. Lautocomplétion liste les directions, douze profils climatiques et quatre reliefs.

Les anciens chunks, même vides, sont refusés dans lemprise dune nouvelle île. Le registre persiste côté serveur ; la préparation est progressive et la visite attend un terrain prêt. Villages, temples, cabanes de marais et camps abandonnés vanilla peuvent être retenus selon leur biome et leurs fondations. Les autres structures, la grande hydrologie des continents, les recherches, les boîtes de dépôt et le refuge Void restent des étapes suivantes. Un biome humide ne promet pas encore un lagon ou un océan. Les règles, limites et essais figurent dans le guide du laboratoire.

check build assemblePack et les essais dexpansion/rechargement de graine 42 passent. Lalpha.12, son MRpack et le canal packwiz sont publiés ; la même instance Prism a été synchronisée deux fois, avec les 466 fichiers personnels et réglages suivis conservés. Voir Distribution.

Alpha.12.1, historique — distance et emplacements libres

Le correctif ajoute une distance minimale facultative à la fin des commandes :

/sanctuary expansion quick north autumn 128 peaks 2048
/sanctuary expansion create desert sanctuary east arid 128 natural 4096

La distance se mesure entre les centres depuis le parent choisi. Sans distance, le placement reste automatique. Les emplacements déjà générés sont maintenant écartés en cherchant plus loin dans la même direction, sans changer le climat ni réécrire les chunks. Les mondes laboratoire alpha.12 peuvent être conservés : le journal et la génération restent compatibles. Voir le guide.

check build assemblePack, les scénarios moteur et les tests de distance passent. Lalpha.12.1 et son MRpack sont publiés ; la même instance Prism est synchronisée deux fois, avec 466 fichiers personnels et réglages suivis conservés.

Versions et prérequis

Au 8 septembre 2026, la cible disponible est 26.3-pre-2. Le dépôt ne prétend pas cibler une version finale 26.3 déjà sortie. Le passage à la version finale sera une mise à jour explicite, avec vérification des API et des sauvegardes.

Composant Version fixée
Minecraft Java 26.3-pre-2
Java JDK 25
Fabric Loader 0.19.5
Fabric API 0.160.0+26.3
Fabric Loom 1.17.20
Gradle Wrapper 9.5.1, distribution vérifiée par SHA-256
Sanctuary / pack 0.1.0-alpha.15, validée ; livraison en préparation

Java 25 et Python 3.11 ou plus récent sont nécessaires. Le script pack utilise uniquement la bibliothèque standard et repère aussi une installation Python 3.113.14 si python3 désigne l'ancien Python fourni par macOS. Gradle est fourni par le wrapper. packwiz est utile pour modifier les dépendances ou servir le pack ; il n'est pas nécessaire pour le construire.

Références vérifiées : Minecraft 26.3-pre-2, Fabric, version Fabric API.

Construire et lancer

git clone https://git.botsu.net/koka/sanctuary-beta.git
cd sanctuary-beta
./gradlew check build assemblePack

check inclut les tests de forme et le serveur de test automatisé de Fabric, qui charge par défaut le nouveau générateur unifié Sanctuary dans un monde de développement neuf. Les suites historiques utilisent explicitement -PsanctuaryUnifiedTests=false. Les scénarios couverts et les essais multijoueurs restant à effectuer sont décrits dans Validation.

Résultats :

  • mods/sanctuary/build/libs/sanctuary-0.1.0-alpha.15.jar : mod à installer avec Fabric API sur la version Minecraft indiquée.
  • build/packwiz/ : pack de développement complet, avec le mod construit et l'index vérifié. Voir Installation packwiz.

Le pack peut aussi être exporté en .mrpack avec packwiz pour une importation dans un lanceur compatible ; la commande est indiquée dans ce même guide.

Pour les essais réguliers, la même instance Prism suit un canal packwiz stable et se synchronise avant chaque lancement. La procédure de publication et de raccordement est dans Distribution Prism.

Lancer le client de développement :

./gradlew :sanctuary:runClient

Créer un nouveau monde, sélectionner le type Sanctuary, puis Personnaliser pour changer la taille Moyen retenue par défaut. L'installation du mod seule ne transforme pas un monde Minecraft ordinaire.

Pour un serveur de développement, lancer ./gradlew :sanctuary:runServer, puis suivre les indications du jeu concernant son EULA. Utiliser un dossier de monde neuf et choisir dans mods/sanctuary/run/server.properties :

level-type=sanctuary:sanctuary
level-name=sanctuary-dev
level-seed=42

Relancer ensuite la même commande. Ne pas remplacer le générateur d'une sauvegarde 26.2 : aucun outil de migration de ses chunks n'est livré ici.

Organisation

Chemin Responsabilité
mods/sanctuary/ Code, ressources et tests du mod Sanctuary
packwiz/ Manifeste source, dépendances distantes et hashes
ressources-pack/ Sources graphiques existantes et futurs resource packs
shaders-pack/ Sources et réglages de shaders à venir
docs/ Vision, backlog, migration, génération et validation
.gitea/ISSUE_TEMPLATE/ Modèles de tickets fonctionnalités et bugs
.gitea/workflows/ Vérification sur un runner Gitea compatible

It's Alive !, Only Fun et Master Key restent des modules autonomes prévus par la vision. Leurs sources 26.2 ne sont pas copiées dans ce socle. Fabric API est la seule dépendance de gameplay actuellement distribuée avec le mod.

Travailler par tickets

Un ticket décrit un comportement à obtenir ou un bug à reproduire. On livre un petit incrément, on le vérifie en jeu si nécessaire, puis on ajuste avec le ticket suivant. Pour le terrain, joindre la seed et les coordonnées aide à retrouver exactement le problème. Voir Contribuer.

Le backlog initial contient des propositions locales, pas des issues déjà publiées. Le prochain travail après ce socle est le réglage de l'île, puis le placement de continents et leur ouverture sans écraser les constructions des joueurs.

Licence et crédits

Sanctuary conserve la licence GPL-3.0-or-later du projet 26.2. Voir LICENSE et provenance et crédits. Projet communautaire indépendant de Mojang Studios et Microsoft.