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 prépare les premiers tickets. Les systèmes d’économie, de progression collective et les dimensions décrits dans la vision ne sont pas encore implémentés. L’alpha.12 fournit des outils d’expansion réservés à un nouveau monde de laboratoire.
Socle livré jusqu’à l’alpha.8
- Mod
sanctuaryindé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 d’une 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 l’alpha.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’à l’alpha.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 l’incrément suivant. Les observations et leurs
limites figurent dans Validation.
Alpha.9 : cavités vivantes et terrasses d’eau
L’incrément ajoute des cavités luxuriantes et lumineuses sous l’île, des secteurs à spéléothèmes, des géodes d’amé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. L’image des « rizières » décrit ce paysage d’eau en terrasses : aucune culture de riz n’est 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’à l’alpha.8 gardent leurs
paramètres ; aucune sauvegarde n’est régénérée. Les cavités restent dans
l’Overworld, 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 n’est garanti sur chaque graine. Voir le ticket local
WG-10.
Alpha.10, historique : îles pour 5, 20 ou 100 joueurs
L’alpha.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 n’est agrandie et aucune
sauvegarde n’est 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 d’intégration ou d’interface
accueillent les nouveaux choix. La première planification locale reste coûteuse,
environ 83–88 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 d’extrapoler les stocks ou l’aire
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 : 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 l’aire 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 n’est 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 d’exploration 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.
L’alpha.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 — laboratoire d’expansion
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 l’est 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 l’emplacement sans l’activer ;
resume <id> reprend une réservation interrompue. L’autocomplétion liste les
directions, douze profils climatiques et quatre reliefs.
Les anciens chunks, même vides, sont refusés dans l’emprise d’une 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 d’expansion/rechargement de graine 42
passent. L’alpha.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 — 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.
Publication de l’alpha.12.1 en cours.
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.12.1, vérifiée localement |
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.11–3.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 le vrai preset Sanctuary dans un monde de développement neuf.
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.12.1.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, puis sélectionner le type de monde Sanctuary. 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.