diff --git a/CHANGELOG.md b/CHANGELOG.md index ce5d328..aa824f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,14 +6,18 @@ 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.223` -Module modifié : **Sanctuary `0.0.0-alpha.125`**. Le pack public reste temporairement en `26.2.0-alpha.222` jusqu'à la publication. +Module modifié : **Sanctuary `0.0.0-alpha.125`**. Les neuf autres modules conservent leur version issue de l'alpha.222. +- ajoute un tri natif de l’inventaire par clic molette configurable, uniquement sur les rangées de stockage débloquées ; +- fusionne et range les piles depuis le haut sans déplacer la hotbar, l’armure, la main secondaire, le craft ni les emplacements spéciaux ; +- garde le tri sous autorité serveur, avec un délai de huit ticks, et l’ignore en créatif ou pendant la saisie dans un champ texte ; - ajoute un style configurable au suivi des quêtes (`N` par défaut), entre le texte transparent et le panneau original de Chris ; - place automatiquement le style texte sous la hauteur réelle de la colonne gauche du F3 permanent afin que les deux affichages ne se recouvrent pas ; - nomme et ordonne les contrats suivis par niveau de récompense, rubis puis saphir puis émeraude/autres, au lieu du libellé générique « Contrat du jour » ; -- conserve les données Sanctuary v11, le protocole réseau 22, les IDs et les sauvegardes existantes. +- actualise JEI vers la bêta Fabric 26.2 `30.29.0.198` et synchronise ses empreintes entre Packwiz et Prism ; +- conserve les données Sanctuary v11, le protocole réseau 22, les IDs et les sauvegardes existantes ; aucun nouveau monde ni réinitialisation n’est nécessaire. ## `26.2.0-alpha.222` diff --git a/README.md b/README.md index 5ee95fa..e3ea378 100644 --- a/README.md +++ b/README.md @@ -22,10 +22,12 @@ 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.222`**. Cette release distribue Red-Stoner **`0.0.0-alpha.13`** et Sanctuary **`0.0.0-alpha.124`** ; les huit autres modules conservent leur version issue de l'alpha.221. +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. 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.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`. 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. diff --git a/build.gradle b/build.gradle index e0c0723..a6f628f 100644 --- a/build.gradle +++ b/build.gradle @@ -339,7 +339,7 @@ tasks.register("verifyWorkspace") { } def progressionJeiMigration = new JsonSlurper().parse(file( "pack/migrations/26.2.0-alpha.87-progression-jei-audio-to-alpha.88.json")) - def jeiFiles = prismIndex.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.196.jar" } + def jeiFiles = prismIndex.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.198.jar" } if (progressionJeiMigration.source?.pack_version != "26.2.0-alpha.87" || progressionJeiMigration.target?.pack_version != "26.2.0-alpha.88" || progressionJeiMigration.target?.modules?.sanctuary != "0.0.0-alpha.38" @@ -354,8 +354,8 @@ tasks.register("verifyWorkspace") { || progressionJeiMigration.compatibility?.network_protocol != 10 || progressionJeiMigration.compatibility?.network_protocol_changed != true || jeiFiles.size() != 1 - || jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00" - || jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7" + || jeiFiles[0].hashes?.sha1 != "652e964c71a699fdfdd96cda265ea703b13c6ef4" + || jeiFiles[0].hashes?.sha512 != "06131c9528549840e07ddc9634e23454cd454380d7749a23d818f0efe0dacc02874e967ceb74a24ee82efb13e0fe2df4026f988a68f54f890586967e91dcaa5b" || jeiFiles[0].env?.client != "required" || jeiFiles[0].env?.server != "required") { throw new GradleException("The alpha.88 progression, JEI and Minecrafter audio contract is incomplete") } @@ -3437,7 +3437,7 @@ 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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || rootProject.sanctuary_version != "0.0.0-alpha.125" || rootProject.onlyfun_version != "0.0.0-alpha.25" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version @@ -3487,7 +3487,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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || 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 @@ -4277,7 +4277,7 @@ 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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || rootProject.onlyfun_version != "0.0.0-alpha.25" || rootProject.sanctuary_version != "0.0.0-alpha.125" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version @@ -4322,7 +4322,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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || rootProject.itsalive_version != "0.0.0-alpha.36" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version || migration.source?.pack_version != "26.2.0-alpha.193" @@ -4371,7 +4371,7 @@ 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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || rootProject.onlyfun_version != "0.0.0-alpha.25" || rootProject.sanctuary_version != "0.0.0-alpha.125" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version @@ -4417,7 +4417,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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || migration.source?.pack_version != "26.2.0-alpha.195" || migration.target?.pack_version != "26.2.0-alpha.196" || migration.target?.modules != [ @@ -4435,10 +4435,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.222" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack" - || prism.versionId != "26.2.0-alpha.222" - || !packwiz.contains('version = "26.2.0-alpha.222"')) { + || 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"')) { throw new GradleException("The alpha.196 culinary, mailbox and grapple release contract is incomplete") } } @@ -4463,7 +4463,7 @@ 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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || rootProject.itsalive_version != "0.0.0-alpha.36" || rootProject.sanctuary_version != "0.0.0-alpha.125" || migration.source?.pack_version != "26.2.0-alpha.196" @@ -4483,10 +4483,10 @@ tasks.register("verifyQuestRequestsCauldronBatchesRelease") { || 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.222" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack" - || prism.versionId != "26.2.0-alpha.222" - || !packwiz.contains('version = "26.2.0-alpha.222"')) { + || 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"')) { throw new GradleException("The alpha.197 quest-request and cauldron-batch release contract is incomplete") } } @@ -4513,7 +4513,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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || rootProject.itsalive_version != "0.0.0-alpha.36" || migration.source?.pack_version != "26.2.0-alpha.197" || migration.target?.pack_version != "26.2.0-alpha.198" @@ -4532,10 +4532,10 @@ tasks.register("verifyFermentationBarrelAutomationRelease") { || migration.distribution?.packwiz_index_refreshed != true || itsAliveManifest.custom?.sanctuary26?.data_version != 3 || itsAliveManifest.custom?.sanctuary26?.network_protocol != 4 - || release.pack_version != "26.2.0-alpha.222" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack" - || prism.versionId != "26.2.0-alpha.222" - || !packwiz.contains('version = "26.2.0-alpha.222"') + || 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"')) { throw new GradleException("The alpha.198 fermentation barrel release contract is incomplete") } @@ -4563,7 +4563,7 @@ 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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || rootProject.itsalive_version != "0.0.0-alpha.36" || rootProject.sanctuary_version != "0.0.0-alpha.125" || migration.source?.pack_version != "26.2.0-alpha.198" @@ -4577,12 +4577,12 @@ tasks.register("verifyQuestRequestContractsRelease") { || 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.222" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack" - || prism.versionId != "26.2.0-alpha.222" - || !packwiz.contains('version = "26.2.0-alpha.222"') + || 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.124.jar"')) { + || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.125.jar"')) { throw new GradleException("The alpha.199 quest-request contract release is incomplete") } } @@ -4618,7 +4618,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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || rootProject.ambiance_version != "0.0.0-alpha.22" || rootProject.ouch_version != "0.0.0-alpha.10" || migration.source?.pack_version != "26.2.0-alpha.199" @@ -4652,10 +4652,10 @@ tasks.register("verifyWeatherTntAmbianceRelease") { || !weatherTnt.contains("AmbianceDailyWeather.CLEAR") || !weatherTnt.contains("CLEAR_WEATHER_TICKS = 864_000") || weatherTnt.contains("setWeatherParameters") - || release.pack_version != "26.2.0-alpha.222" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack" - || prism.versionId != "26.2.0-alpha.222" - || !packwiz.contains('version = "26.2.0-alpha.222"') + || 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/ambiance-0.0.0-alpha.22.jar"') || !packwizIndex.contains('file = "mods/ouch-0.0.0-alpha.10.jar"')) { throw new GradleException("The alpha.200 Weather TNT and Ambiance release is incomplete") @@ -4684,7 +4684,7 @@ 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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || rootProject.sanctuary_version != "0.0.0-alpha.125" || migration.source?.pack_version != "26.2.0-alpha.200" || migration.source?.modules?.sanctuary != "0.0.0-alpha.115" @@ -4699,11 +4699,11 @@ tasks.register("verifyQuestRequestEscrowRelease") { || migration.compatibility?.sanctuary_target_network_protocol != 21 || sanctuaryManifest.custom?.sanctuary26?.data_version != 11 || sanctuaryManifest.custom?.sanctuary26?.network_protocol != 22 - || release.pack_version != "26.2.0-alpha.222" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack" - || prism.versionId != "26.2.0-alpha.222" - || !packwiz.contains('version = "26.2.0-alpha.222"') - || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.124.jar"')) { + || 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"')) { throw new GradleException("The alpha.201 quest-request escrow release is incomplete") } } @@ -4738,7 +4738,7 @@ 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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || rootProject.anotherworld_version != "0.0.0-alpha.55" || rootProject.itsalive_version != "0.0.0-alpha.36" || rootProject.iliketomoveit_version != "0.0.0-alpha.16" @@ -4778,14 +4778,14 @@ tasks.register("verifyWaystoneShopCulinaryAlpha202Release") { || moveItManifest.custom?.sanctuary26?.network_protocol != 5 || sanctuaryManifest.custom?.sanctuary26?.data_version != 11 || sanctuaryManifest.custom?.sanctuary26?.network_protocol != 22 - || release.pack_version != "26.2.0-alpha.222" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack" - || prism.versionId != "26.2.0-alpha.222" - || !packwiz.contains('version = "26.2.0-alpha.222"') + || 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/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.124.jar"')) { + || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.125.jar"')) { throw new GradleException("The alpha.202 Waystone, Shop and culinary lectern release is incomplete") } } @@ -4898,7 +4898,7 @@ 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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || rootProject.anotherworld_version != "0.0.0-alpha.55" || rootProject.sanctuary_version != "0.0.0-alpha.125" || migration.schema_version != 1 @@ -5089,8 +5089,8 @@ tasks.register("verifySafeVaultInterfaceAlpha203Release") { 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 jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.196.jar" } - if (rootProject.pack_version != "26.2.0-alpha.222" + 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.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"] @@ -5108,14 +5108,14 @@ 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.222.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.222"') + || !packwiz.contains('version = "26.2.0-alpha.223"') || !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 - || jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00" - || jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7") { + || jeiFiles[0].hashes?.sha1 != "652e964c71a699fdfdd96cda265ea703b13c6ef4" + || jeiFiles[0].hashes?.sha512 != "06131c9528549840e07ddc9634e23454cd454380d7749a23d818f0efe0dacc02874e967ceb74a24ee82efb13e0fe2df4026f988a68f54f890586967e91dcaa5b") { throw new GradleException("The alpha.203 upright safe-vault interface release is incomplete") } } @@ -5135,8 +5135,8 @@ tasks.register("verifySafeVaultFixAlpha204Release") { 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 jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.196.jar" } - if (rootProject.pack_version != "26.2.0-alpha.222" + 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.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"] @@ -5162,14 +5162,14 @@ 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.222.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.222"') + || !packwiz.contains('version = "26.2.0-alpha.223"') || !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 - || jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00" - || jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7") { + || jeiFiles[0].hashes?.sha1 != "652e964c71a699fdfdd96cda265ea703b13c6ef4" + || jeiFiles[0].hashes?.sha512 != "06131c9528549840e07ddc9634e23454cd454380d7749a23d818f0efe0dacc02874e967ceb74a24ee82efb13e0fe2df4026f988a68f54f890586967e91dcaa5b") { throw new GradleException("The alpha.204 Safe Block finalization release is incomplete") } } @@ -5189,8 +5189,8 @@ tasks.register("verifySafeVaultCubeAlpha205Release") { 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 jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.196.jar" } - if (rootProject.pack_version != "26.2.0-alpha.222" + 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.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"] @@ -5219,14 +5219,14 @@ 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.222.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.222"') + || !packwiz.contains('version = "26.2.0-alpha.223"') || !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 - || jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00" - || jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7") { + || jeiFiles[0].hashes?.sha1 != "652e964c71a699fdfdd96cda265ea703b13c6ef4" + || jeiFiles[0].hashes?.sha512 != "06131c9528549840e07ddc9634e23454cd454380d7749a23d818f0efe0dacc02874e967ceb74a24ee82efb13e0fe2df4026f988a68f54f890586967e91dcaa5b") { throw new GradleException("The alpha.205 hollow safe-vault cube release is incomplete") } } @@ -5247,8 +5247,8 @@ tasks.register("verifySafeVaultCtmAlpha206Release") { 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 jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.196.jar" } - if (rootProject.pack_version != "26.2.0-alpha.222" + 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.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"] @@ -5271,14 +5271,14 @@ 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.222.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.222"') + || !packwiz.contains('version = "26.2.0-alpha.223"') || !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 - || jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00" - || jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7") { + || jeiFiles[0].hashes?.sha1 != "652e964c71a699fdfdd96cda265ea703b13c6ef4" + || jeiFiles[0].hashes?.sha512 != "06131c9528549840e07ddc9634e23454cd454380d7749a23d818f0efe0dacc02874e967ceb74a24ee82efb13e0fe2df4026f988a68f54f890586967e91dcaa5b") { throw new GradleException("The alpha.206 Safe Block CTM column release is incomplete") } } @@ -5299,8 +5299,8 @@ tasks.register("verifySafeVaultUnlimitedAlpha207Release") { 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 jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.196.jar" } - if (rootProject.pack_version != "26.2.0-alpha.222" + 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.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"] @@ -5330,14 +5330,14 @@ 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.222.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.222"') + || !packwiz.contains('version = "26.2.0-alpha.223"') || !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 - || jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00" - || jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7") { + || jeiFiles[0].hashes?.sha1 != "652e964c71a699fdfdd96cda265ea703b13c6ef4" + || jeiFiles[0].hashes?.sha512 != "06131c9528549840e07ddc9634e23454cd454380d7749a23d818f0efe0dacc02874e967ceb74a24ee82efb13e0fe2df4026f988a68f54f890586967e91dcaa5b") { throw new GradleException("The alpha.207 unlimited safe-vault balance release is incomplete") } } @@ -5388,7 +5388,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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || rootProject.itsalive_version != "0.0.0-alpha.36" || rootProject.ambiance_version != "0.0.0-alpha.22" || migration.issue != 35 @@ -5630,7 +5630,7 @@ tasks.register("verifyCanapliaAlpha209Release") { 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.196.jar" + it.path == "mods/jei-26.2-fabric-30.29.0.198.jar" } def expectedSource = [ ambiance: "0.0.0-alpha.12", @@ -5640,7 +5640,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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || rootProject.ambiance_version != "0.0.0-alpha.22" || rootProject.itsalive_version != "0.0.0-alpha.36" || rootProject.onlyfun_version != "0.0.0-alpha.25" @@ -5688,9 +5688,9 @@ 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.222.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.222"') + || !packwiz.contains('version = "26.2.0-alpha.223"') || !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"') @@ -5698,8 +5698,8 @@ tasks.register("verifyCanapliaAlpha209Release") { || packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.33.jar"') || packwizIndex.contains('file = "mods/onlyfun-0.0.0-alpha.19.jar"') || jeiFiles.size() != 1 - || jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00" - || jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7") { + || jeiFiles[0].hashes?.sha1 != "652e964c71a699fdfdd96cda265ea703b13c6ef4" + || jeiFiles[0].hashes?.sha512 != "06131c9528549840e07ddc9634e23454cd454380d7749a23d818f0efe0dacc02874e967ceb74a24ee82efb13e0fe2df4026f988a68f54f890586967e91dcaa5b") { throw new GradleException("The alpha.209 Canaplia correction release is incomplete") } } @@ -5742,7 +5742,7 @@ tasks.register("verifyAlpha210Release") { itsalive: "0.0.0-alpha.35"] def currentModules = [ ambiance: "0.0.0-alpha.22", - sanctuary: "0.0.0-alpha.124", + sanctuary: "0.0.0-alpha.125", onlyfun: "0.0.0-alpha.25", ouch: "0.0.0-alpha.10", iliketomoveit: "0.0.0-alpha.16", @@ -5756,9 +5756,9 @@ tasks.register("verifyAlpha210Release") { "file = \"mods/${id}-${version}.jar\"" } def jeiFiles = prism.files.findAll { - it.path == "mods/jei-26.2-fabric-30.29.0.196.jar" + it.path == "mods/jei-26.2-fabric-30.29.0.198.jar" } - if (rootProject.pack_version != "26.2.0-alpha.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || rootProject.sanctuary_version != "0.0.0-alpha.125" || rootProject.onlyfun_version != "0.0.0-alpha.25" || rootProject.iliketomoveit_version != currentModules.iliketomoveit @@ -5804,15 +5804,15 @@ tasks.register("verifyAlpha210Release") { || manifests.iliketomoveit.custom?.sanctuary26?.network_protocol != 5 || manifests.itsalive.custom?.sanctuary26?.data_version != 3 || manifests.itsalive.custom?.sanctuary26?.network_protocol != 4 - || release.pack_version != "26.2.0-alpha.222" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack" - || prism.versionId != "26.2.0-alpha.222" - || !packwiz.contains('version = "26.2.0-alpha.222"') + || 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"') || requiredJars.any { !packwizIndex.contains(it) } || obsoleteJars.any { packwizIndex.contains(it) } || jeiFiles.size() != 1 - || jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00" - || jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7" + || jeiFiles[0].hashes?.sha1 != "652e964c71a699fdfdd96cda265ea703b13c6ef4" + || jeiFiles[0].hashes?.sha512 != "06131c9528549840e07ddc9634e23454cd454380d7749a23d818f0efe0dacc02874e967ceb74a24ee82efb13e0fe2df4026f988a68f54f890586967e91dcaa5b" || !changelog.contains("## `26.2.0-alpha.210`")) { throw new GradleException("The alpha.210 Forbidden Book and gameplay-polish release is incomplete") } @@ -5854,11 +5854,11 @@ tasks.register("verifyAlpha211Release") { ouch: "0.0.0-alpha.10", sanctuary: "0.0.0-alpha.119"] def currentModules = expectedTarget + [ - sanctuary: "0.0.0-alpha.124", + sanctuary: "0.0.0-alpha.125", onlyfun: "0.0.0-alpha.25", ambiance: "0.0.0-alpha.22", iliketomoveit: "0.0.0-alpha.16"] - def workspaceModules = currentModules + [sanctuary: "0.0.0-alpha.125"] + def workspaceModules = currentModules def expectedDataVersions = [ambiance: 2, itsalive: 3, onlyfun: 2, ouch: 1, sanctuary: 11] def expectedProtocols = [ambiance: 6, itsalive: 4, onlyfun: 3, ouch: 1, sanctuary: 22] def manifests = expectedTarget.collectEntries { id, version -> @@ -5881,9 +5881,9 @@ tasks.register("verifyAlpha211Release") { def expectedIds = [ "ambiance:white_disc", "abjection:shit_ball", "abjection:shit_cube"] def jeiFiles = prism.files.findAll { - it.path == "mods/jei-26.2-fabric-30.29.0.196.jar" + it.path == "mods/jei-26.2-fabric-30.29.0.198.jar" } - if (rootProject.pack_version != "26.2.0-alpha.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || workspaceModules.any { id, version -> rootProject.property("${id}_version") != version } || migration.source?.pack_version != "26.2.0-alpha.210" || migration.source?.modules != expectedSource @@ -5911,17 +5911,17 @@ tasks.register("verifyAlpha211Release") { || 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.222.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.222"') + || !packwiz.contains('version = "26.2.0-alpha.223"') || requiredJars.any { !packwizIndex.contains(it) } || obsoleteJars.any { packwizIndex.contains(it) } || prism.files?.size() != 5 || jeiFiles.size() != 1 - || jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00" - || jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7" + || 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.222`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { throw new GradleException("The alpha.211 Abjection and gameplay-polish release is incomplete") } } @@ -5953,9 +5953,9 @@ tasks.register("verifyAlpha212Release") { def minecraftMixin = file( "sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/mixin/client/MinecraftMixin.java").text def jeiFiles = prism.files.findAll { - it.path == "mods/jei-26.2-fabric-30.29.0.196.jar" + it.path == "mods/jei-26.2-fabric-30.29.0.198.jar" } - if (rootProject.pack_version != "26.2.0-alpha.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || rootProject.sanctuary_version != "0.0.0-alpha.125" || migration.source?.pack_version != "26.2.0-alpha.211" || migration.source?.modules != [sanctuary: "0.0.0-alpha.119"] @@ -5977,16 +5977,16 @@ tasks.register("verifyAlpha212Release") { || manifest.custom?.sanctuary26?.data_version != 11 || manifest.custom?.sanctuary26?.network_protocol != 22 || !minecraftMixin.contains('method = "pickBlockOrEntity"') - || release.pack_version != "26.2.0-alpha.222" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack" - || prism.versionId != "26.2.0-alpha.222" + || 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" || prism.files?.size() != 5 || jeiFiles.size() != 1 - || !packwiz.contains('version = "26.2.0-alpha.222"') - || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.124.jar"') + || !packwiz.contains('version = "26.2.0-alpha.223"') + || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.125.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.222`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { throw new GradleException("The alpha.212 Black Market startup-fix release is incomplete") } } @@ -6018,9 +6018,9 @@ tasks.register("verifyAlpha213Release") { def levelEventMixin = file( "ambiance/src/main/java/fr/koka99cab/sanctuary26/ambiance/mixin/client/LevelEventHandlerMixin.java").text def jeiFiles = prism.files.findAll { - it.path == "mods/jei-26.2-fabric-30.29.0.196.jar" + it.path == "mods/jei-26.2-fabric-30.29.0.198.jar" } - if (rootProject.pack_version != "26.2.0-alpha.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || 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"] @@ -6044,16 +6044,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.222" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack" - || prism.versionId != "26.2.0-alpha.222" + || 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" || prism.files?.size() != 5 || jeiFiles.size() != 1 - || !packwiz.contains('version = "26.2.0-alpha.222"') + || !packwiz.contains('version = "26.2.0-alpha.223"') || !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.222`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { throw new GradleException("The alpha.213 Ambiance startup-fix release is incomplete") } } @@ -6088,7 +6088,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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || 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"] @@ -6117,16 +6117,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.222" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack" - || prism.versionId != "26.2.0-alpha.222" + || 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" || prism.files?.size() != 5 - || !packwiz.contains('version = "26.2.0-alpha.222"') + || !packwiz.contains('version = "26.2.0-alpha.223"') || !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.222`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { throw new GradleException("The alpha.214 white-disc solo synchronization release is incomplete") } } @@ -6167,7 +6167,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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || 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"] @@ -6207,16 +6207,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.222" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack" - || prism.versionId != "26.2.0-alpha.222" + || 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" || prism.files?.size() != 5 - || !packwiz.contains('version = "26.2.0-alpha.222"') + || !packwiz.contains('version = "26.2.0-alpha.223"') || !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.222`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { throw new GradleException("The alpha.215 resilient white-disc playback release is incomplete") } } @@ -6261,7 +6261,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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || 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"] @@ -6305,16 +6305,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.222" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack" - || prism.versionId != "26.2.0-alpha.222" + || 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" || prism.files?.size() != 5 - || !packwiz.contains('version = "26.2.0-alpha.222"') + || !packwiz.contains('version = "26.2.0-alpha.223"') || !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.222`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { throw new GradleException("The alpha.216 white-disc audio-quality release is incomplete") } } @@ -6349,7 +6349,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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || 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"] @@ -6380,16 +6380,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.222" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack" - || prism.versionId != "26.2.0-alpha.222" + || 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" || prism.files?.size() != 5 - || !packwiz.contains('version = "26.2.0-alpha.222"') + || !packwiz.contains('version = "26.2.0-alpha.223"') || !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.222`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { throw new GradleException("The alpha.217 white-disc pitch release is incomplete") } } @@ -6437,14 +6437,14 @@ 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.124", iliketomoveit: "0.0.0-alpha.16", ambiance: "0.0.0-alpha.22"] + sanctuary: "0.0.0-alpha.125", iliketomoveit: "0.0.0-alpha.16", ambiance: "0.0.0-alpha.22"] 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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || rootProject.redstoner_version != "0.0.0-alpha.13" || currentModules.findAll { id, version -> id != "redstoner" && id != "sanctuary" }.any { id, version -> rootProject.property("${id}_version") != version @@ -6481,13 +6481,13 @@ tasks.register("verifyAlpha218Release") { || !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.222.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.222"') + || !packwiz.contains('version = "26.2.0-alpha.223"') || 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.222`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { throw new GradleException("The alpha.218 Storage Terminal release is incomplete") } } @@ -6532,8 +6532,8 @@ 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.124"] - def workspaceModules = currentModules + [sanctuary: "0.0.0-alpha.125"] + ambiance: "0.0.0-alpha.22", sanctuary: "0.0.0-alpha.125"] + def workspaceModules = currentModules def requiredJars = currentModules.collect { id, version -> "file = \"mods/${id}-${version}.jar\"" } @@ -6548,7 +6548,7 @@ tasks.register("verifyAlpha219Release") { include "**/*golden*days*.zip", "**/*golden*days*.jar" exclude "**/build/**", "**/.gradle/**", "**/.git/**" }.files - if (rootProject.pack_version != "26.2.0-alpha.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || workspaceModules.any { id, version -> rootProject.property("${id}_version") != version } || migration.source?.pack_version != "26.2.0-alpha.218" || migration.source?.modules != sourceModules @@ -6580,15 +6580,15 @@ tasks.register("verifyAlpha219Release") { || 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.222.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" || prism.versionId != rootProject.pack_version || prism.files.any { it.path.toLowerCase().contains("golden-days") } - || !packwiz.contains('version = "26.2.0-alpha.222"') + || !packwiz.contains('version = "26.2.0-alpha.223"') || 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.222`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { throw new GradleException("The alpha.219 finite Alpha/Indev release is incomplete") } } @@ -6627,7 +6627,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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || 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"] @@ -6668,13 +6668,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.222.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.222"') + || !packwiz.contains('version = "26.2.0-alpha.223"') || !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.222`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { throw new GradleException("The alpha.220 Storage Terminal menu release is incomplete") } } @@ -6722,7 +6722,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.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || 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"] @@ -6771,13 +6771,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.222.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.223.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.222"') + || !packwiz.contains('version = "26.2.0-alpha.223"') || !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.222`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { throw new GradleException("The alpha.221 native-rate white-disc release is incomplete") } } @@ -6854,9 +6854,9 @@ tasks.register("verifyAlpha222Release") { def terminalContract = migration.storage_terminal_search def questContract = migration.quest_tracker def jeiFiles = prism.files.findAll { - it.path == "mods/jei-26.2-fabric-30.29.0.196.jar" + it.path == "mods/jei-26.2-fabric-30.29.0.198.jar" } - if (rootProject.pack_version != "26.2.0-alpha.222" + if (rootProject.pack_version != "26.2.0-alpha.223" || rootProject.redstoner_version != "0.0.0-alpha.13" || rootProject.sanctuary_version != "0.0.0-alpha.125" || migration.source?.pack_version != "26.2.0-alpha.221" @@ -6931,26 +6931,172 @@ 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.222" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack" - || prism.versionId != "26.2.0-alpha.222" - || !packwiz.contains('version = "26.2.0-alpha.222"') + || 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/redstoner-0.0.0-alpha.13.jar"') - || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.124.jar"') + || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.125.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.196.jar"') - || !packwizJei.contains('version = "vvwsu2BR"') + || !packwizJei.contains('filename = "jei-26.2-fabric-30.29.0.198.jar"') + || !packwizJei.contains('version = "67Dvn8sL"') || jeiFiles.size() != 1 - || jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00" - || jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7" + || 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.222`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { throw new GradleException("The alpha.222 terminal-search and quest-tracker release is incomplete") } } } +tasks.register("verifyAlpha223Release") { + group = "verification" + description = "Checks the Sanctuary 26.2.0-alpha.223 inventory-sort and quest-tracker display release." + inputs.file(file("pack/migrations/26.2.0-alpha.222-inventory-sort-quest-tracker-modes-to-alpha.223.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("pack/packwiz/mods/jei.pw.toml")) + inputs.file(file("CHANGELOG.md")) + inputs.file(file("README.md")) + inputs.file(file("sanctuary/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/gameplay/SanctuaryInventorySorter.java")) + inputs.file(file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/SanctuaryInventorySortClient.java")) + inputs.file(file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/QuestTrackerDisplayMode.java")) + inputs.file(file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/QuestTrackerHud.java")) + inputs.file(file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/QuestTrackerDebugLayout.java")) + inputs.file(file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/SanctuaryClient.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")) + inputs.file(file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/shop/QuestTrackerSync.java")) + inputs.file(file("sanctuary/src/test/java/fr/koka99cab/sanctuary26/sanctuary/gameplay/SanctuaryInventorySortSmoke.java")) + inputs.file(file("sanctuary/src/test/java/fr/koka99cab/sanctuary26/sanctuary/client/QuestTrackerDisplaySmoke.java")) + doLast { + def migration = new JsonSlurper().parse(file( + "pack/migrations/26.2.0-alpha.222-inventory-sort-quest-tracker-modes-to-alpha.223.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 packwizJei = file("pack/packwiz/mods/jei.pw.toml").text + def changelog = file("CHANGELOG.md").text + def readme = file("README.md").text + def manifest = new JsonSlurper().parse(file("sanctuary/src/main/resources/fabric.mod.json")) + def inventorySort = file( + "sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/gameplay/SanctuaryInventorySort.java").text + def sorter = file( + "sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/gameplay/SanctuaryInventorySorter.java").text + def sortClient = file( + "sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/SanctuaryInventorySortClient.java").text + def displayMode = file( + "sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/QuestTrackerDisplayMode.java").text + def questHud = file( + "sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/QuestTrackerHud.java").text + def debugLayout = file( + "sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/QuestTrackerDebugLayout.java").text + def sanctuaryClient = file( + "sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/SanctuaryClient.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 questSync = file( + "sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/shop/QuestTrackerSync.java").text + def inventorySmoke = file( + "sanctuary/src/test/java/fr/koka99cab/sanctuary26/sanctuary/gameplay/SanctuaryInventorySortSmoke.java").text + def displaySmoke = file( + "sanctuary/src/test/java/fr/koka99cab/sanctuary26/sanctuary/client/QuestTrackerDisplaySmoke.java").text + def sortContract = migration.inventory_sort + def displayContract = migration.quest_tracker_display + 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.125" + || 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" + || migration.target?.modules != [sanctuary: "0.0.0-alpha.125"] + || sortContract?.owner != "sanctuary" + || sortContract?.default_binding != "middle_mouse" + || sortContract?.unlocked_storage_rows_only != true + || sortContract?.packs_from_top != true + || sortContract?.merges_identical_stacks != true + || sortContract?.hotbar_armor_offhand_crafting_and_special_slots_unchanged != true + || sortContract?.server_authoritative != true + || sortContract?.server_cooldown_ticks != 8 + || sortContract?.ignored_in_creative != true + || sortContract?.ignored_while_typing != true + || displayContract?.owner != "sanctuary" + || displayContract?.default_mode != "transparent_text" + || displayContract?.mode_toggle_default_key != "N" + || displayContract?.original_chris_panel_available != true + || displayContract?.transparent_text_below_f3_left_column != true + || displayContract?.contracts_named_and_sorted_by_reward_tier != true + || displayContract?.reward_order != ["ruby", "sapphire", "emerald_or_other"] + || migration.compatibility?.new_world_required != false + || migration.compatibility?.save_reset_required != false + || migration.compatibility?.existing_saves_supported != true + || migration.compatibility?.registry_ids_changed != false + || migration.compatibility?.sanctuary_data_version != 11 + || migration.compatibility?.sanctuary_network_protocol != 22 + || 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 + || migration.distribution?.jei?.source != "30.29.0.196" + || migration.distribution?.jei?.target != "30.29.0.198" + || migration.distribution?.jei?.modrinth_version_id != "67Dvn8sL" + || migration.distribution?.jei?.packwiz_and_prism_synchronized != true + || manifest.custom?.sanctuary26?.data_version != 11 + || manifest.custom?.sanctuary26?.network_protocol != 22 + || !inventorySort.contains("COOLDOWN_TICKS = 8") + || !inventorySort.contains("if (row == 0) continue") + || !inventorySort.contains("SanctuaryInventorySorter.compactAndSort") + || !sorter.contains("merged.sort(access::compare)") + || !sortClient.contains("instanceof EditBox") + || !sortClient.contains("instanceof CreativeModeInventoryScreen") + || !sortClient.contains("playButtonClickSound") + || !sortPayload.contains('SanctuaryMod.id("c2s/sort_inventory")') + || !sortPayload.contains("Intentionally empty") + || !networking.contains("SanctuaryInventorySort.sort(context.player())") + || !networking.contains("PROTOCOL_VERSION = 22") + || !displayMode.contains('TEXT("text")') + || !displayMode.contains('PANEL("panel")') + || !questHud.contains("renderText(") + || !questHud.contains("renderPanel(") + || !questHud.contains("QuestTrackerDebugLayout.textTop") + || !debugLayout.contains("leftLineCount * DEBUG_LINE_HEIGHT") + || !sanctuaryClient.contains("GLFW.GLFW_MOUSE_BUTTON_MIDDLE") + || !sanctuaryClient.contains("GLFW.GLFW_KEY_N") + || !questSync.contains("case RUBY -> 0") + || !questSync.contains("case SAPPHIRE -> 1") + || !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"') + || 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"') + || jeiFiles.size() != 1 + || jeiFiles[0].hashes?.sha1 != "652e964c71a699fdfdd96cda265ea703b13c6ef4" + || jeiFiles[0].hashes?.sha512 != "06131c9528549840e07ddc9634e23454cd454380d7749a23d818f0efe0dacc02874e967ceb74a24ee82efb13e0fe2df4026f988a68f54f890586967e91dcaa5b" + || !changelog.contains("## `26.2.0-alpha.223`") + || changelog.contains("## Non distribué") + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.223`**")) { + throw new GradleException("The alpha.223 inventory-sort and quest-tracker display release is incomplete") + } + } +} + tasks.named("verifyWorkspace") { dependsOn tasks.named("verifyAlpha213Release") dependsOn tasks.named("verifyAlpha214Release") @@ -6962,6 +7108,7 @@ tasks.named("verifyWorkspace") { dependsOn tasks.named("verifyAlpha220Release") dependsOn tasks.named("verifyAlpha221Release") dependsOn tasks.named("verifyAlpha222Release") + dependsOn tasks.named("verifyAlpha223Release") } tasks.named("check") { diff --git a/gradle.properties b/gradle.properties index f7e9639..8eed805 100644 --- a/gradle.properties +++ b/gradle.properties @@ -30,5 +30,5 @@ onlyfun_version=0.0.0-alpha.25 onlyfun_lifecycle=active sanctuary_version=0.0.0-alpha.125 sanctuary_lifecycle=active -pack_version=26.2.0-alpha.222 +pack_version=26.2.0-alpha.223 maven_group=fr.koka99cab.sanctuary26 diff --git a/pack/migrations/26.2.0-alpha.222-inventory-sort-quest-tracker-modes-to-alpha.223.json b/pack/migrations/26.2.0-alpha.222-inventory-sort-quest-tracker-modes-to-alpha.223.json new file mode 100644 index 0000000..55c2fae --- /dev/null +++ b/pack/migrations/26.2.0-alpha.222-inventory-sort-quest-tracker-modes-to-alpha.223.json @@ -0,0 +1,60 @@ +{ + "schema_version": 1, + "source": { + "pack_version": "26.2.0-alpha.222", + "modules": { + "sanctuary": "0.0.0-alpha.124" + } + }, + "target": { + "pack_version": "26.2.0-alpha.223", + "modules": { + "sanctuary": "0.0.0-alpha.125" + } + }, + "inventory_sort": { + "owner": "sanctuary", + "default_binding": "middle_mouse", + "unlocked_storage_rows_only": true, + "packs_from_top": true, + "merges_identical_stacks": true, + "hotbar_armor_offhand_crafting_and_special_slots_unchanged": true, + "server_authoritative": true, + "server_cooldown_ticks": 8, + "ignored_in_creative": true, + "ignored_while_typing": true + }, + "quest_tracker_display": { + "owner": "sanctuary", + "default_mode": "transparent_text", + "mode_toggle_default_key": "N", + "original_chris_panel_available": true, + "transparent_text_below_f3_left_column": true, + "contracts_named_and_sorted_by_reward_tier": true, + "reward_order": [ + "ruby", + "sapphire", + "emerald_or_other" + ] + }, + "compatibility": { + "new_world_required": false, + "save_reset_required": false, + "existing_saves_supported": true, + "registry_ids_changed": false, + "sanctuary_data_version": 11, + "sanctuary_network_protocol": 22 + }, + "distribution": { + "pack_release_updated": true, + "packwiz_index_refreshed": true, + "prism_modrinth_index_updated": true, + "shared_client_server_mrpack": true, + "jei": { + "source": "30.29.0.196", + "target": "30.29.0.198", + "modrinth_version_id": "67Dvn8sL", + "packwiz_and_prism_synchronized": true + } + } +} diff --git a/pack/packwiz/index.toml b/pack/packwiz/index.toml index e7a2f4c..2f997e1 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 = "a6b7d98971f411b202f5679aae05c1bc93754ee9a42d10dc903413b17ba97a63" +hash = "34aa79ab54ba2506b0ffef062662917de8b29f6f3f9b8d7a920a664d01185641" [[files]] file = "mods/anotherworld-0.0.0-alpha.55.jar" -hash = "cac322006ad9a724bb656b400cf47d84a18e76cd1a35f4bd13c112f443d89275" +hash = "2c93c364af7f617a488a8ef5c64d584041eeb24b93e4ea727570c042bd73fe2d" [[files]] file = "mods/events-0.0.0-alpha.0.jar" -hash = "8d2566ceb838a486fe9d8539acd127446e51d7085dcbefa86ee3c1aea4630a6d" +hash = "6c94ba89f6daf64d7144e9ea2283a98a609a01a20b7913bd51821034ee8a26fd" [[files]] file = "mods/fabric-api.pw.toml" @@ -31,7 +31,7 @@ metafile = true [[files]] file = "mods/iliketomoveit-0.0.0-alpha.16.jar" -hash = "94e5afefab9485c40a47342dc84f401fa126be40064832929601e781b3a03738" +hash = "f0f54b9746977b085abb74fea61e8cd230f3dda905cc337866e7950fb2ee9293" [[files]] file = "mods/iris.pw.toml" @@ -40,32 +40,32 @@ metafile = true [[files]] file = "mods/itsalive-0.0.0-alpha.36.jar" -hash = "94899dba383aff41c39f7f25ee1a6b7998aa1e9889e7b9e9039a984e0bc0882f" +hash = "ae2201e91e4ab2eaf09f32ea41c920d460cf3cf426e71bd76be5241b7e81e1a0" [[files]] file = "mods/jei.pw.toml" -hash = "115d2239bc86ecdad88705dbc215d27ddb6a08d94f74fa538abb6a67a00bf71e" +hash = "cffb13bae33cd8df605c62e7fa66089428dc684e0ab973f662a8a710c45c306d" metafile = true [[files]] file = "mods/masterkey-0.0.0-alpha.8.jar" -hash = "102c3da5d201452be23ab84338e023c284f4770270ca945b0c63b6a996fb2922" +hash = "60de65566b1434709cdfb4c915d5bc6a7f9019dd48ebeaa04fe474f0ec7fd3b4" [[files]] file = "mods/onlyfun-0.0.0-alpha.25.jar" -hash = "2676072de7dbc9b27c4fd0e50e797832356fbc903e80c5bd9a5bd55c1a5aff1b" +hash = "165ffe713b09db64484cceb6c508ac5e53b5d7e69e86ea6658c3e8ea04ee1ccf" [[files]] file = "mods/ouch-0.0.0-alpha.10.jar" -hash = "59815a0415c48c92acfc7c18bd2399780bab9b0b5eee69c2b35a66cb1474109b" +hash = "3f66a1b0657c40b653ec9e7a7aa92e4edf72475af7e372a49d9254743696f0a5" [[files]] file = "mods/redstoner-0.0.0-alpha.13.jar" -hash = "0bd3888b13c894aed806696a5e73e076c7ed985eff2c242f0df9ec64ff3fcb37" +hash = "226c000f5febd841d69420316af2c14dd4ec0ef1c774c21d5926f7120f44b7e6" [[files]] -file = "mods/sanctuary-0.0.0-alpha.124.jar" -hash = "39a3db3d1d9876ac5c7a7135a3b524c82508d0ee2e0c5c410c6515ff8931c6fb" +file = "mods/sanctuary-0.0.0-alpha.125.jar" +hash = "f0826d9be66f6498bc0455ea8075bfbaefc97c1f6a7b0d21b225003fe71ad958" [[files]] file = "mods/simple-voice-chat.pw.toml" diff --git a/pack/packwiz/mods/jei.pw.toml b/pack/packwiz/mods/jei.pw.toml index 95ee2c7..a8bb03c 100644 --- a/pack/packwiz/mods/jei.pw.toml +++ b/pack/packwiz/mods/jei.pw.toml @@ -1,14 +1,14 @@ name = "Just Enough Items (JEI)" -filename = "jei-26.2-fabric-30.29.0.196.jar" +filename = "jei-26.2-fabric-30.29.0.198.jar" side = "both" pin = true [download] -url = "https://cdn.modrinth.com/data/u6dRKJwZ/versions/vvwsu2BR/jei-26.2-fabric-30.29.0.196.jar" +url = "https://cdn.modrinth.com/data/u6dRKJwZ/versions/67Dvn8sL/jei-26.2-fabric-30.29.0.198.jar" hash-format = "sha512" -hash = "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7" +hash = "06131c9528549840e07ddc9634e23454cd454380d7749a23d818f0efe0dacc02874e967ceb74a24ee82efb13e0fe2df4026f988a68f54f890586967e91dcaa5b" [update] [update.modrinth] mod-id = "u6dRKJwZ" -version = "vvwsu2BR" +version = "67Dvn8sL" diff --git a/pack/packwiz/pack.toml b/pack/packwiz/pack.toml index bb393ea..6e4665b 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.222" +version = "26.2.0-alpha.223" pack-format = "packwiz:1.1.0" [index] file = "index.toml" hash-format = "sha256" -hash = "53b5bec1b113ab2b353e6a142e3dbc4617ea7d27003bcbb09b668938dd262ddd" +hash = "9e06da88d562c7a2ed5fbcd56a06779a37715d4f9cf26479ee1a664758ada599" [versions] fabric = "0.19.3" diff --git a/pack/prism/modrinth.index.json b/pack/prism/modrinth.index.json index 0ceddfc..a61eb9a 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.222", + "versionId": "26.2.0-alpha.223", "files": [ { "path": "mods/fabric-api-0.158.0+26.2.jar", @@ -21,19 +21,19 @@ "fileSize": 2535765 }, { - "path": "mods/jei-26.2-fabric-30.29.0.196.jar", + "path": "mods/jei-26.2-fabric-30.29.0.198.jar", "hashes": { - "sha1": "c2f2c6b5822a560fe9872921b908ffc2f3297d00", - "sha512": "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7" + "sha1": "652e964c71a699fdfdd96cda265ea703b13c6ef4", + "sha512": "06131c9528549840e07ddc9634e23454cd454380d7749a23d818f0efe0dacc02874e967ceb74a24ee82efb13e0fe2df4026f988a68f54f890586967e91dcaa5b" }, "env": { "client": "required", "server": "required" }, "downloads": [ - "https://cdn.modrinth.com/data/u6dRKJwZ/versions/vvwsu2BR/jei-26.2-fabric-30.29.0.196.jar" + "https://cdn.modrinth.com/data/u6dRKJwZ/versions/67Dvn8sL/jei-26.2-fabric-30.29.0.198.jar" ], - "fileSize": 1838353 + "fileSize": 1839279 }, { "path": "mods/voicechat-fabric-2.6.22+26.2.jar", diff --git a/pack/release.json b/pack/release.json index df90369..bb8ca74 100644 --- a/pack/release.json +++ b/pack/release.json @@ -1,6 +1,6 @@ { "schema_version": 1, - "pack_version": "26.2.0-alpha.222", + "pack_version": "26.2.0-alpha.223", "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.222.mrpack", + "primary_file": "sanctuary-26.2.0-alpha.223.mrpack", "shared_client_server_pack": true, "update_owner": "packwiz-installer", "check_on_launch": true,