feat: livrer et migrer le Magic Carpet après Notch #121

Merged
koka merged 1 commits from integration/magic-carpet-reward into main 2026-08-31 04:59:18 +00:00
Owner

Objectif

Livrer les trois tickets Magic Carpet : récompense mondiale unique après la victoire contre Notch, migration du Totem historique et remplacement exceptionnel via le Shop.

Closes #50
Closes #51
Closes #52

Périmètre

  • Modules touchés : I Like To Move It 0.0.0-alpha.17, Only Fun 0.0.0-alpha.26, Sanctuary 0.0.0-alpha.127.
  • APIs ou fichiers partagés touchés : SanctuaryWorldMilestones, SanctuaryItemProvenance, état mondial NotchVictoryState, contrat de livraison Shop.
  • Dépend d'une autre branche/PR : le combat Notch livré par la PR #119, déjà fusionnée dans main.

Résultat

  • réserve puis matérialise exactement un Magic Carpet dans un coffre déterministe près de la résidence de Notch, avec reprise idempotente et feu d'artifice ;
  • migre portals:notch_totem vers iliketomoveit:magic_carpet dans les inventaires joueurs/Ender Chests, conteneurs et entités d'item, tout en conservant quantité, composants et nom ;
  • sécurise la plateforme temporaire 3×3 : placement uniquement dans l'air, nettoyage à la désactivation/déconnexion/changement de dimension/arrêt, protection des chevauchements et aucune capacité de vol créatif ;
  • expose le jalon public sanctuary:notch_defeated et n'affiche le remplacement Shop qu'après la victoire ; la Mailbox livre l'achat avec sa provenance sans recréer la récompense initiale ;
  • ajoute les traductions FR/EN/RU, la documentation et la migration non distribuée, sans changer pack_version (toujours 26.2.0-alpha.223).

Compatibilité inter-mods

  • chaque donnée/règle reste dans son module propriétaire ;
  • les appels inter-mods passent par une API publique et une dépendance Gradle explicite ;
  • aucun cycle de dépendances n'est ajouté ;
  • les IDs et namespaces restent stables ;
  • les sauvegardes restent compatibles via alias caché et migrations monotones ; les protocoles réseau restent inchangés ;
  • le comportement client, serveur et multijoueur a été considéré.

Version et validation

  • les versions des trois modules modifiés ont été incrémentées ;
  • pack_version reste inchangé et la migration est marquée unreleased ;
  • les traductions FR/EN/RU sont complètes ;
  • les tests ciblés réussissent ;
  • ./gradlew check réussit : 183 tâches validées ;
  • aucun build, log, backup, JAR généré, secret ou fichier personnel n'est commité.

Test manuel

Pas de session de jeu manuelle dans ce lot. Les états de reprise, chevauchement, dimension et arrêt sont couverts par les smoke tests exécutables ; la PR reste prête pour une vérification visuelle du coffre, du feu d'artifice et de la plateforme en revue.

## Objectif Livrer les trois tickets Magic Carpet : récompense mondiale unique après la victoire contre Notch, migration du Totem historique et remplacement exceptionnel via le Shop. Closes #50 Closes #51 Closes #52 ## Périmètre - Modules touchés : I Like To Move It `0.0.0-alpha.17`, Only Fun `0.0.0-alpha.26`, Sanctuary `0.0.0-alpha.127`. - APIs ou fichiers partagés touchés : `SanctuaryWorldMilestones`, `SanctuaryItemProvenance`, état mondial `NotchVictoryState`, contrat de livraison Shop. - Dépend d'une autre branche/PR : le combat Notch livré par la PR #119, déjà fusionnée dans `main`. ## Résultat - réserve puis matérialise exactement un Magic Carpet dans un coffre déterministe près de la résidence de Notch, avec reprise idempotente et feu d'artifice ; - migre `portals:notch_totem` vers `iliketomoveit:magic_carpet` dans les inventaires joueurs/Ender Chests, conteneurs et entités d'item, tout en conservant quantité, composants et nom ; - sécurise la plateforme temporaire 3×3 : placement uniquement dans l'air, nettoyage à la désactivation/déconnexion/changement de dimension/arrêt, protection des chevauchements et aucune capacité de vol créatif ; - expose le jalon public `sanctuary:notch_defeated` et n'affiche le remplacement Shop qu'après la victoire ; la Mailbox livre l'achat avec sa provenance sans recréer la récompense initiale ; - ajoute les traductions FR/EN/RU, la documentation et la migration non distribuée, sans changer `pack_version` (toujours `26.2.0-alpha.223`). ## Compatibilité inter-mods - [x] chaque donnée/règle reste dans son module propriétaire ; - [x] les appels inter-mods passent par une API publique et une dépendance Gradle explicite ; - [x] aucun cycle de dépendances n'est ajouté ; - [x] les IDs et namespaces restent stables ; - [x] les sauvegardes restent compatibles via alias caché et migrations monotones ; les protocoles réseau restent inchangés ; - [x] le comportement client, serveur et multijoueur a été considéré. ## Version et validation - [x] les versions des trois modules modifiés ont été incrémentées ; - [x] `pack_version` reste inchangé et la migration est marquée `unreleased` ; - [x] les traductions FR/EN/RU sont complètes ; - [x] les tests ciblés réussissent ; - [x] `./gradlew check` réussit : 183 tâches validées ; - [x] aucun build, log, backup, JAR généré, secret ou fichier personnel n'est commité. ## Test manuel Pas de session de jeu manuelle dans ce lot. Les états de reprise, chevauchement, dimension et arrêt sont couverts par les smoke tests exécutables ; la PR reste prête pour une vérification visuelle du coffre, du feu d'artifice et de la plateforme en revue.
koka added 1 commit 2026-08-31 04:54:35 +00:00
feat: deliver and migrate the Magic Carpet
Verification 26.2 / check (pull_request) Canceled after 0s
106d730dd8
koka merged commit a0b0788869 into main 2026-08-31 04:59:18 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: koka/sanctuary#121