From 2d0be21c5bbf742b36581833e16dae2f4747f029 Mon Sep 17 00:00:00 2001 From: koka Date: Mon, 31 Aug 2026 07:13:29 +0200 Subject: [PATCH] release: prepare Sanctuary 26.2.0-alpha.224 --- CHANGELOG.md | 8 +- README.md | 6 +- build.gradle | 506 +++++++++++------- gradle.properties | 4 +- ...c-carpet-container-sort-to-alpha.224.json} | 64 ++- pack/packwiz/index.toml | 32 +- pack/packwiz/pack.toml | 4 +- pack/prism/modrinth.index.json | 2 +- pack/release.json | 4 +- sanctuary/build.gradle | 32 +- .../network/SanctuaryNetworking.java | 2 +- sanctuary/src/main/resources/fabric.mod.json | 2 +- 12 files changed, 418 insertions(+), 248 deletions(-) rename pack/migrations/{26.2.0-alpha.223-magic-carpet-unreleased.json => 26.2.0-alpha.223-notch-magic-carpet-container-sort-to-alpha.224.json} (51%) diff --git a/CHANGELOG.md b/CHANGELOG.md index fac1a86..11360bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,10 +6,12 @@ Ce journal suit les **versions du modpack**. Lorsqu'un seul module change, sa ve - Depuis `26.2.0-alpha.6`, le pack et les modules ont des versions indépendantes. I Like To Move It et Only Fun deviennent les cinquième et sixième modules actifs dans l'alpha 46. - Les versions ci-dessous ont été reconstituées à partir des JAR archivés, des packs locaux et du code source actuel. Les dates n'étant pas enregistrées de manière fiable, elles ne sont pas inventées. -## Non distribué +## `26.2.0-alpha.224` -Modules modifiés : **It's Alive `0.0.0-alpha.37`**, **Ouch `0.0.0-alpha.11`**, **I Like To Move It `0.0.0-alpha.17`**, **Only Fun `0.0.0-alpha.26`**, **Sanctuary `0.0.0-alpha.127`** et **MasterKey `0.0.0-alpha.9`**. Le pack public reste temporairement en `26.2.0-alpha.223` jusqu'à la publication. +Modules modifiés : **It's Alive `0.0.0-alpha.37`**, **Ouch `0.0.0-alpha.11`**, **I Like To Move It `0.0.0-alpha.17`**, **Only Fun `0.0.0-alpha.26`**, **Sanctuary `0.0.0-alpha.128`** et **MasterKey `0.0.0-alpha.9`**. +- étend le clic molette aux coffres, barils, boîtes de Shulker, entonnoirs et distributeurs, tout en excluant les fours, le Shop et le terminal Red-Stoner ; +- trie l'inventaire du joueur lorsque le curseur survole l'une de ses cases dans un conteneur, sans toucher à la hotbar, et replace la hotbar en bas après connexion ou achat d'une rangée ; - ajoute Notch comme résident unique et persistant de la maison Indev, avec restauration automatique, déduplication et lecture des anciennes entités `portals:notch` ; - transforme Notch en Titan au premier coup volontaire, avec santé bornée selon les participants, poursuite, attaques télégraphiées, boules de feu renvoyables et réinitialisation si le combat est abandonné ; - limite la destruction de blocs à l'explosion initiale de transformation ; les attaques suivantes utilisent uniquement dégâts, poussée, particules et explosions non destructrices ; @@ -19,7 +21,7 @@ Modules modifiés : **It's Alive `0.0.0-alpha.37`**, **Ouch `0.0.0-alpha.11`**, - maintient la plateforme temporaire 3 × 3 sous autorité serveur, sans écraser le terrain et avec un suivi par propriétaire qui protège les tapis superposés pendant les nettoyages ; - rend l'offre Magic Carpet visible et achetable uniquement après `sanctuary:notch_defeated`, au prix exceptionnel existant, avec paiement normal, livraison Mailbox, provenance et journal de remplacement ; - ajoute les diagnostics `/masterkey notch inspect` et `/masterkey notch restore`, les traductions FR/EN/RU et les contrats de test déterministes associés ; -- migre les données It's Alive de v3 à v4, I Like To Move It de v3 à v4 et Sanctuary de v11 à v13, sans changer les protocoles réseau ni le pack public. +- migre les données It's Alive de v3 à v4, I Like To Move It de v3 à v4 et Sanctuary de v11 à v13 ; le payload de tri ayant gagné un booléen borné, le protocole Sanctuary passe de 22 à 23 et client comme serveur doivent être mis à jour, sans nouveau monde ni réinitialisation. ## `26.2.0-alpha.223` diff --git a/README.md b/README.md index a5d6303..7873cf9 100644 --- a/README.md +++ b/README.md @@ -22,16 +22,16 @@ Licence : **GNU GPL 3.0 or Later** (`GPL-3.0-or-later`) Les descriptions FR/EN/RU sont déclarées dans chaque `fabric.mod.json` et dans les fichiers de langue. Les images fournies servent d'icônes Fabric de leur module. -Version courante du pack distribué : **`26.2.0-alpha.223`**. Cette release distribue Sanctuary **`0.0.0-alpha.125`** ; les neuf autres modules conservent leur version issue de l'alpha.222. +Version courante du pack distribué : **`26.2.0-alpha.224`**. Cette release distribue It's Alive **`0.0.0-alpha.37`**, Ouch **`0.0.0-alpha.11`**, I Like To Move It **`0.0.0-alpha.17`**, Only Fun **`0.0.0-alpha.26`**, Sanctuary **`0.0.0-alpha.128`** et MasterKey **`0.0.0-alpha.9`** ; les quatre autres modules conservent leur version issue de l'alpha.223. La migration [CANA-01 à CANA-09](CANAPLIA.md) porte Canaplia vers Minecraft 26.2. It's Alive **`0.0.0-alpha.35`** enregistre les seize familles, les découvertes, hybridations, résines, effets serveur et le Livre interdit personnel, partageable temporairement sur un pupitre. Ambiance **`0.0.0-alpha.14`** compose les profils visuels bornés avec ses réglages d'accessibilité, et Only Fun **`0.0.0-alpha.21`** exclut explicitement Canaplia et les raccourcis de progression du Shop. +L’alpha.224 ajoute Notch comme résident unique de la maison Indev et son combat de Titan. It's Alive possède l'entité persistante, Ouch les attaques et dégâts, Sanctuary le jalon mondial de victoire et l'Atlas, tandis que MasterKey fournit les commandes d'inspection et de restauration. Les anciennes entités `portals:notch` restent chargeables. La première victoire réserve maintenant un unique `iliketomoveit:magic_carpet` dans un coffre signalé par feu d'artifice. L'ancien `portals:notch_totem` est migré sans perte ; après Notch, Only Fun ouvre l'offre de remplacement au Shop avec paiement serveur et livraison par Mailbox. Le clic molette trie aussi les coffres, barils, boîtes de Shulker, entonnoirs et distributeurs, ou l'inventaire du joueur lorsqu'il est survolé, sans déplacer la hotbar. Le protocole Sanctuary passe à 23 : client et serveur doivent utiliser l'alpha.224. + L’alpha.223 ajoute le tri natif des rangées de stockage par clic molette sans déplacer la hotbar ni les emplacements spéciaux. Le suivi des quêtes propose désormais le texte transparent aligné sous la colonne gauche du F3 ou le panneau original de Chris, avec bascule configurable sur `N` et contrats ordonnés par récompense. JEI passe à la bêta Fabric 26.2 `30.29.0.198`. L’alpha.222 améliore le terminal de stockage avec une recherche Unicode, des quantités compactes et des emplacements qui ne glissent plus lorsqu'une pile est vidée. Elle ajoute aussi le suivi textuel des quêtes actives en haut à gauche, masquable avec une touche configurable, ainsi que des suggestions d’IDs d’items et de mobs dans l’éditeur de demandes. JEI passe à la bêta Fabric 26.2 `30.29.0.196`. -Le lot non distribué ajoute Notch comme résident unique de la maison Indev et son combat de Titan. It's Alive possède l'entité persistante, Ouch les attaques et dégâts, Sanctuary le jalon mondial de victoire et l'Atlas, tandis que MasterKey fournit les commandes d'inspection et de restauration. Les anciennes entités `portals:notch` restent chargeables. La première victoire réserve maintenant un unique `iliketomoveit:magic_carpet` dans un coffre signalé par feu d'artifice. L'ancien `portals:notch_totem` est migré sans perte ; après Notch, Only Fun ouvre l'offre de remplacement au Shop avec paiement serveur et livraison par Mailbox. - L’alpha.221 corrige la cause réelle du disque blanc ralenti et trop grave : Ambiance décode désormais la source AAC en stéréo native à 48 kHz, puis moyenne explicitement chaque paire gauche/droite vers le flux mono positionnel de Minecraft. OpenAL reste à sa hauteur normale `1.0`, sans compensation artificielle ni changement de durée. L’alpha.220 transforme le terminal de stockage en véritable menu de conteneur, sans bouton de fermeture propriétaire. Les clics gauche/droit et shift-clic permettent maintenant de retirer ou déposer des piles depuis toutes les rangées d’inventaire débloquées par Sanctuary, jusqu’à six ; la grille agrégée reste non réorganisable et remplit chaque coffre ou baril dans l’ordre de découverte avant de passer au suivant. diff --git a/build.gradle b/build.gradle index ddcc292..d82454a 100644 --- a/build.gradle +++ b/build.gradle @@ -2915,9 +2915,9 @@ tasks.register("verifyNotchEncounter") { def textureHash = MessageDigest.getInstance("SHA-256").digest(texture.bytes).encodeHex().toString() if (rootProject.itsalive_version != "0.0.0-alpha.37" || rootProject.ouch_version != "0.0.0-alpha.11" - || rootProject.sanctuary_version != "0.0.0-alpha.127" + || rootProject.sanctuary_version != "0.0.0-alpha.128" || rootProject.masterkey_version != "0.0.0-alpha.9" - || rootProject.pack_version != "26.2.0-alpha.223" + || rootProject.pack_version != "26.2.0-alpha.224" || manifests.itsalive.custom?.sanctuary26?.data_version != 4 || manifests.sanctuary.custom?.sanctuary26?.data_version != 13 || manifests.ouch.depends?.itsalive != ">=0.0.0-alpha.37" @@ -2968,7 +2968,7 @@ tasks.register("verifyMagicCarpet") { group = "verification" description = "Checks CARPET-01 through CARPET-03 reward, migration, platform and Shop contracts." inputs.file(file("iliketomoveit/MAGIC_CARPET.md")) - inputs.file(file("pack/migrations/26.2.0-alpha.223-magic-carpet-unreleased.json")) + inputs.file(file("pack/migrations/26.2.0-alpha.223-notch-magic-carpet-container-sort-to-alpha.224.json")) inputs.files(fileTree("iliketomoveit/src/main/java") { include "**/*MagicCarpet*.java", "**/*NotchCarpet*.java" }) inputs.files(fileTree("sanctuary/src/main/java") { include "**/NotchVictory*.java", "**/SanctuaryNotchMilestone.java", @@ -2985,7 +2985,7 @@ tasks.register("verifyMagicCarpet") { doLast { def migration = new JsonSlurper().parse(file( - "pack/migrations/26.2.0-alpha.223-magic-carpet-unreleased.json")) + "pack/migrations/26.2.0-alpha.223-notch-magic-carpet-container-sort-to-alpha.224.json")) def manifests = ["iliketomoveit", "onlyfun", "sanctuary"].collectEntries { id -> [(id): new JsonSlurper().parse(file("${id}/src/main/resources/fabric.mod.json"))] } @@ -3000,10 +3000,10 @@ tasks.register("verifyMagicCarpet") { def provenance = file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/api/item/SanctuaryItemProvenance.java").text def gate = file("onlyfun/src/main/java/fr/koka99cab/sanctuary26/onlyfun/shop/OnlyFunBossShopGate.java").text def shop = file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/shop/ShopService.java").text - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.iliketomoveit_version != "0.0.0-alpha.17" || rootProject.onlyfun_version != "0.0.0-alpha.26" - || rootProject.sanctuary_version != "0.0.0-alpha.127" + || rootProject.sanctuary_version != "0.0.0-alpha.128" || manifests.iliketomoveit.custom?.sanctuary26?.data_version != 4 || manifests.iliketomoveit.custom?.sanctuary26?.network_protocol != 5 || manifests.iliketomoveit.depends?.sanctuary != ">=0.0.0-alpha.127" @@ -3012,10 +3012,10 @@ tasks.register("verifyMagicCarpet") { || manifests.onlyfun.depends?.iliketomoveit != ">=0.0.0-alpha.17" || manifests.onlyfun.depends?.sanctuary != ">=0.0.0-alpha.127" || manifests.sanctuary.custom?.sanctuary26?.data_version != 13 - || manifests.sanctuary.custom?.sanctuary26?.network_protocol != 22 - || migration.status != "unreleased" + || manifests.sanctuary.custom?.sanctuary26?.network_protocol != 23 + || migration.status != "released" || migration.source?.pack_version != "26.2.0-alpha.223" - || migration.target?.pack_version != "26.2.0-alpha.223" + || migration.target?.pack_version != "26.2.0-alpha.224" || migration.magic_carpet?.canonical_item != "iliketomoveit:magic_carpet" || migration.magic_carpet?.legacy_item != "portals:notch_totem" || migration.magic_carpet?.legacy_locations != ["player_inventory", "container", "item_entity"] @@ -3031,6 +3031,9 @@ tasks.register("verifyMagicCarpet") { || migration.compatibility?.iliketomoveit_data_version != 4 || migration.compatibility?.sanctuary_data_version != 13 || migration.compatibility?.sanctuary_notch_state_data_version != 2 + || migration.compatibility?.sanctuary_source_network_protocol != 22 + || migration.compatibility?.sanctuary_target_network_protocol != 23 + || migration.compatibility?.sanctuary_network_protocol_changed != true || !items.contains('Identifier.fromNamespaceAndPath("portals", "notch_totem")') || !migrationJava.contains("transmuteCopy(ILikeToMoveItItems.MAGIC_CARPET") || !migrationJava.contains("stampIfAbsent") @@ -3628,8 +3631,8 @@ tasks.register("verifyProgressivePauseMenuRelease") { [(locale): new JsonSlurper().parse(file( "sanctuary/src/main/resources/assets/sanctuary/lang/${locale}.json"))] } - if (rootProject.pack_version != "26.2.0-alpha.223" - || rootProject.sanctuary_version != "0.0.0-alpha.127" + if (rootProject.pack_version != "26.2.0-alpha.224" + || rootProject.sanctuary_version != "0.0.0-alpha.128" || rootProject.onlyfun_version != "0.0.0-alpha.26" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version || migration.source?.modules != [sanctuary: "0.0.0-alpha.108", onlyfun: "0.0.0-alpha.17"] @@ -3678,7 +3681,7 @@ tasks.register("verifyMirrorLavenderDrawerRelease") { def redStonerRegistry = file( "redstoner/src/main/java/fr/koka99cab/sanctuary26/redstoner/registry/RedStonerRegistries.java").text def drawerRecipe = file("redstoner/src/main/resources/data/redstoner/recipe/drawer.json") - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.anotherworld_version != "0.0.0-alpha.55" || rootProject.redstoner_version != "0.0.0-alpha.13" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version @@ -4470,9 +4473,9 @@ tasks.register("verifyShopPricingLayoutRelease") { "pack/migrations/26.2.0-alpha.192-shop-pricing-layout-to-alpha.193.json")) def release = new JsonSlurper().parse(file("pack/release.json")) def index = new JsonSlurper().parse(file("pack/prism/modrinth.index.json")) - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.onlyfun_version != "0.0.0-alpha.26" - || rootProject.sanctuary_version != "0.0.0-alpha.127" + || rootProject.sanctuary_version != "0.0.0-alpha.128" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version || migration.source?.pack_version != "26.2.0-alpha.192" || migration.target?.pack_version != "26.2.0-alpha.193" @@ -4515,7 +4518,7 @@ tasks.register("verifyCuisineCropsRelease") { def climate = file("itsalive/src/main/java/fr/koka99cab/sanctuary26/itsalive/agriculture/ClimateCropForaging.java").text def rice = file("itsalive/src/main/java/fr/koka99cab/sanctuary26/itsalive/agriculture/RiceCropBlock.java").text def bean = file("itsalive/src/main/java/fr/koka99cab/sanctuary26/itsalive/agriculture/BeanCropBlock.java").text - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.itsalive_version != "0.0.0-alpha.37" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version || migration.source?.pack_version != "26.2.0-alpha.193" @@ -4564,9 +4567,9 @@ tasks.register("verifyShopCsvBossGatesRelease") { def bossGate = file("onlyfun/src/main/java/fr/koka99cab/sanctuary26/onlyfun/shop/OnlyFunBossShopGate.java").text def catalog = file("onlyfun/src/main/java/fr/koka99cab/sanctuary26/onlyfun/shop/OnlyFunShopCatalog.java").text def offerCatalog = file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/shop/ShopOfferCatalog.java").text - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.onlyfun_version != "0.0.0-alpha.26" - || rootProject.sanctuary_version != "0.0.0-alpha.127" + || rootProject.sanctuary_version != "0.0.0-alpha.128" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version || migration.source?.pack_version != "26.2.0-alpha.194" || migration.source?.modules != [onlyfun: "0.0.0-alpha.18", sanctuary: "0.0.0-alpha.110"] @@ -4611,7 +4614,7 @@ tasks.register("verifyCulinaryMailboxGrappleFixesRelease") { def release = new JsonSlurper().parse(file("pack/release.json")) def prism = new JsonSlurper().parse(file("pack/prism/modrinth.index.json")) def packwiz = file("pack/packwiz/pack.toml").text - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || migration.source?.pack_version != "26.2.0-alpha.195" || migration.target?.pack_version != "26.2.0-alpha.196" || migration.target?.modules != [ @@ -4629,10 +4632,10 @@ tasks.register("verifyCulinaryMailboxGrappleFixesRelease") { || migration.distribution?.jei?.target != "30.26.0.182" || migration.compatibility?.save_migration_required != false || migration.compatibility?.registry_ids_changed != false - || release.pack_version != "26.2.0-alpha.223" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" - || prism.versionId != "26.2.0-alpha.223" - || !packwiz.contains('version = "26.2.0-alpha.223"')) { + || release.pack_version != "26.2.0-alpha.224" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" + || prism.versionId != "26.2.0-alpha.224" + || !packwiz.contains('version = "26.2.0-alpha.224"')) { throw new GradleException("The alpha.196 culinary, mailbox and grapple release contract is incomplete") } } @@ -4657,9 +4660,9 @@ tasks.register("verifyQuestRequestsCauldronBatchesRelease") { def prism = new JsonSlurper().parse(file("pack/prism/modrinth.index.json")) def packwiz = file("pack/packwiz/pack.toml").text def sanctuaryManifest = new JsonSlurper().parse(file("sanctuary/src/main/resources/fabric.mod.json")) - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.itsalive_version != "0.0.0-alpha.37" - || rootProject.sanctuary_version != "0.0.0-alpha.127" + || rootProject.sanctuary_version != "0.0.0-alpha.128" || migration.source?.pack_version != "26.2.0-alpha.196" || migration.target?.pack_version != "26.2.0-alpha.197" || migration.target?.modules != [itsalive: "0.0.0-alpha.29", sanctuary: "0.0.0-alpha.113"] @@ -4676,11 +4679,11 @@ tasks.register("verifyQuestRequestsCauldronBatchesRelease") { || migration.distribution?.jei?.prism_source != "30.24.0.176" || migration.distribution?.jei?.target != "30.26.0.186" || migration.compatibility?.sanctuary_target_network_protocol != 19 - || sanctuaryManifest.custom?.sanctuary26?.network_protocol != 22 - || release.pack_version != "26.2.0-alpha.223" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" - || prism.versionId != "26.2.0-alpha.223" - || !packwiz.contains('version = "26.2.0-alpha.223"')) { + || sanctuaryManifest.custom?.sanctuary26?.network_protocol != 23 + || release.pack_version != "26.2.0-alpha.224" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" + || prism.versionId != "26.2.0-alpha.224" + || !packwiz.contains('version = "26.2.0-alpha.224"')) { throw new GradleException("The alpha.197 quest-request and cauldron-batch release contract is incomplete") } } @@ -4707,7 +4710,7 @@ tasks.register("verifyFermentationBarrelAutomationRelease") { def packwiz = file("pack/packwiz/pack.toml").text def packwizIndex = file("pack/packwiz/index.toml").text def itsAliveManifest = new JsonSlurper().parse(file("itsalive/src/main/resources/fabric.mod.json")) - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.itsalive_version != "0.0.0-alpha.37" || migration.source?.pack_version != "26.2.0-alpha.197" || migration.target?.pack_version != "26.2.0-alpha.198" @@ -4726,11 +4729,11 @@ tasks.register("verifyFermentationBarrelAutomationRelease") { || migration.distribution?.packwiz_index_refreshed != true || itsAliveManifest.custom?.sanctuary26?.data_version != 4 || itsAliveManifest.custom?.sanctuary26?.network_protocol != 4 - || release.pack_version != "26.2.0-alpha.223" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" - || prism.versionId != "26.2.0-alpha.223" - || !packwiz.contains('version = "26.2.0-alpha.223"') - || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.36.jar"')) { + || release.pack_version != "26.2.0-alpha.224" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" + || prism.versionId != "26.2.0-alpha.224" + || !packwiz.contains('version = "26.2.0-alpha.224"') + || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.37.jar"')) { throw new GradleException("The alpha.198 fermentation barrel release contract is incomplete") } } @@ -4757,9 +4760,9 @@ tasks.register("verifyQuestRequestContractsRelease") { def packwiz = file("pack/packwiz/pack.toml").text def packwizIndex = file("pack/packwiz/index.toml").text def sanctuaryManifest = new JsonSlurper().parse(file("sanctuary/src/main/resources/fabric.mod.json")) - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.itsalive_version != "0.0.0-alpha.37" - || rootProject.sanctuary_version != "0.0.0-alpha.127" + || rootProject.sanctuary_version != "0.0.0-alpha.128" || migration.source?.pack_version != "26.2.0-alpha.198" || migration.source?.modules?.sanctuary != "0.0.0-alpha.114" || migration.target?.pack_version != "26.2.0-alpha.199" @@ -4770,13 +4773,13 @@ tasks.register("verifyQuestRequestContractsRelease") { || migration.quest_request_contracts?.right_click_shows_details_before_claim != true || migration.quest_request_contracts?.chat_accept_revalidates_distance_owner_sign_and_claim != true || migration.compatibility?.sanctuary_target_network_protocol != 20 - || sanctuaryManifest.custom?.sanctuary26?.network_protocol != 22 - || release.pack_version != "26.2.0-alpha.223" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" - || prism.versionId != "26.2.0-alpha.223" - || !packwiz.contains('version = "26.2.0-alpha.223"') - || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.36.jar"') - || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.125.jar"')) { + || sanctuaryManifest.custom?.sanctuary26?.network_protocol != 23 + || release.pack_version != "26.2.0-alpha.224" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" + || prism.versionId != "26.2.0-alpha.224" + || !packwiz.contains('version = "26.2.0-alpha.224"') + || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.37.jar"') + || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.128.jar"')) { throw new GradleException("The alpha.199 quest-request contract release is incomplete") } } @@ -4812,7 +4815,7 @@ tasks.register("verifyWeatherTntAmbianceRelease") { def ambianceManifest = new JsonSlurper().parse(file("ambiance/src/main/resources/fabric.mod.json")) def ouchManifest = new JsonSlurper().parse(file("ouch/src/main/resources/fabric.mod.json")) def rootBuild = file("build.gradle").text - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.ambiance_version != "0.0.0-alpha.22" || rootProject.ouch_version != "0.0.0-alpha.11" || migration.source?.pack_version != "26.2.0-alpha.199" @@ -4846,12 +4849,12 @@ tasks.register("verifyWeatherTntAmbianceRelease") { || !weatherTnt.contains("AmbianceDailyWeather.CLEAR") || !weatherTnt.contains("CLEAR_WEATHER_TICKS = 864_000") || weatherTnt.contains("setWeatherParameters") - || release.pack_version != "26.2.0-alpha.223" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" - || prism.versionId != "26.2.0-alpha.223" - || !packwiz.contains('version = "26.2.0-alpha.223"') + || release.pack_version != "26.2.0-alpha.224" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" + || prism.versionId != "26.2.0-alpha.224" + || !packwiz.contains('version = "26.2.0-alpha.224"') || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.22.jar"') - || !packwizIndex.contains('file = "mods/ouch-0.0.0-alpha.10.jar"')) { + || !packwizIndex.contains('file = "mods/ouch-0.0.0-alpha.11.jar"')) { throw new GradleException("The alpha.200 Weather TNT and Ambiance release is incomplete") } } @@ -4878,8 +4881,8 @@ tasks.register("verifyQuestRequestEscrowRelease") { def packwiz = file("pack/packwiz/pack.toml").text def packwizIndex = file("pack/packwiz/index.toml").text def sanctuaryManifest = new JsonSlurper().parse(file("sanctuary/src/main/resources/fabric.mod.json")) - if (rootProject.pack_version != "26.2.0-alpha.223" - || rootProject.sanctuary_version != "0.0.0-alpha.127" + if (rootProject.pack_version != "26.2.0-alpha.224" + || rootProject.sanctuary_version != "0.0.0-alpha.128" || migration.source?.pack_version != "26.2.0-alpha.200" || migration.source?.modules?.sanctuary != "0.0.0-alpha.115" || migration.target?.pack_version != "26.2.0-alpha.201" @@ -4892,12 +4895,12 @@ tasks.register("verifyQuestRequestEscrowRelease") { || migration.quest_request_escrow?.reward_delivery_to_claimant_mailbox != true || migration.compatibility?.sanctuary_target_network_protocol != 21 || sanctuaryManifest.custom?.sanctuary26?.data_version != 13 - || sanctuaryManifest.custom?.sanctuary26?.network_protocol != 22 - || release.pack_version != "26.2.0-alpha.223" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" - || prism.versionId != "26.2.0-alpha.223" - || !packwiz.contains('version = "26.2.0-alpha.223"') - || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.125.jar"')) { + || sanctuaryManifest.custom?.sanctuary26?.network_protocol != 23 + || release.pack_version != "26.2.0-alpha.224" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" + || prism.versionId != "26.2.0-alpha.224" + || !packwiz.contains('version = "26.2.0-alpha.224"') + || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.128.jar"')) { throw new GradleException("The alpha.201 quest-request escrow release is incomplete") } } @@ -4932,11 +4935,11 @@ tasks.register("verifyWaystoneShopCulinaryAlpha202Release") { "iliketomoveit/src/main/resources/fabric.mod.json")) def sanctuaryManifest = new JsonSlurper().parse(file( "sanctuary/src/main/resources/fabric.mod.json")) - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.anotherworld_version != "0.0.0-alpha.55" || rootProject.itsalive_version != "0.0.0-alpha.37" || rootProject.iliketomoveit_version != "0.0.0-alpha.17" - || rootProject.sanctuary_version != "0.0.0-alpha.127" + || rootProject.sanctuary_version != "0.0.0-alpha.128" || migration.source?.pack_version != "26.2.0-alpha.201" || migration.source?.modules != [ itsalive: "0.0.0-alpha.30", @@ -4971,15 +4974,15 @@ tasks.register("verifyWaystoneShopCulinaryAlpha202Release") { || moveItManifest.custom?.sanctuary26?.data_version != 4 || moveItManifest.custom?.sanctuary26?.network_protocol != 5 || sanctuaryManifest.custom?.sanctuary26?.data_version != 13 - || sanctuaryManifest.custom?.sanctuary26?.network_protocol != 22 - || release.pack_version != "26.2.0-alpha.223" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" - || prism.versionId != "26.2.0-alpha.223" - || !packwiz.contains('version = "26.2.0-alpha.223"') + || sanctuaryManifest.custom?.sanctuary26?.network_protocol != 23 + || release.pack_version != "26.2.0-alpha.224" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" + || prism.versionId != "26.2.0-alpha.224" + || !packwiz.contains('version = "26.2.0-alpha.224"') || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"') - || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.36.jar"') - || !packwizIndex.contains('file = "mods/iliketomoveit-0.0.0-alpha.16.jar"') - || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.125.jar"')) { + || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.37.jar"') + || !packwizIndex.contains('file = "mods/iliketomoveit-0.0.0-alpha.17.jar"') + || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.128.jar"')) { throw new GradleException("The alpha.202 Waystone, Shop and culinary lectern release is incomplete") } } @@ -5092,9 +5095,9 @@ tasks.register("verifySafeVaultFeature") { def image = javax.imageio.ImageIO.read(file("anotherworld/src/main/resources/assets/anotherworld/textures/${path}")) image == null || image.width != size[0] || image.height != size[1] }.keySet() - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.anotherworld_version != "0.0.0-alpha.55" - || rootProject.sanctuary_version != "0.0.0-alpha.127" + || rootProject.sanctuary_version != "0.0.0-alpha.128" || migration.schema_version != 1 || migration.source?.pack_version != "26.2.0-alpha.201" || migration.target?.pack_version != "26.2.0-alpha.202" @@ -5284,7 +5287,7 @@ tasks.register("verifySafeVaultInterfaceAlpha203Release") { def packwiz = file("pack/packwiz/pack.toml").text def packwizIndex = file("pack/packwiz/index.toml").text def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.198.jar" } - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.anotherworld_version != "0.0.0-alpha.55" || migration.source?.pack_version != "26.2.0-alpha.202" || migration.source?.modules != [anotherworld: "0.0.0-alpha.50"] @@ -5302,9 +5305,9 @@ tasks.register("verifySafeVaultInterfaceAlpha203Release") { || migration.distribution?.jei?.modrinth_version_id != "XXTFqqwG" || migration.distribution?.jei?.prism_manifest_updated != true || release.pack_version != rootProject.pack_version - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.223"') + || !packwiz.contains('version = "26.2.0-alpha.224"') || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"') || packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.50.jar"') || jeiFiles.size() != 1 @@ -5330,7 +5333,7 @@ tasks.register("verifySafeVaultFixAlpha204Release") { def packwiz = file("pack/packwiz/pack.toml").text def packwizIndex = file("pack/packwiz/index.toml").text def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.198.jar" } - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.anotherworld_version != "0.0.0-alpha.55" || migration.source?.pack_version != "26.2.0-alpha.203" || migration.source?.modules != [anotherworld: "0.0.0-alpha.51"] @@ -5356,9 +5359,9 @@ tasks.register("verifySafeVaultFixAlpha204Release") { || migration.distribution?.jei?.modrinth_version_id != "OcMayhUH" || migration.distribution?.jei?.prism_manifest_updated != true || release.pack_version != rootProject.pack_version - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.223"') + || !packwiz.contains('version = "26.2.0-alpha.224"') || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"') || packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.51.jar"') || jeiFiles.size() != 1 @@ -5384,7 +5387,7 @@ tasks.register("verifySafeVaultCubeAlpha205Release") { def packwiz = file("pack/packwiz/pack.toml").text def packwizIndex = file("pack/packwiz/index.toml").text def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.198.jar" } - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.anotherworld_version != "0.0.0-alpha.55" || migration.source?.pack_version != "26.2.0-alpha.204" || migration.source?.modules != [anotherworld: "0.0.0-alpha.52"] @@ -5413,9 +5416,9 @@ tasks.register("verifySafeVaultCubeAlpha205Release") { || migration.distribution?.jei?.modrinth_version_id != "NtfJDMhk" || migration.distribution?.jei?.prism_manifest_updated != true || release.pack_version != rootProject.pack_version - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.223"') + || !packwiz.contains('version = "26.2.0-alpha.224"') || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"') || packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.52.jar"') || jeiFiles.size() != 1 @@ -5442,7 +5445,7 @@ tasks.register("verifySafeVaultCtmAlpha206Release") { def packwiz = file("pack/packwiz/pack.toml").text def packwizIndex = file("pack/packwiz/index.toml").text def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.198.jar" } - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.anotherworld_version != "0.0.0-alpha.55" || migration.source?.pack_version != "26.2.0-alpha.205" || migration.source?.modules != [anotherworld: "0.0.0-alpha.53"] @@ -5465,9 +5468,9 @@ tasks.register("verifySafeVaultCtmAlpha206Release") { || migration.compatibility?.pack_release_updated != true || migration.distribution?.packwiz_index_refreshed != true || release.pack_version != rootProject.pack_version - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.223"') + || !packwiz.contains('version = "26.2.0-alpha.224"') || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"') || packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.53.jar"') || jeiFiles.size() != 1 @@ -5494,7 +5497,7 @@ tasks.register("verifySafeVaultUnlimitedAlpha207Release") { def packwiz = file("pack/packwiz/pack.toml").text def packwizIndex = file("pack/packwiz/index.toml").text def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.198.jar" } - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.anotherworld_version != "0.0.0-alpha.55" || migration.source?.pack_version != "26.2.0-alpha.206" || migration.source?.modules != [anotherworld: "0.0.0-alpha.54"] @@ -5524,9 +5527,9 @@ tasks.register("verifySafeVaultUnlimitedAlpha207Release") { || migration.compatibility?.pack_release_updated != true || migration.distribution?.packwiz_index_refreshed != true || release.pack_version != rootProject.pack_version - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.223"') + || !packwiz.contains('version = "26.2.0-alpha.224"') || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"') || packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.54.jar"') || jeiFiles.size() != 1 @@ -5582,7 +5585,7 @@ tasks.register("verifyCanapliaFoundation") { "itsalive/src/main/java/fr/koka99cab/sanctuary26/itsalive/ItsAliveMod.java").text def visualApiSource = file( "ambiance/src/main/java/fr/koka99cab/sanctuary26/ambiance/api/visual/AmbianceVisualEffectApi.java").text - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.itsalive_version != "0.0.0-alpha.37" || rootProject.ambiance_version != "0.0.0-alpha.22" || migration.issue != 35 @@ -5834,7 +5837,7 @@ tasks.register("verifyCanapliaAlpha209Release") { ambiance: "0.0.0-alpha.14", itsalive: "0.0.0-alpha.33", onlyfun: "0.0.0-alpha.20"] - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.ambiance_version != "0.0.0-alpha.22" || rootProject.itsalive_version != "0.0.0-alpha.37" || rootProject.onlyfun_version != "0.0.0-alpha.26" @@ -5882,12 +5885,12 @@ tasks.register("verifyCanapliaAlpha209Release") { || fixMigration.compatibility?.network_protocol_changed != false || fixMigration.distribution?.pack_release_updated != true || release.pack_version != rootProject.pack_version - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.223"') + || !packwiz.contains('version = "26.2.0-alpha.224"') || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.22.jar"') - || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.36.jar"') - || !packwizIndex.contains('file = "mods/onlyfun-0.0.0-alpha.25.jar"') + || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.37.jar"') + || !packwizIndex.contains('file = "mods/onlyfun-0.0.0-alpha.26.jar"') || packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.12.jar"') || packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.33.jar"') || packwizIndex.contains('file = "mods/onlyfun-0.0.0-alpha.19.jar"') @@ -5936,11 +5939,12 @@ tasks.register("verifyAlpha210Release") { itsalive: "0.0.0-alpha.35"] def currentModules = [ ambiance: "0.0.0-alpha.22", - sanctuary: "0.0.0-alpha.125", - onlyfun: "0.0.0-alpha.25", - ouch: "0.0.0-alpha.10", - iliketomoveit: "0.0.0-alpha.16", - itsalive: "0.0.0-alpha.36"] + sanctuary: "0.0.0-alpha.128", + onlyfun: "0.0.0-alpha.26", + ouch: "0.0.0-alpha.11", + masterkey: "0.0.0-alpha.9", + iliketomoveit: "0.0.0-alpha.17", + itsalive: "0.0.0-alpha.37"] def requiredJars = currentModules.collect { id, version -> "file = \"mods/${id}-${version}.jar\"" } @@ -5952,8 +5956,8 @@ tasks.register("verifyAlpha210Release") { def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.198.jar" } - if (rootProject.pack_version != "26.2.0-alpha.223" - || rootProject.sanctuary_version != "0.0.0-alpha.127" + if (rootProject.pack_version != "26.2.0-alpha.224" + || rootProject.sanctuary_version != "0.0.0-alpha.128" || rootProject.onlyfun_version != "0.0.0-alpha.26" || rootProject.iliketomoveit_version != "0.0.0-alpha.17" || rootProject.itsalive_version != "0.0.0-alpha.37" @@ -5991,17 +5995,17 @@ tasks.register("verifyAlpha210Release") { || migration.distribution?.jei?.modrinth_version_id != "qaCQ7LGO" || migration.distribution?.jei?.packwiz_and_prism_synchronized != true || manifests.sanctuary.custom?.sanctuary26?.data_version != 13 - || manifests.sanctuary.custom?.sanctuary26?.network_protocol != 22 + || manifests.sanctuary.custom?.sanctuary26?.network_protocol != 23 || manifests.onlyfun.custom?.sanctuary26?.data_version != 2 || manifests.onlyfun.custom?.sanctuary26?.network_protocol != 3 || manifests.iliketomoveit.custom?.sanctuary26?.data_version != 4 || manifests.iliketomoveit.custom?.sanctuary26?.network_protocol != 5 || manifests.itsalive.custom?.sanctuary26?.data_version != 4 || manifests.itsalive.custom?.sanctuary26?.network_protocol != 4 - || release.pack_version != "26.2.0-alpha.223" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" - || prism.versionId != "26.2.0-alpha.223" - || !packwiz.contains('version = "26.2.0-alpha.223"') + || release.pack_version != "26.2.0-alpha.224" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" + || prism.versionId != "26.2.0-alpha.224" + || !packwiz.contains('version = "26.2.0-alpha.224"') || requiredJars.any { !packwizIndex.contains(it) } || obsoleteJars.any { packwizIndex.contains(it) } || jeiFiles.size() != 1 @@ -6048,16 +6052,18 @@ tasks.register("verifyAlpha211Release") { ouch: "0.0.0-alpha.10", sanctuary: "0.0.0-alpha.119"] def currentModules = expectedTarget + [ - sanctuary: "0.0.0-alpha.125", - onlyfun: "0.0.0-alpha.25", + sanctuary: "0.0.0-alpha.128", + onlyfun: "0.0.0-alpha.26", ambiance: "0.0.0-alpha.22", - iliketomoveit: "0.0.0-alpha.16"] - def workspaceModules = currentModules + [ - sanctuary: "0.0.0-alpha.127", onlyfun: "0.0.0-alpha.26", - iliketomoveit: "0.0.0-alpha.17", itsalive: "0.0.0-alpha.37", ouch: "0.0.0-alpha.11"] + iliketomoveit: "0.0.0-alpha.17", + itsalive: "0.0.0-alpha.37", + ouch: "0.0.0-alpha.11", + masterkey: "0.0.0-alpha.9"] + def workspaceModules = currentModules def expectedDataVersions = [ambiance: 2, itsalive: 3, onlyfun: 2, ouch: 1, sanctuary: 11] def workspaceDataVersions = [ambiance: 2, itsalive: 4, onlyfun: 2, ouch: 1, sanctuary: 13] def expectedProtocols = [ambiance: 6, itsalive: 4, onlyfun: 3, ouch: 1, sanctuary: 22] + def workspaceProtocols = expectedProtocols + [sanctuary: 23] def manifests = expectedTarget.collectEntries { id, version -> [(id): new JsonSlurper().parse(file("${id}/src/main/resources/fabric.mod.json"))] } @@ -6080,7 +6086,7 @@ tasks.register("verifyAlpha211Release") { def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.198.jar" } - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || workspaceModules.any { id, version -> rootProject.property("${id}_version") != version } || migration.source?.pack_version != "26.2.0-alpha.210" || migration.source?.modules != expectedSource @@ -6102,15 +6108,15 @@ tasks.register("verifyAlpha211Release") { || migration.compatibility?.data_versions != expectedDataVersions || migration.compatibility?.network_protocols != expectedProtocols || manifestDataVersions != workspaceDataVersions - || manifestProtocols != expectedProtocols + || manifestProtocols != workspaceProtocols || migration.distribution?.pack_release_updated != true || migration.distribution?.packwiz_index_refreshed != true || migration.distribution?.prism_modrinth_index_updated != true || migration.distribution?.shared_client_server_mrpack != true || release.pack_version != rootProject.pack_version - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.223"') + || !packwiz.contains('version = "26.2.0-alpha.224"') || requiredJars.any { !packwizIndex.contains(it) } || obsoleteJars.any { packwizIndex.contains(it) } || prism.files?.size() != 5 @@ -6118,7 +6124,7 @@ tasks.register("verifyAlpha211Release") { || jeiFiles[0].hashes?.sha1 != "652e964c71a699fdfdd96cda265ea703b13c6ef4" || jeiFiles[0].hashes?.sha512 != "06131c9528549840e07ddc9634e23454cd454380d7749a23d818f0efe0dacc02874e967ceb74a24ee82efb13e0fe2df4026f988a68f54f890586967e91dcaa5b" || !changelog.contains("## `26.2.0-alpha.211`") - || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.224`**")) { throw new GradleException("The alpha.211 Abjection and gameplay-polish release is incomplete") } } @@ -6152,8 +6158,8 @@ tasks.register("verifyAlpha212Release") { def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.198.jar" } - if (rootProject.pack_version != "26.2.0-alpha.223" - || rootProject.sanctuary_version != "0.0.0-alpha.127" + if (rootProject.pack_version != "26.2.0-alpha.224" + || rootProject.sanctuary_version != "0.0.0-alpha.128" || migration.source?.pack_version != "26.2.0-alpha.211" || migration.source?.modules != [sanctuary: "0.0.0-alpha.119"] || migration.target?.pack_version != "26.2.0-alpha.212" @@ -6172,18 +6178,18 @@ tasks.register("verifyAlpha212Release") { || migration.distribution?.prism_modrinth_index_updated != true || migration.distribution?.shared_client_server_mrpack != true || manifest.custom?.sanctuary26?.data_version != 13 - || manifest.custom?.sanctuary26?.network_protocol != 22 + || manifest.custom?.sanctuary26?.network_protocol != 23 || !minecraftMixin.contains('method = "pickBlockOrEntity"') - || release.pack_version != "26.2.0-alpha.223" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" - || prism.versionId != "26.2.0-alpha.223" + || release.pack_version != "26.2.0-alpha.224" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" + || prism.versionId != "26.2.0-alpha.224" || prism.files?.size() != 5 || jeiFiles.size() != 1 - || !packwiz.contains('version = "26.2.0-alpha.223"') - || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.125.jar"') + || !packwiz.contains('version = "26.2.0-alpha.224"') + || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.128.jar"') || packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.119.jar"') || !changelog.contains("## `26.2.0-alpha.212`") - || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.224`**")) { throw new GradleException("The alpha.212 Black Market startup-fix release is incomplete") } } @@ -6217,7 +6223,7 @@ tasks.register("verifyAlpha213Release") { def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.198.jar" } - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.ambiance_version != "0.0.0-alpha.22" || migration.source?.pack_version != "26.2.0-alpha.212" || migration.source?.modules != [ambiance: "0.0.0-alpha.15"] @@ -6241,16 +6247,16 @@ tasks.register("verifyAlpha213Release") { || manifest.custom?.sanctuary26?.network_protocol != 6 || !levelEventMixin.contains('@Mixin(LevelEventHandler.class)') || !levelEventMixin.contains('@Inject(method = "levelEvent"') - || release.pack_version != "26.2.0-alpha.223" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" - || prism.versionId != "26.2.0-alpha.223" + || release.pack_version != "26.2.0-alpha.224" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" + || prism.versionId != "26.2.0-alpha.224" || prism.files?.size() != 5 || jeiFiles.size() != 1 - || !packwiz.contains('version = "26.2.0-alpha.223"') + || !packwiz.contains('version = "26.2.0-alpha.224"') || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.22.jar"') || packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.15.jar"') || !changelog.contains("## `26.2.0-alpha.213`") - || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.224`**")) { throw new GradleException("The alpha.213 Ambiance startup-fix release is incomplete") } } @@ -6285,7 +6291,7 @@ tasks.register("verifyAlpha214Release") { "ambiance/src/main/java/fr/koka99cab/sanctuary26/ambiance/client/audio/WhiteDiscAudioPlayer.java").text def urlSmoke = file( "ambiance/src/test/java/fr/koka99cab/sanctuary26/ambiance/white_disc/WhiteDiscUrlSmoke.java").text - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.ambiance_version != "0.0.0-alpha.22" || migration.source?.pack_version != "26.2.0-alpha.213" || migration.source?.modules != [ambiance: "0.0.0-alpha.16"] @@ -6314,16 +6320,16 @@ tasks.register("verifyAlpha214Release") { || !audioPlayer.contains('message.ambiance.white_disc.loading') || !audioPlayer.contains('message.ambiance.white_disc.failed') || !urlSmoke.contains("https://youtu.be/Ue5ZBe-GzSM?si=78LSbtBQzUYzhA2Y") - || release.pack_version != "26.2.0-alpha.223" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" - || prism.versionId != "26.2.0-alpha.223" + || release.pack_version != "26.2.0-alpha.224" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" + || prism.versionId != "26.2.0-alpha.224" || prism.files?.size() != 5 - || !packwiz.contains('version = "26.2.0-alpha.223"') + || !packwiz.contains('version = "26.2.0-alpha.224"') || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.22.jar"') || packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.16.jar"') || !changelog.contains("## `26.2.0-alpha.214`") || changelog.contains("## Modifications non distribuées") - || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.224`**")) { throw new GradleException("The alpha.214 white-disc solo synchronization release is incomplete") } } @@ -6364,7 +6370,7 @@ tasks.register("verifyAlpha215Release") { "ambiance/src/main/java/fr/koka99cab/sanctuary26/ambiance/client/audio/LavaplayerAudioStream.java").text def playbackSmoke = file( "ambiance/src/test/java/fr/koka99cab/sanctuary26/ambiance/client/audio/WhiteDiscPlaybackSmoke.java").text - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.ambiance_version != "0.0.0-alpha.22" || migration.source?.pack_version != "26.2.0-alpha.214" || migration.source?.modules != [ambiance: "0.0.0-alpha.17"] @@ -6404,16 +6410,16 @@ tasks.register("verifyAlpha215Release") { || !playbackSmoke.contains("https://www.youtube.com/watch?v=Ue5ZBe-GzSM") || !playbackSmoke.contains("stream.paddedSilenceBytes() != 0L") || !playbackSmoke.contains("stream.decodedTimelineMillis() != 4_000L") - || release.pack_version != "26.2.0-alpha.223" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" - || prism.versionId != "26.2.0-alpha.223" + || release.pack_version != "26.2.0-alpha.224" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" + || prism.versionId != "26.2.0-alpha.224" || prism.files?.size() != 5 - || !packwiz.contains('version = "26.2.0-alpha.223"') + || !packwiz.contains('version = "26.2.0-alpha.224"') || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.22.jar"') || packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.17.jar"') || !changelog.contains("## `26.2.0-alpha.215`") || changelog.contains("## Modifications non distribuées") - || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.224`**")) { throw new GradleException("The alpha.215 resilient white-disc playback release is incomplete") } } @@ -6458,7 +6464,7 @@ tasks.register("verifyAlpha216Release") { "ambiance/src/test/java/fr/koka99cab/sanctuary26/ambiance/client/audio/LavaplayerAudioStreamSmoke.java").text def playbackSmoke = file( "ambiance/src/test/java/fr/koka99cab/sanctuary26/ambiance/client/audio/WhiteDiscPlaybackSmoke.java").text - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.ambiance_version != "0.0.0-alpha.22" || migration.source?.pack_version != "26.2.0-alpha.215" || migration.source?.modules != [ambiance: "0.0.0-alpha.18"] @@ -6502,16 +6508,16 @@ tasks.register("verifyAlpha216Release") { || !playbackSmoke.contains("stream.paddedSilenceBytes() != 0L") || !playbackSmoke.contains("stream.decodedTimelineMillis() != 4_000L") || !playbackSmoke.contains("LavaplayerAudioStream.SAMPLE_RATE * 2 * 4") - || release.pack_version != "26.2.0-alpha.223" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" - || prism.versionId != "26.2.0-alpha.223" + || release.pack_version != "26.2.0-alpha.224" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" + || prism.versionId != "26.2.0-alpha.224" || prism.files?.size() != 5 - || !packwiz.contains('version = "26.2.0-alpha.223"') + || !packwiz.contains('version = "26.2.0-alpha.224"') || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.22.jar"') || packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.18.jar"') || !changelog.contains("## `26.2.0-alpha.216`") || changelog.contains("## Modifications non distribuées") - || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.224`**")) { throw new GradleException("The alpha.216 white-disc audio-quality release is incomplete") } } @@ -6546,7 +6552,7 @@ tasks.register("verifyAlpha217Release") { "ambiance/src/main/java/fr/koka99cab/sanctuary26/ambiance/client/audio/WhiteDiscAudioPlayer.java").text def streamSmoke = file( "ambiance/src/test/java/fr/koka99cab/sanctuary26/ambiance/client/audio/LavaplayerAudioStreamSmoke.java").text - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.ambiance_version != "0.0.0-alpha.22" || migration.source?.pack_version != "26.2.0-alpha.216" || migration.source?.modules != [ambiance: "0.0.0-alpha.19"] @@ -6577,16 +6583,16 @@ tasks.register("verifyAlpha217Release") { || !audioPlayer.contains("PLAYBACK_PITCH = 1.0F") || audioPlayer.count("channel.setPitch(PLAYBACK_PITCH)") != 2 || !streamSmoke.contains("WhiteDiscAudioPlayer.PLAYBACK_PITCH - 1.0F") - || release.pack_version != "26.2.0-alpha.223" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" - || prism.versionId != "26.2.0-alpha.223" + || release.pack_version != "26.2.0-alpha.224" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" + || prism.versionId != "26.2.0-alpha.224" || prism.files?.size() != 5 - || !packwiz.contains('version = "26.2.0-alpha.223"') + || !packwiz.contains('version = "26.2.0-alpha.224"') || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.22.jar"') || packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.19.jar"') || !changelog.contains("## `26.2.0-alpha.217`") || changelog.contains("## Modifications non distribuées") - || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.224`**")) { throw new GradleException("The alpha.217 white-disc pitch release is incomplete") } } @@ -6634,14 +6640,16 @@ tasks.register("verifyAlpha218Release") { def targetModules = [ redstoner: "0.0.0-alpha.11", onlyfun: "0.0.0-alpha.25", sanctuary: "0.0.0-alpha.121"] def currentModules = targetModules + [redstoner: "0.0.0-alpha.13", - sanctuary: "0.0.0-alpha.125", iliketomoveit: "0.0.0-alpha.16", ambiance: "0.0.0-alpha.22"] + sanctuary: "0.0.0-alpha.128", onlyfun: "0.0.0-alpha.26", + iliketomoveit: "0.0.0-alpha.17", ambiance: "0.0.0-alpha.22", + itsalive: "0.0.0-alpha.37", ouch: "0.0.0-alpha.11", masterkey: "0.0.0-alpha.9"] def requiredJars = currentModules.collect { id, version -> "file = \"mods/${id}-${version}.jar\"" } def obsoleteJars = sourceModules.collect { id, version -> "file = \"mods/${id}-${version}.jar\"" } - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.redstoner_version != "0.0.0-alpha.13" || currentModules.findAll { id, version -> id != "redstoner" && id != "sanctuary" && id != "onlyfun" && id != "iliketomoveit" @@ -6650,7 +6658,7 @@ tasks.register("verifyAlpha218Release") { } || rootProject.onlyfun_version != "0.0.0-alpha.26" || rootProject.iliketomoveit_version != "0.0.0-alpha.17" - || rootProject.sanctuary_version != "0.0.0-alpha.127" + || rootProject.sanctuary_version != "0.0.0-alpha.128" || migration.source?.pack_version != "26.2.0-alpha.217" || migration.source?.modules != sourceModules || migration.target?.pack_version != "26.2.0-alpha.218" @@ -6675,20 +6683,20 @@ tasks.register("verifyAlpha218Release") { || manifests.onlyfun.custom?.sanctuary26?.data_version != 2 || manifests.onlyfun.custom?.sanctuary26?.network_protocol != 3 || manifests.sanctuary.custom?.sanctuary26?.data_version != 13 - || manifests.sanctuary.custom?.sanctuary26?.network_protocol != 22 + || manifests.sanctuary.custom?.sanctuary26?.network_protocol != 23 || !rules.contains("MAX_CONTAINERS = 128") || !rules.contains("PAGE_SIZE = 54") || !networking.contains("PROTOCOL_VERSION = 7") || !onlyFunPolicy.contains('namespace.equals("redstoner") && path.equals("storage_terminal")') || !blackMarketPolicy.contains('namespace.equals("redstoner") && path.equals("storage_terminal")') || release.pack_version != rootProject.pack_version - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.223"') + || !packwiz.contains('version = "26.2.0-alpha.224"') || requiredJars.any { !packwizIndex.contains(it) } || obsoleteJars.any { packwizIndex.contains(it) } || !changelog.contains("## `26.2.0-alpha.218`") - || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.224`**")) { throw new GradleException("The alpha.218 Storage Terminal release is incomplete") } } @@ -6733,9 +6741,10 @@ tasks.register("verifyAlpha219Release") { def targetModules = [ sanctuary: "0.0.0-alpha.122", iliketomoveit: "0.0.0-alpha.16", ambiance: "0.0.0-alpha.21"] def currentModules = targetModules + [ - ambiance: "0.0.0-alpha.22", sanctuary: "0.0.0-alpha.125"] - def workspaceModules = currentModules + [ - sanctuary: "0.0.0-alpha.127", iliketomoveit: "0.0.0-alpha.17"] + ambiance: "0.0.0-alpha.22", sanctuary: "0.0.0-alpha.128", + iliketomoveit: "0.0.0-alpha.17", onlyfun: "0.0.0-alpha.26", + itsalive: "0.0.0-alpha.37", ouch: "0.0.0-alpha.11", masterkey: "0.0.0-alpha.9"] + def workspaceModules = currentModules def requiredJars = currentModules.collect { id, version -> "file = \"mods/${id}-${version}.jar\"" } @@ -6750,7 +6759,7 @@ tasks.register("verifyAlpha219Release") { include "**/*golden*days*.zip", "**/*golden*days*.jar" exclude "**/build/**", "**/.gradle/**", "**/.git/**" }.files - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || workspaceModules.any { id, version -> rootProject.property("${id}_version") != version } || migration.source?.pack_version != "26.2.0-alpha.218" || migration.source?.modules != sourceModules @@ -6776,21 +6785,21 @@ tasks.register("verifyAlpha219Release") { || migration.compatibility?.ambiance_data_version != 2 || migration.compatibility?.ambiance_network_protocol != 6 || manifests.sanctuary.custom?.sanctuary26?.data_version != 13 - || manifests.sanctuary.custom?.sanctuary26?.network_protocol != 22 + || manifests.sanctuary.custom?.sanctuary26?.network_protocol != 23 || manifests.iliketomoveit.custom?.sanctuary26?.data_version != 4 || manifests.iliketomoveit.custom?.sanctuary26?.network_protocol != 5 || manifests.ambiance.custom?.sanctuary26?.data_version != 2 || manifests.ambiance.custom?.sanctuary26?.network_protocol != 6 || release.pack_version != rootProject.pack_version - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" || prism.versionId != rootProject.pack_version || prism.files.any { it.path.toLowerCase().contains("golden-days") } - || !packwiz.contains('version = "26.2.0-alpha.223"') + || !packwiz.contains('version = "26.2.0-alpha.224"') || requiredJars.any { !packwizIndex.contains(it) } || obsoleteJars.any { packwizIndex.contains(it) } || !forbiddenGoldenArchives.isEmpty() || !changelog.contains("## `26.2.0-alpha.219`") - || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.224`**")) { throw new GradleException("The alpha.219 finite Alpha/Indev release is incomplete") } } @@ -6829,7 +6838,7 @@ tasks.register("verifyAlpha220Release") { "redstoner/src/main/java/fr/koka99cab/sanctuary26/redstoner/client/gui/StorageTerminalScreen.java").text def networking = file( "redstoner/src/main/java/fr/koka99cab/sanctuary26/redstoner/network/RedStonerNetworking.java").text - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.redstoner_version != "0.0.0-alpha.13" || migration.source?.pack_version != "26.2.0-alpha.219" || migration.source?.modules != [redstoner: "0.0.0-alpha.11"] @@ -6870,13 +6879,13 @@ tasks.register("verifyAlpha220Release") { || networking.contains("storage_terminal_snapshot") || networking.contains("storage_terminal_action") || release.pack_version != rootProject.pack_version - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.223"') + || !packwiz.contains('version = "26.2.0-alpha.224"') || !packwizIndex.contains('file = "mods/redstoner-0.0.0-alpha.13.jar"') || packwizIndex.contains('file = "mods/redstoner-0.0.0-alpha.11.jar"') || !changelog.contains("## `26.2.0-alpha.220`") - || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.224`**")) { throw new GradleException("The alpha.220 Storage Terminal menu release is incomplete") } } @@ -6924,7 +6933,7 @@ tasks.register("verifyAlpha221Release") { def playbackSmoke = file( "ambiance/src/test/java/fr/koka99cab/sanctuary26/ambiance/client/audio/WhiteDiscPlaybackSmoke.java").text def contract = migration.white_disc_native_rate - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.ambiance_version != "0.0.0-alpha.22" || migration.source?.pack_version != "26.2.0-alpha.220" || migration.source?.modules != [ambiance: "0.0.0-alpha.21"] @@ -6973,13 +6982,13 @@ tasks.register("verifyAlpha221Release") { || !playbackSmoke.contains("PCM cadence: 100%% speed") || !whiteDiscDocumentation.contains("48 000 Hz") || release.pack_version != rootProject.pack_version - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.223"') + || !packwiz.contains('version = "26.2.0-alpha.224"') || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.22.jar"') || packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.21.jar"') || !changelog.contains("## `26.2.0-alpha.221`") - || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.224`**")) { throw new GradleException("The alpha.221 native-rate white-disc release is incomplete") } } @@ -7058,9 +7067,9 @@ tasks.register("verifyAlpha222Release") { def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.198.jar" } - if (rootProject.pack_version != "26.2.0-alpha.223" + if (rootProject.pack_version != "26.2.0-alpha.224" || rootProject.redstoner_version != "0.0.0-alpha.13" - || rootProject.sanctuary_version != "0.0.0-alpha.127" + || rootProject.sanctuary_version != "0.0.0-alpha.128" || migration.source?.pack_version != "26.2.0-alpha.221" || migration.source?.modules != [ redstoner: "0.0.0-alpha.12", sanctuary: "0.0.0-alpha.122"] @@ -7103,7 +7112,7 @@ tasks.register("verifyAlpha222Release") { || manifests.redstoner.custom?.sanctuary26?.data_version != 3 || manifests.redstoner.custom?.sanctuary26?.network_protocol != 7 || manifests.sanctuary.custom?.sanctuary26?.data_version != 13 - || manifests.sanctuary.custom?.sanctuary26?.network_protocol != 22 + || manifests.sanctuary.custom?.sanctuary26?.network_protocol != 23 || !rules.contains("MAX_SEARCH_LENGTH = 32") || !rules.contains("compactCount(int count)") || !layout.contains("Keeps terminal slot identities stable") @@ -7133,12 +7142,12 @@ tasks.register("verifyAlpha222Release") { || !questEditor.contains("QuestIdSuggestions.suggest") || !suggestions.contains("Normalizer.Form.NFD") || !suggestions.contains("public static final int LIMIT = 5") - || release.pack_version != "26.2.0-alpha.223" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" - || prism.versionId != "26.2.0-alpha.223" - || !packwiz.contains('version = "26.2.0-alpha.223"') + || release.pack_version != "26.2.0-alpha.224" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" + || prism.versionId != "26.2.0-alpha.224" + || !packwiz.contains('version = "26.2.0-alpha.224"') || !packwizIndex.contains('file = "mods/redstoner-0.0.0-alpha.13.jar"') - || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.125.jar"') + || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.128.jar"') || packwizIndex.contains('file = "mods/redstoner-0.0.0-alpha.12.jar"') || packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.122.jar"') || !packwizJei.contains('filename = "jei-26.2-fabric-30.29.0.198.jar"') @@ -7147,7 +7156,7 @@ tasks.register("verifyAlpha222Release") { || jeiFiles[0].hashes?.sha1 != "652e964c71a699fdfdd96cda265ea703b13c6ef4" || jeiFiles[0].hashes?.sha512 != "06131c9528549840e07ddc9634e23454cd454380d7749a23d818f0efe0dacc02874e967ceb74a24ee82efb13e0fe2df4026f988a68f54f890586967e91dcaa5b" || !changelog.contains("## `26.2.0-alpha.222`") - || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.224`**")) { throw new GradleException("The alpha.222 terminal-search and quest-tracker release is incomplete") } } @@ -7217,8 +7226,8 @@ tasks.register("verifyAlpha223Release") { def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.198.jar" } - if (rootProject.pack_version != "26.2.0-alpha.223" - || rootProject.sanctuary_version != "0.0.0-alpha.127" + if (rootProject.pack_version != "26.2.0-alpha.224" + || rootProject.sanctuary_version != "0.0.0-alpha.128" || migration.source?.pack_version != "26.2.0-alpha.222" || migration.source?.modules != [sanctuary: "0.0.0-alpha.124"] || migration.target?.pack_version != "26.2.0-alpha.223" @@ -7255,7 +7264,7 @@ tasks.register("verifyAlpha223Release") { || migration.distribution?.jei?.modrinth_version_id != "67Dvn8sL" || migration.distribution?.jei?.packwiz_and_prism_synchronized != true || manifest.custom?.sanctuary26?.data_version != 13 - || manifest.custom?.sanctuary26?.network_protocol != 22 + || manifest.custom?.sanctuary26?.network_protocol != 23 || !inventorySort.contains("COOLDOWN_TICKS = 8") || !inventorySort.contains("if (row == 0) continue") || !inventorySort.contains("SanctuaryInventorySorter.compactAndSort") @@ -7268,7 +7277,7 @@ tasks.register("verifyAlpha223Release") { || !inventorySort.contains("sortOpenContainer") || !inventorySort.contains("instanceof ChestMenu") || !networking.contains("SanctuaryInventorySort.sort(context.player(), payload.container())") - || !networking.contains("PROTOCOL_VERSION = 22") + || !networking.contains("PROTOCOL_VERSION = 23") || !displayMode.contains('TEXT("text")') || !displayMode.contains('PANEL("panel")') || !questHud.contains("renderText(") @@ -7282,11 +7291,11 @@ tasks.register("verifyAlpha223Release") { || !questSync.contains("case EMERALD -> 2") || !inventorySmoke.contains("Hotbar snapshot must remain untouched") || !displaySmoke.contains("QuestTrackerDisplayMode.PANEL.next()") - || release.pack_version != "26.2.0-alpha.223" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" - || prism.versionId != "26.2.0-alpha.223" - || !packwiz.contains('version = "26.2.0-alpha.223"') - || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.125.jar"') + || release.pack_version != "26.2.0-alpha.224" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" + || prism.versionId != "26.2.0-alpha.224" + || !packwiz.contains('version = "26.2.0-alpha.224"') + || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.128.jar"') || packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.124.jar"') || !packwizJei.contains('filename = "jei-26.2-fabric-30.29.0.198.jar"') || !packwizJei.contains('version = "67Dvn8sL"') @@ -7294,12 +7303,118 @@ tasks.register("verifyAlpha223Release") { || jeiFiles[0].hashes?.sha1 != "652e964c71a699fdfdd96cda265ea703b13c6ef4" || jeiFiles[0].hashes?.sha512 != "06131c9528549840e07ddc9634e23454cd454380d7749a23d818f0efe0dacc02874e967ceb74a24ee82efb13e0fe2df4026f988a68f54f890586967e91dcaa5b" || !changelog.contains("## `26.2.0-alpha.223`") - || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.224`**")) { throw new GradleException("The alpha.223 inventory-sort and quest-tracker display release is incomplete") } } } +tasks.register("verifyAlpha224Release") { + group = "verification" + description = "Checks the Sanctuary 26.2.0-alpha.224 Notch, Magic Carpet and container-sort release." + inputs.file(file("pack/migrations/26.2.0-alpha.223-notch-magic-carpet-container-sort-to-alpha.224.json")) + inputs.file(file("pack/release.json")) + inputs.file(file("pack/prism/modrinth.index.json")) + inputs.file(file("pack/packwiz/pack.toml")) + inputs.file(file("pack/packwiz/index.toml")) + inputs.file(file("CHANGELOG.md")) + inputs.file(file("README.md")) + inputs.files(["itsalive", "ouch", "masterkey", "iliketomoveit", "onlyfun", "sanctuary"].collect { + file("${it}/src/main/resources/fabric.mod.json") + }) + inputs.file(file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/gameplay/SanctuaryInventorySort.java")) + inputs.file(file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/SanctuaryClientProgress.java")) + inputs.file(file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/network/SortInventoryPayload.java")) + inputs.file(file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/network/SanctuaryNetworking.java")) + doLast { + def migration = new JsonSlurper().parse(file( + "pack/migrations/26.2.0-alpha.223-notch-magic-carpet-container-sort-to-alpha.224.json")) + def release = new JsonSlurper().parse(file("pack/release.json")) + def prism = new JsonSlurper().parse(file("pack/prism/modrinth.index.json")) + def packwiz = file("pack/packwiz/pack.toml").text + def packwizIndex = file("pack/packwiz/index.toml").text + def changelog = file("CHANGELOG.md").text + def readme = file("README.md").text + def releaseModuleIds = ["itsalive", "ouch", "masterkey", "iliketomoveit", "onlyfun", "sanctuary"] + def manifests = releaseModuleIds.collectEntries { id -> + [(id): new JsonSlurper().parse(file("${id}/src/main/resources/fabric.mod.json"))] + } + def sourceModules = [ + itsalive: "0.0.0-alpha.36", ouch: "0.0.0-alpha.10", masterkey: "0.0.0-alpha.8", + iliketomoveit: "0.0.0-alpha.16", onlyfun: "0.0.0-alpha.25", sanctuary: "0.0.0-alpha.125"] + def targetModules = [ + itsalive: "0.0.0-alpha.37", ouch: "0.0.0-alpha.11", masterkey: "0.0.0-alpha.9", + iliketomoveit: "0.0.0-alpha.17", onlyfun: "0.0.0-alpha.26", sanctuary: "0.0.0-alpha.128"] + def inventorySort = file( + "sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/gameplay/SanctuaryInventorySort.java").text + def clientProgress = file( + "sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/SanctuaryClientProgress.java").text + def sortPayload = file( + "sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/network/SortInventoryPayload.java").text + def networking = file( + "sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/network/SanctuaryNetworking.java").text + def requiredJars = targetModules.collect { id, version -> + "file = \"mods/${id}-${version}.jar\"" + } + def obsoleteJars = sourceModules.collect { id, version -> + "file = \"mods/${id}-${version}.jar\"" + } + if (rootProject.pack_version != "26.2.0-alpha.224" + || targetModules.any { id, version -> rootProject.property("${id}_version") != version } + || migration.status != "released" + || migration.source?.pack_version != "26.2.0-alpha.223" + || migration.source?.modules != sourceModules + || migration.target?.pack_version != "26.2.0-alpha.224" + || migration.target?.modules != targetModules + || migration.inventory_sort?.payload_container_flag != "bounded_boolean" + || migration.inventory_sort?.sortable_storage_menus != ["chest", "barrel", "shulker_box", "hopper", "dispenser"] + || migration.inventory_sort?.player_inventory_when_hovered != true + || migration.inventory_sort?.hotbar_unchanged != true + || migration.inventory_sort?.excluded_menus != ["furnace", "shop", "redstoner_storage_terminal"] + || migration.notch_encounter?.unique_persistent_resident != true + || migration.notch_encounter?.maximum_participants != 8 + || migration.notch_encounter?.global_victory_monotonic != true + || migration.magic_carpet?.canonical_item != "iliketomoveit:magic_carpet" + || migration.magic_carpet?.temporary_platform?.size != [3, 1, 3] + || migration.notch_reward?.maximum_canonical_initial_rewards != 1 + || migration.shop_replacement?.hidden_before_notch != true + || migration.compatibility?.existing_saves_supported != true + || migration.compatibility?.new_world_required != false + || migration.compatibility?.save_reset_required != false + || migration.compatibility?.sanctuary_data_version != 13 + || migration.compatibility?.sanctuary_source_network_protocol != 22 + || migration.compatibility?.sanctuary_target_network_protocol != 23 + || migration.compatibility?.sanctuary_network_protocol_changed != true + || migration.compatibility?.client_server_update_required != true + || migration.distribution?.pack_release_updated != true + || migration.distribution?.packwiz_index_refreshed != true + || migration.distribution?.prism_modrinth_index_updated != true + || manifests.itsalive.custom?.sanctuary26?.data_version != 4 + || manifests.iliketomoveit.custom?.sanctuary26?.data_version != 4 + || manifests.sanctuary.custom?.sanctuary26?.data_version != 13 + || manifests.sanctuary.custom?.sanctuary26?.network_protocol != 23 + || !inventorySort.contains("instanceof ChestMenu") + || !inventorySort.contains("instanceof ShulkerBoxMenu") + || !inventorySort.contains("instanceof HopperMenu") + || !inventorySort.contains("instanceof DispenserMenu") + || !inventorySort.contains("isPlayerInventorySlot") + || !clientProgress.contains("SanctuaryHotbarRowsClient.requestVisualRow(client, 0, currentRows)") + || !sortPayload.contains("buffer.writeBoolean(container)") + || !sortPayload.contains("buffer.readBoolean()") + || !networking.contains("PROTOCOL_VERSION = 23") + || release.pack_version != "26.2.0-alpha.224" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.224.mrpack" + || prism.versionId != "26.2.0-alpha.224" + || !packwiz.contains('version = "26.2.0-alpha.224"') + || requiredJars.any { !packwizIndex.contains(it) } + || obsoleteJars.any { packwizIndex.contains(it) } + || !changelog.contains("## `26.2.0-alpha.224`") + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.224`**")) { + throw new GradleException("The alpha.224 Notch, Magic Carpet and container-sort release is incomplete") + } + } +} + tasks.named("verifyWorkspace") { dependsOn tasks.named("verifyAlpha213Release") dependsOn tasks.named("verifyAlpha214Release") @@ -7312,6 +7427,7 @@ tasks.named("verifyWorkspace") { dependsOn tasks.named("verifyAlpha221Release") dependsOn tasks.named("verifyAlpha222Release") dependsOn tasks.named("verifyAlpha223Release") + dependsOn tasks.named("verifyAlpha224Release") } tasks.named("check") { diff --git a/gradle.properties b/gradle.properties index 9e4e909..d28358b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -28,7 +28,7 @@ iliketomoveit_version=0.0.0-alpha.17 iliketomoveit_lifecycle=active onlyfun_version=0.0.0-alpha.26 onlyfun_lifecycle=active -sanctuary_version=0.0.0-alpha.127 +sanctuary_version=0.0.0-alpha.128 sanctuary_lifecycle=active -pack_version=26.2.0-alpha.223 +pack_version=26.2.0-alpha.224 maven_group=fr.koka99cab.sanctuary26 diff --git a/pack/migrations/26.2.0-alpha.223-magic-carpet-unreleased.json b/pack/migrations/26.2.0-alpha.223-notch-magic-carpet-container-sort-to-alpha.224.json similarity index 51% rename from pack/migrations/26.2.0-alpha.223-magic-carpet-unreleased.json rename to pack/migrations/26.2.0-alpha.223-notch-magic-carpet-container-sort-to-alpha.224.json index 2481fe9..cdab0da 100644 --- a/pack/migrations/26.2.0-alpha.223-magic-carpet-unreleased.json +++ b/pack/migrations/26.2.0-alpha.223-notch-magic-carpet-container-sort-to-alpha.224.json @@ -1,22 +1,58 @@ { "schema_version": 1, - "status": "unreleased", + "status": "released", "source": { "pack_version": "26.2.0-alpha.223", "modules": { + "itsalive": "0.0.0-alpha.36", + "ouch": "0.0.0-alpha.10", + "masterkey": "0.0.0-alpha.8", "iliketomoveit": "0.0.0-alpha.16", "onlyfun": "0.0.0-alpha.25", - "sanctuary": "0.0.0-alpha.126" + "sanctuary": "0.0.0-alpha.125" } }, "target": { - "pack_version": "26.2.0-alpha.223", + "pack_version": "26.2.0-alpha.224", "modules": { + "itsalive": "0.0.0-alpha.37", + "ouch": "0.0.0-alpha.11", + "masterkey": "0.0.0-alpha.9", "iliketomoveit": "0.0.0-alpha.17", "onlyfun": "0.0.0-alpha.26", - "sanctuary": "0.0.0-alpha.127" + "sanctuary": "0.0.0-alpha.128" } }, + "inventory_sort": { + "owner": "sanctuary", + "payload_container_flag": "bounded_boolean", + "sortable_storage_menus": ["chest", "barrel", "shulker_box", "hopper", "dispenser"], + "player_inventory_when_hovered": true, + "hotbar_unchanged": true, + "hotbar_restored_to_bottom_on_login": true, + "hotbar_restored_to_bottom_after_row_purchase": true, + "excluded_menus": ["furnace", "shop", "redstoner_storage_terminal"], + "server_authoritative": true, + "server_validates_open_menu": true + }, + "notch_encounter": { + "entity_owner": "itsalive", + "combat_owner": "ouch", + "milestone_owner": "sanctuary", + "diagnostics_owner": "masterkey", + "dimension": "sanctuary:alpha", + "unique_persistent_resident": true, + "legacy_entity": "portals:notch", + "legacy_entity_migrated": true, + "maximum_participants": 8, + "first_transformation_breaks_blocks": true, + "later_attacks_break_blocks": false, + "returned_fireballs_supported": true, + "abandoned_fight_resets": true, + "global_victory_monotonic": true, + "atlas_boss_marker_for_participants": true, + "commands": ["/masterkey notch inspect", "/masterkey notch restore"] + }, "magic_carpet": { "owner": "iliketomoveit", "canonical_item": "iliketomoveit:magic_carpet", @@ -63,15 +99,31 @@ "replacement_logged": true }, "compatibility": { + "existing_saves_supported": true, "new_world_required": false, "save_reset_required": false, - "pack_release_updated": false, + "registry_ids_preserved_or_migrated": true, + "client_server_update_required": true, + "itsalive_data_version": 4, + "itsalive_network_protocol": 4, + "ouch_data_version": 1, + "ouch_network_protocol": 1, + "masterkey_data_version": 1, + "masterkey_network_protocol": 2, "iliketomoveit_data_version": 4, "iliketomoveit_network_protocol": 5, "onlyfun_data_version": 2, "onlyfun_network_protocol": 3, "sanctuary_data_version": 13, "sanctuary_notch_state_data_version": 2, - "sanctuary_network_protocol": 22 + "sanctuary_source_network_protocol": 22, + "sanctuary_target_network_protocol": 23, + "sanctuary_network_protocol_changed": true + }, + "distribution": { + "pack_release_updated": true, + "packwiz_index_refreshed": true, + "prism_modrinth_index_updated": true, + "shared_client_server_mrpack": true } } diff --git a/pack/packwiz/index.toml b/pack/packwiz/index.toml index 2f997e1..cb357fb 100644 --- a/pack/packwiz/index.toml +++ b/pack/packwiz/index.toml @@ -14,15 +14,15 @@ hash = "41f4f4c88c71d0a23446d5014f7407d55ad477441847099cad24492b032335a0" [[files]] file = "mods/ambiance-0.0.0-alpha.22.jar" -hash = "34aa79ab54ba2506b0ffef062662917de8b29f6f3f9b8d7a920a664d01185641" +hash = "20f1b31b773c7cea9c5cbe01161c2c7e541eaca714213752a8d6227bae85c9b9" [[files]] file = "mods/anotherworld-0.0.0-alpha.55.jar" -hash = "2c93c364af7f617a488a8ef5c64d584041eeb24b93e4ea727570c042bd73fe2d" +hash = "2c01fb018cce49b8ef5ff6de1f2c4d0218243c23581333675c60dfe4ab48dfde" [[files]] file = "mods/events-0.0.0-alpha.0.jar" -hash = "6c94ba89f6daf64d7144e9ea2283a98a609a01a20b7913bd51821034ee8a26fd" +hash = "5bc52d22c93203c6c3881cd9086db5a1166feb6b31a67af8e761c9c0d0b87f37" [[files]] file = "mods/fabric-api.pw.toml" @@ -30,8 +30,8 @@ hash = "df032a6b051d0262cf24945c43e0e6b915e8cc1d62af62fe933932e7f35960c4" metafile = true [[files]] -file = "mods/iliketomoveit-0.0.0-alpha.16.jar" -hash = "f0f54b9746977b085abb74fea61e8cd230f3dda905cc337866e7950fb2ee9293" +file = "mods/iliketomoveit-0.0.0-alpha.17.jar" +hash = "4aa2f5394f4e12301d13026c7b542660334f7c4e4f8057ea3d36dd04dfe461b6" [[files]] file = "mods/iris.pw.toml" @@ -39,8 +39,8 @@ hash = "84a3cef87679c0d21dceb4641167dc0368b9a3593698f6a3632485e9b3a8d5da" metafile = true [[files]] -file = "mods/itsalive-0.0.0-alpha.36.jar" -hash = "ae2201e91e4ab2eaf09f32ea41c920d460cf3cf426e71bd76be5241b7e81e1a0" +file = "mods/itsalive-0.0.0-alpha.37.jar" +hash = "926803c09b2247f42363d1042346bff9798b982aaeafa96800711e259c48039d" [[files]] file = "mods/jei.pw.toml" @@ -48,24 +48,24 @@ hash = "cffb13bae33cd8df605c62e7fa66089428dc684e0ab973f662a8a710c45c306d" metafile = true [[files]] -file = "mods/masterkey-0.0.0-alpha.8.jar" -hash = "60de65566b1434709cdfb4c915d5bc6a7f9019dd48ebeaa04fe474f0ec7fd3b4" +file = "mods/masterkey-0.0.0-alpha.9.jar" +hash = "3069c9e784f425f59189c255638648ca51598c8626e340df9bf72a2c06f31753" [[files]] -file = "mods/onlyfun-0.0.0-alpha.25.jar" -hash = "165ffe713b09db64484cceb6c508ac5e53b5d7e69e86ea6658c3e8ea04ee1ccf" +file = "mods/onlyfun-0.0.0-alpha.26.jar" +hash = "5d2915c761e87cd94f4d4075c85ebb71f021b59b92ced5eba6b5da8bb1413519" [[files]] -file = "mods/ouch-0.0.0-alpha.10.jar" -hash = "3f66a1b0657c40b653ec9e7a7aa92e4edf72475af7e372a49d9254743696f0a5" +file = "mods/ouch-0.0.0-alpha.11.jar" +hash = "0e26e6e386781e2e258ef01eecad0129c00eec11783f182a34226213ea5f252e" [[files]] file = "mods/redstoner-0.0.0-alpha.13.jar" -hash = "226c000f5febd841d69420316af2c14dd4ec0ef1c774c21d5926f7120f44b7e6" +hash = "2e9519b8f8092883616fdce4e5b4ab427b7875565423ea18a90adb40df751878" [[files]] -file = "mods/sanctuary-0.0.0-alpha.125.jar" -hash = "f0826d9be66f6498bc0455ea8075bfbaefc97c1f6a7b0d21b225003fe71ad958" +file = "mods/sanctuary-0.0.0-alpha.128.jar" +hash = "9ac5e370509e0d0be77222aca227b698d449cfbcdde70ebc58fee2cec05e6a7e" [[files]] file = "mods/simple-voice-chat.pw.toml" diff --git a/pack/packwiz/pack.toml b/pack/packwiz/pack.toml index 6e4665b..c9fc692 100644 --- a/pack/packwiz/pack.toml +++ b/pack/packwiz/pack.toml @@ -1,12 +1,12 @@ name = "Sanctuary 26.2" author = "KOKA99CAB" -version = "26.2.0-alpha.223" +version = "26.2.0-alpha.224" pack-format = "packwiz:1.1.0" [index] file = "index.toml" hash-format = "sha256" -hash = "9e06da88d562c7a2ed5fbcd56a06779a37715d4f9cf26479ee1a664758ada599" +hash = "0073565d9342eae7a811696a273094f157b9a6ec113c8282c3e92714c8fe921a" [versions] fabric = "0.19.3" diff --git a/pack/prism/modrinth.index.json b/pack/prism/modrinth.index.json index a61eb9a..4528a20 100644 --- a/pack/prism/modrinth.index.json +++ b/pack/prism/modrinth.index.json @@ -3,7 +3,7 @@ "game": "minecraft", "name": "Sanctuary 26.2", "summary": "Sanctuary 26.2 — progression, exploration, worldgen and multiplayer systems by KOKA99CAB.", - "versionId": "26.2.0-alpha.223", + "versionId": "26.2.0-alpha.224", "files": [ { "path": "mods/fabric-api-0.158.0+26.2.jar", diff --git a/pack/release.json b/pack/release.json index bb8ca74..ee8e3dc 100644 --- a/pack/release.json +++ b/pack/release.json @@ -1,6 +1,6 @@ { "schema_version": 1, - "pack_version": "26.2.0-alpha.223", + "pack_version": "26.2.0-alpha.224", "release_channel": "alpha", "minecraft_version": "26.2", "fabric_loader_version": "0.19.3", @@ -9,7 +9,7 @@ "project_id": "FgOqyAXd", "project_slug": "sanctuary-koka99", "project_url": "https://modrinth.com/modpack/sanctuary-koka99", - "primary_file": "sanctuary-26.2.0-alpha.223.mrpack", + "primary_file": "sanctuary-26.2.0-alpha.224.mrpack", "shared_client_server_pack": true, "update_owner": "packwiz-installer", "check_on_launch": true, diff --git a/sanctuary/build.gradle b/sanctuary/build.gradle index 04be405..743ba1d 100644 --- a/sanctuary/build.gradle +++ b/sanctuary/build.gradle @@ -175,7 +175,7 @@ tasks.register("verifyBlackMarket") { def questData = file("src/main/java/fr/koka99cab/sanctuary26/sanctuary/shop/QuestBoardData.java").text def quests = file("src/main/java/fr/koka99cab/sanctuary26/sanctuary/shop/QuestBoardService.java").text def inventoryView = file("src/main/java/fr/koka99cab/sanctuary26/sanctuary/api/inventory/SanctuaryPlayerInventoryView.java").text - if (project.version.toString() != "0.0.0-alpha.127" + if (project.version.toString() != "0.0.0-alpha.128" || !data.contains('SAVE_KEY = "black_market"') || !data.contains("DATA_VERSION = 2") || !data.contains("ItemStack.CODEC.fieldOf(\"item\")") || !data.contains("replaceListing") || !service.contains("LISTING_FEE_RUBIES = 1") || !service.contains("COMMISSION_PERCENT = 5") @@ -189,7 +189,7 @@ tasks.register("verifyBlackMarket") { || !minecraftMixin.contains('method = "pickBlockOrEntity"') || !middleClickPayload.contains('SanctuaryMod.id("c2s/black_market_interact")') || !middleClickPayload.contains("No client position, listing ID, item or price is trusted") - || !network.contains("PROTOCOL_VERSION = 22") + || !network.contains("PROTOCOL_VERSION = 23") || !network.contains("BlackMarketService.middleClick(context.player())") || !service.contains("loadedDeliveryBox") || !service.contains("PARCEL_RETENTION_MILLIS") || !policy.contains("DataComponents.CONTAINER") || !policy.contains("DataComponents.BUNDLE_CONTENTS") @@ -1185,7 +1185,7 @@ tasks.register("verifySanctuary") { def manifest = new JsonSlurper().parse(file("src/main/resources/fabric.mod.json")) if (manifest.custom?.sanctuary26?.data_version != 13 - || manifest.custom?.sanctuary26?.network_protocol != 22 + || manifest.custom?.sanctuary26?.network_protocol != 23 || manifest.depends?.jei != ">=30.24.0.176" || manifest.depends?."fabric-api" != ">=0.155.0+26.2" || !manifest.entrypoints?.client?.contains("fr.koka99cab.sanctuary26.sanctuary.client.SanctuaryClient") @@ -2891,7 +2891,7 @@ tasks.register("verifyShopCurrencyRowsRelease") { "src/main/java/fr/koka99cab/sanctuary26/sanctuary/shop/BlackMarketService.java").text def shop = file( "src/main/java/fr/koka99cab/sanctuary26/sanctuary/shop/ShopService.java").text - if (project.version.toString() != "0.0.0-alpha.127" + if (project.version.toString() != "0.0.0-alpha.128" || migration.target?.modules?.sanctuary != "0.0.0-alpha.117" || migration.shop_currency_inventory?.all_unlocked_rows_counted != true || migration.shop_currency_inventory?.overflow_rows_counted != true @@ -3057,7 +3057,7 @@ tasks.register("verifyProgressivePauseMenu") { "pack/migrations/26.2.0-alpha.190-progressive-pause-menu-to-alpha.191.json")) def pauseMenu = file("src/main/java/fr/koka99cab/sanctuary26/sanctuary/mixin/client/PauseScreenMixin.java").text def costs = file("src/main/java/fr/koka99cab/sanctuary26/sanctuary/progression/SanctuaryProgressionCosts.java").text - if (project.version.toString() != "0.0.0-alpha.127" + if (project.version.toString() != "0.0.0-alpha.128" || migration.target?.pack_version != "26.2.0-alpha.191" || migration.target?.modules?.sanctuary != "0.0.0-alpha.109" || migration.pause_menu?.progression_full_width != true @@ -3095,7 +3095,7 @@ tasks.register("verifyShopPricingLayout") { "pack/migrations/26.2.0-alpha.192-shop-pricing-layout-to-alpha.193.json")) def screen = file("src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/SanctuaryShopScreen.java").text def progression = file("src/main/java/fr/koka99cab/sanctuary26/sanctuary/shop/ShopProgression.java").text - if (project.version.toString() != "0.0.0-alpha.127" + if (project.version.toString() != "0.0.0-alpha.128" || migration.target?.modules?.sanctuary != "0.0.0-alpha.110" || migration.shop_layout?.locked_offer_buttons != 6 || migration.shop_layout?.button_slots != [4, 5, 6, 7, 8, 9] @@ -3126,7 +3126,7 @@ tasks.register("verifyShopCsvBossGates") { "pack/migrations/26.2.0-alpha.194-shop-csv-boss-gates-to-alpha.195.json")) def provider = file("src/main/java/fr/koka99cab/sanctuary26/sanctuary/shop/ShopCatalogProvider.java").text def catalog = file("src/main/java/fr/koka99cab/sanctuary26/sanctuary/shop/ShopOfferCatalog.java").text - if (project.version.toString() != "0.0.0-alpha.127" + if (project.version.toString() != "0.0.0-alpha.128" || migration.target?.pack_version != "26.2.0-alpha.195" || migration.target?.modules?.sanctuary != "0.0.0-alpha.111" || migration.compatibility?.sanctuary_data_version != 11 @@ -3157,7 +3157,7 @@ tasks.register("verifyDeliveryBoxOrientation") { def blockstate = new JsonSlurper().parse( file("src/main/resources/assets/sanctuary/blockstates/delivery_box.json")) def expectedVariants = ["facing=north", "facing=east", "facing=south", "facing=west"].toSet() - if (project.version.toString() != "0.0.0-alpha.127" + if (project.version.toString() != "0.0.0-alpha.128" || migration.target?.modules?.sanctuary != "0.0.0-alpha.112" || migration.mailbox?.id != "sanctuary:delivery_box" || migration.mailbox?.horizontal_facing != true @@ -3185,7 +3185,7 @@ tasks.register("verifyInventoryShiftClick") { def mixin = file("src/main/java/fr/koka99cab/sanctuary26/sanctuary/mixin/AbstractContainerMenuMixin.java").text def screen = file("src/main/java/fr/koka99cab/sanctuary26/sanctuary/mixin/client/AbstractContainerScreenMixin.java").text def gui = file("INVENTORY_GUI.md").text - if (project.version.toString() != "0.0.0-alpha.127" + if (project.version.toString() != "0.0.0-alpha.128" || !transfer.contains("shouldAppendOverflow") || !transfer.contains("isVanillaStorageRange") || !transfer.contains("hotbarStart") @@ -3231,7 +3231,7 @@ tasks.register("verifyQuestRequests") { new JsonSlurper().parse(file("src/main/resources/data/sanctuary/loot_table/blocks/${path}.json")) .pools[0].entries[0].name } - if (project.version.toString() != "0.0.0-alpha.127" + if (project.version.toString() != "0.0.0-alpha.128" || migration.target?.modules?.sanctuary != "0.0.0-alpha.113" || migration.quest_requests?.save_key != "quest_requests" || migration.quest_requests?.data_version != 1 @@ -3243,7 +3243,7 @@ tasks.register("verifyQuestRequests") { || !data.contains('SAVE_KEY = "quest_requests"') || !data.contains("DATA_VERSION = 3") || !service.contains("PlayerBlockBreakEvents.BEFORE") || !service.contains("player.blockPosition().distSqr(payload.pos()) > 64.0D") - || !network.contains("PROTOCOL_VERSION = 22") + || !network.contains("PROTOCOL_VERSION = 23") || !network.contains("QuestRequestSubmitPayload.ID") || !network.contains("QuestRequestAcceptPayload.ID") || !registry.contains('SanctuaryMod.id("quest_request_sign")') @@ -3289,7 +3289,7 @@ tasks.register("verifyQuestRequestContracts") { def locales = ["fr_fr", "en_us", "ru_ru"].collectEntries { locale -> [(locale): new JsonSlurper().parse(file("src/main/resources/assets/sanctuary/lang/${locale}.json"))] } - if (project.version.toString() != "0.0.0-alpha.127" + if (project.version.toString() != "0.0.0-alpha.128" || migration.source?.pack_version != "26.2.0-alpha.198" || migration.source?.modules?.sanctuary != "0.0.0-alpha.114" || migration.target?.pack_version != "26.2.0-alpha.199" @@ -3309,7 +3309,7 @@ tasks.register("verifyQuestRequestContracts") { || !service.contains('REWARD_LOAN = "loan"') || !service.contains('PLAYER.equals(targetKind)') || !screen.contains("rewardQuantity") || !screen.contains("killTargetIndex") - || !network.contains("PROTOCOL_VERSION = 22") + || !network.contains("PROTOCOL_VERSION = 23") || standingModel.textures?.all != "sanctuary:block/pink_quest_request_sign" || itemModel.textures?.layer0 != "sanctuary:item/pink_quest_request_sign" || blockTexture == null || blockTexture.width != 32 || blockTexture.height != 32 @@ -3358,7 +3358,7 @@ tasks.register("verifyQuestRequestEscrow") { def locales = ["fr_fr", "en_us", "ru_ru"].collectEntries { locale -> [(locale): new JsonSlurper().parse(file("src/main/resources/assets/sanctuary/lang/${locale}.json"))] } - if (project.version.toString() != "0.0.0-alpha.127" + if (project.version.toString() != "0.0.0-alpha.128" || migration.source?.pack_version != "26.2.0-alpha.200" || migration.source?.modules?.sanctuary != "0.0.0-alpha.115" || migration.target?.pack_version != "26.2.0-alpha.201" @@ -3379,7 +3379,7 @@ tasks.register("verifyQuestRequestEscrow") { || !service.contains('"quest_request_reward"') || !service.contains('"quest_request_delivery"') || service.contains("sanctuary_quest_accept") - || !network.contains("PROTOCOL_VERSION = 22") + || !network.contains("PROTOCOL_VERSION = 23") || !network.contains("QuestRequestAcceptPayload.ID") || !network.contains("QuestRequestConfirmPayload.ID") || !acceptPayload.contains("readUtf(36)") @@ -3430,7 +3430,7 @@ tasks.register("verifyAlphaIndev") { def locales = ["fr_fr", "en_us", "ru_ru"].collect { new JsonSlurper().parse(file("src/main/resources/assets/sanctuary/lang/${it}.json")) } - if (project.version.toString() != "0.0.0-alpha.127" + if (project.version.toString() != "0.0.0-alpha.128" || migration.target?.modules?.sanctuary != "0.0.0-alpha.122" || migration.alpha_world?.dimension != "sanctuary:alpha" || migration.alpha_world?.legacy_dimension != "portals:alpha" diff --git a/sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/network/SanctuaryNetworking.java b/sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/network/SanctuaryNetworking.java index 79869ae..e8ca10e 100644 --- a/sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/network/SanctuaryNetworking.java +++ b/sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/network/SanctuaryNetworking.java @@ -24,7 +24,7 @@ import net.minecraft.server.level.ServerPlayer; * Networking contract for Sanctuary. Payload IDs must use the module namespace. */ public final class SanctuaryNetworking { - public static final int PROTOCOL_VERSION = 22; + public static final int PROTOCOL_VERSION = 23; private static boolean initialized; private SanctuaryNetworking() { diff --git a/sanctuary/src/main/resources/fabric.mod.json b/sanctuary/src/main/resources/fabric.mod.json index bad71e9..de9b416 100644 --- a/sanctuary/src/main/resources/fabric.mod.json +++ b/sanctuary/src/main/resources/fabric.mod.json @@ -33,7 +33,7 @@ "system_type": "gameplay-system", "namespace": "sanctuary", "data_version": 13, - "network_protocol": 22, + "network_protocol": 23, "lifecycle": "${lifecycle}", "pack_version": "${pack_version}", "descriptions": { -- 2.54.0