Inventaire de migration Sanctuary 26.2
Statut : inventaire complet et validé. Ce dossier documente l'ancien worktree sans modifier ni migrer aucun mod historique.
1. Référence et périmètre
| Élément | Valeur |
|---|---|
| Commit de base | b14fbe561ac99054f17ae56caee9eebee3dbcbb6 (main) |
| État audité | Worktree courant, y compris les modifications et fichiers non suivis |
| Version source | Minecraft 26.1.2, Fabric Loader 0.19.2, Java 25 |
| Version cible documentée | Minecraft 26.2, Java 25 |
| Modules Fabric trouvés | 41 |
| Java | 620 fichiers pertinents : 618 sous src/ et 2 générateurs Blocodex |
| Tests | 23 classes de tests unitaires et 1 classe GameTest Canaplia |
| Ressources | 1 619 fichiers bruts; 5 .DS_Store sous resources/ explicitement exclus |
| Couverture technique | 2 552 fichiers primaires + 843 entrées extraites = 3 395 lignes dans artifacts.csv |
| Features classifiées | 86 |
L'état Git complet servant de photographie de référence se trouve dans baseline-status.txt. Les éléments suivants sont hors périmètre : sanctuary-minecraft.fr, .codex-revert, .tmp_fabric_src, caches, sorties build/, dossiers run/, logs, classes compilées et archives JAR/ZIP comme contenu source. Les JAR et packs sont toutefois inspectés comme preuves de déploiement.
2. Livrables et contrat
features.csvest la matrice de décision. Chaque ligne représente une feature cohérente avec un propriétaire principal, ses dépendances, son propriétaire de persistance, son côté d'exécution, sa disposition, son risque et ses preuves.artifacts.csvest l'index exhaustif. Chaque fichier pertinent possède exactement une ligne primaire; des lignes supplémentaires recensent entrypoints, mixins, commandes, IDs, payloads et clés persistantes.build-results.csvcontient le résultat reproductible des 41 builds Minecraft 26.1.2.baseline-status.txtfixe le commit, les compteurs et l'état dirty sans inclure les fichiers de cet inventaire.tools/scan_inventory.pyrégénère l'index et vérifie les schémas, les références, les chemins, la couverture et les collisions.tools/run_build_audit.pyrelance les builds sans modifier les sources historiques.
Commandes depuis la racine du dépôt :
python3 26.2/inventory/tools/scan_inventory.py --check
python3 26.2/inventory/tools/run_build_audit.py --jobs 4 --timeout 600
Les identifiants de systèmes autorisés sont anotherworld, itsalive, ambiance, redstoner, iliketomoveit, ouch, onlyfun, sanctuary, events et masterkey. Une ligne sans propriétaire n'est valide que si sa disposition est explicitement retire, packaging ou une fusion d'infrastructure.
3. Répartition des features
| Destination principale | Features |
|---|---|
| Another World | 12 |
| It's Alive ! | 13 |
| Ambiance | 11 |
| Red-Stoner | 11 |
| I Like To Move It | 9 |
| Ouch | 6 |
| Only Fun | 5 |
| Sanctuary | 4 |
| Events | 2 |
| MasterKey | 5 |
| Hors gameplay / retrait | 8 |
Dispositions : 17 migrations directes, 48 découpages, 14 fusions, 4 retraits et 3 éléments de packaging. Risques : 46 features critiques, 30 élevés, 6 moyens et 4 faibles. Le niveau critique signale principalement une sauvegarde, un registry, du worldgen, un payload, un mixin ou une identité qui ne doit pas changer silencieusement.
Conclusions structurantes
Canonest un système photographique avec capture, film, composants de données et création de cartes. Il est attribué à Red-Stoner avec Ambiance et Another World comme dépendances; il n'appartient pas à Ouch.Demeurene génère actuellement aucune demeure : il stocke des empreintes d'habitation géographiques par chunk. Il appartient donc à Another World et dépend du vivant et de l'Atlas.- Le mod actuel
Worldgen/sanctuaryest un preset de monde flottant. Son implémentation matérielle appartient à Another World, même si Sanctuary pourra donner un sens à ce monde dans la progression. Ambiancedécide aujourd'hui automatiquement du déclenchement de phénomènes. La planification et sa SavedData sont attribuées à Events; Ambiance conserve uniquement leur synchronisation et leur représentation.Portalscontient au moins six responsabilités : passage, matériaux, dimensions, worldgen, créatures, combat/progression de boss et atmosphère. Il doit être découpé, pas déplacé en bloc.Malongo,PepperDream,AdresseuretVoidloopsont des squelettes sans mécanique observable et sont candidats au retrait.- Le branding, le MOTD et Discord RPC ne sont pas forcés dans un système de gameplay. Ils restent des responsabilités de packaging; seul le filtre de logs utile est proposé pour MasterKey.
4. Résumé par mod historique
La colonne Java/Ressources/Tests compte les fichiers sous src/; les .DS_Store sont exclus des ressources.
| Module | Features | Destinations | Disposition | Risque max. | Java/Ressources/Tests | Build 26.1.2 |
|---|---|---|---|---|---|---|
Decoration/miroir (miroir) |
2 | ambiance, anotherworld | split | high | 10/20/0 | pass |
Decoration/prospector_hat (prospector_hat) |
1 | redstoner | migrate | high | 8/5/0 | pass |
Decoration/umbrella (umbrella) |
1 | anotherworld | split | high | 8/10/0 | pass |
Farming/canaplia (canaplia) |
4 | ambiance, itsalive | split | high | 52/554/11 | pass |
Farming/malongo (malongo) |
1 | retire | retire | low | 2/3/0 | pass |
Fun/abjection (abjection) |
2 | onlyfun, ouch | split | high | 4/15/0 | pass |
Fun/canon (canon) |
1 | redstoner | migrate | critical | 21/34/3 | pass |
Fun/gunz (gunz) |
1 | ouch | migrate | high | 6/20/0 | pass |
Fun/lucky_block (lucky_block) |
1 | onlyfun | migrate | high | 8/11/0 | pass |
Fun/pepperdream (pepperdream) |
1 | retire | retire | low | 2/3/0 | pass |
Gameplay/atlas (atlas) |
2 | iliketomoveit | migrate | critical | 8/6/0 | pass |
Gameplay/blocodex (blocodex) |
4 | anotherworld, redstoner | split | critical | 58/30/7 | pass |
Gameplay/computer (computer) |
2 | redstoner | merge | critical | 23/41/0 | pass |
Gameplay/economy (economy) |
3 | anotherworld, redstoner, sanctuary | split | critical | 11/65/0 | pass |
Gameplay/harder (harder) |
2 | ouch, sanctuary | split | high | 2/4/0 | pass |
Gameplay/minecrafter (minecrafter) |
6 | ambiance, anotherworld, iliketomoveit, ouch | split | high | 36/21/0 | pass |
Gameplay/realtime (realtime) |
2 | ambiance | split | critical | 8/4/0 | pass |
Graphics/ambiance (ambiance) |
3 | ambiance, events | migrate, split | critical | 21/9/0 | pass |
Graphics/dynamic_torches (dynamic_torches) |
1 | ambiance | migrate | critical | 6/5/0 | pass |
Interfaces/helloworld (helloworld) |
4 | masterkey, merge, packaging | merge, migrate, packaging | critical | 24/7/0 | pass |
Interfaces/sanctuary_rpc (sanctuary_rpc) |
1 | packaging | packaging | medium | 6/3/0 | pass |
Mobs/happy_creeper (happy_creeper) |
1 | itsalive | merge | critical | 23/68/0 | pass |
Mobs/mobopia (mobopia) |
3 | itsalive | merge | critical | 32/20/0 | pass |
Mobs/no_phantoms (no_phantoms) |
1 | itsalive | merge | medium | 1/3/0 | pass |
Mobs/pipallon (pipallon) |
1 | itsalive | merge | critical | 9/12/0 | pass |
Mobs/real_ghost (real_ghost) |
1 | itsalive | merge | critical | 14/16/0 | pass |
Mobs/villagers (villagers) |
1 | itsalive | migrate | medium | 2/4/0 | pass |
Multiplayer/admin (admin) |
3 | masterkey | merge, migrate | critical | 19/4/0 | pass |
Multiplayer/events (events) |
1 | events | migrate | critical | 8/3/0 | pass |
Redstone/adresseur (adresseur) |
1 | retire | retire | low | 2/3/0 | pass |
Redstone/drawer (drawer) |
1 | anotherworld | migrate | critical | 6/7/0 | pass |
Redstone/redstone_computer (redstone_computer) |
4 | masterkey, redstoner | merge, split | critical | 41/117/2 | pass |
Redstone/weather_tnt (weather_tnt) |
3 | anotherworld, onlyfun, ouch | split | high | 6/11/0 | pass |
Structures/demeure (demeure) |
1 | anotherworld | migrate | critical | 19/4/0 | pass |
Techniques/voidloop (voidloop) |
1 | retire | retire | low | 2/3/0 | pass |
Transport/ibelievechickenfly (ibelievechickenfly) |
3 | itsalive, onlyfun | split | critical | 15/16/0 | pass |
Transport/magiccarpet (magiccarpet) |
1 | iliketomoveit | migrate | high | 3/3/0 | pass |
Transport/spiderman (spiderman) |
2 | iliketomoveit | split | critical | 19/23/0 | pass |
Transport/waystone (waystone) |
1 | iliketomoveit | migrate | critical | 11/10/0 | pass |
Worldgen/portals (portals) |
10 | ambiance, anotherworld, iliketomoveit, itsalive, ouch, sanctuary | split | critical | 54/389/0 | pass |
Worldgen/sanctuary (sanctuary) |
1 | anotherworld | split | critical | 8/28/0 | pass |
5. Doublons et collisions
Implémentations concurrentes
| Famille | Constat | Décision d'inventaire |
|---|---|---|
| Mobopia / Happy Creeper / Pipallon / Real Ghost | Mobopia embarque des copies sous son propre namespace, parfois plus anciennes que les mods autonomes. | Fusionner feature par feature dans It's Alive et préserver/aliaser les deux lignées d'IDs. |
| No Phantoms / Real Ghost | Les deux retirent les phantoms. | Conserver une règle unique dans It's Alive. |
| Computer / Blocodex / Redstone Computer | Trois ordinateurs, deux studios voxel et plusieurs profils/catalogues se chevauchent. | Consolider les données avant tout déplacement de classes. |
| HelloWorld / Sanctuary RPC | HelloWorld embarque une seconde pile Discord IPC. | Garder une seule implémentation de packaging. |
| MagicCarpet / Admin | Deux plateformes volantes distinctes : Totem de Notch et commande opérateur. | Mutualiser le moteur de déplacement, pas la règle d'accès. |
| Economy / Portals | Les deux exposent un ruby_block avec des namespaces différents. |
Pas de collision actuelle, mais clarifier s'il s'agit du même matériau avant migration. |
Le scanner ne trouve aucun doublon de mod ID Fabric ni collision exacte d'ID de registry/payload entre deux modules. Il trouve 18 familles de noms de clés persistantes partagées. Elles ne collisionnent pas nécessairement aujourd'hui, car leurs conteneurs NBT/SavedData sont distincts, mais elles deviennent dangereuses pendant une fusion :
ButterflyVariantetGhostVariantentre Mobopia et les mods autonomes;HappyFlowerId,HappyFlowerReady,HappyFlowerRegrowTicks,HappyFollowTargetetHappyPoweredentre les deux Happy Creeper;cells,depth,height,paletteetwidthentre Blocodex et Computer;created_at,nameetupdated_atentre Canon et/ou les ordinateurs;x,yetzentre Canon et Blocodex.
6. Écart sources, liste et distribution
modlist.txt
modlist.txt contient 29 entrées, toutes résolubles vers un module source. Douze modules sources n'y figurent pas :
miroir, prospector_hat, computer, economy, sanctuary_rpc, happy_creeper,
pipallon, real_ghost, admin, events, weather_tnt, demeure
GNU OK/
Le dossier contient 34 JAR lisibles dont les mod IDs et versions correspondent aux manifests sources. Sept modules sources n'y ont pas de JAR courant :
admin, computer, demeure, economy, miroir, prospector_hat, umbrella
Le JAR computer-1.0.0.jar est supprimé de GNU OK/ dans le worktree, tandis qu'une copie Gameplay/computer/computer-1.0.0.jar.disabled subsiste comme artefact non source.
sanctuary.mrpack
L'index Modrinth cible Minecraft 26.1.2 et Loader 0.19.2. Son tableau files est vide : l'installation réelle est déléguée au bootstrap Packwiz inclus dans les overrides. Le cache Packwiz référence Fabric API et seulement 18 mods maison. Les 23 modules sources absents sont :
abjection, admin, adresseur, atlas, blocodex, canaplia, demeure, drawer,
economy, events, lucky_block, magiccarpet, malongo, miroir, mobopia,
no_phantoms, pepperdream, prospector_hat, redstone_computer, sanctuary_rpc,
umbrella, voidloop, weather_tnt
Cette divergence interdit d'utiliser le pack seul comme liste canonique de fonctionnalités.
7. Compatibilité et portage Minecraft 26.2
L'index contient notamment 198 références de registry extraites, 39 payload IDs, 187 clés persistantes, 5 SavedData IDs explicitement reconnus, 30 classes mixin, 29 cibles mixin, 72 littéraux de commandes, 9 dimensions et 135 ressources worldgen.
Priorités de préservation :
- Dimensions et worldgen de
portalsetsanctuary. - SavedData de Waystone, Demeure, Ambiance/Events, Economy, Blocodex, Admin et Redstone Computer.
- Données de block entities de Drawer, ordinateurs, delivery boxes, miroir, poulie et waystones.
- Entités dupliquées Mobopia/autonomes et leurs clés NBT.
- Payload IDs et protocoles réseau avant fusion des ordinateurs.
- Recettes, advancements, loot tables et ressources dont le namespace change.
Les 41 builds actuels réussissent sur 26.1.2. Aucun build 26.2 n'a été tenté, conformément au périmètre d'inventaire. La cible officielle de référence est actuellement Minecraft 26.2, Loader 0.19.3, Loom 1.17-SNAPSHOT, Fabric API 0.154.2+26.2, Gradle 9.5.1 et Java 25 : Fabric Develop et guide de portage Fabric 26.2.
Le build historique n'est pas complètement uniforme : 40 modules utilisent Loom 1.16-SNAPSHOT et Fabric API 0.148.0+26.1.2, tandis que Portals utilise Loom 1.16.2 et Fabric API 0.149.0+26.1.2. Les 41 wrappers utilisent Gradle 9.4.1, alors que le pack Packwiz met déjà en cache Fabric API 0.154.0+26.1.2. Ces écarts doivent être supprimés par la future racine multi-projet avant le portage de code.
Aucun appel OpenGL brut n'a été détecté. Le code de rendu emploie déjà Blaze3D/RenderPipeline, mais 30 mixins et trois usages de réflexion dans Canon, Computer et Blocodex restent des risques forts pour 26.2. Les packs Golden Days utilisés par Alpha restent externes et ne doivent pas être réemballés. Canaplia est le seul manifest sous licence All Rights Reserved; les 40 autres annoncent GPL-3.0-or-later.
8. Points à confirmer avant migration
Sept attributions ont une confiance moyenne et doivent recevoir une validation de conception avant déplacement de code :
- scanner du Prospector Hat → Red-Stoner;
- protection physique de l'Umbrella → Another World;
- transactions Economy → Sanctuary et boîtes de livraison → Red-Stoner;
- zoom Minecrafter → Ambiance;
- filtre de logs HelloWorld → MasterKey;
- Drawer → Another World plutôt que Red-Stoner.
Toutes les autres lignes ont une attribution à confiance élevée. La future racine Gradle multi-projet et les dix modules sont seulement enregistrés comme destination conceptuelle : ils ne sont ni créés ni compilés par cet inventaire.