From 9e35c244ec1ce7e33f885f4e6d53a22909f323fd Mon Sep 17 00:00:00 2001 From: koka Date: Sun, 30 Aug 2026 00:52:59 +0200 Subject: [PATCH] release: prepare 26.2.0-alpha.215 --- CHANGELOG.md | 11 + README.md | 4 +- build.gradle | 275 ++++++++++++------ gradle.properties | 2 +- ...hite-disc-playback-crash-to-alpha.215.json | 39 +++ pack/packwiz/index.toml | 22 +- pack/packwiz/pack.toml | 4 +- pack/prism/modrinth.index.json | 2 +- pack/release.json | 4 +- 9 files changed, 251 insertions(+), 112 deletions(-) create mode 100644 pack/migrations/26.2.0-alpha.214-white-disc-playback-crash-to-alpha.215.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 7595acf..2bbc91d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,17 @@ 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. +## `26.2.0-alpha.215` + +Module modifié : **Ambiance `0.0.0-alpha.18`**. Les neuf autres modules conservent leur version issue de l'alpha.214. + +- corrige le crash natif déclenché par l’insertion ou l’arrêt du disque blanc en laissant Minecraft libérer le canal OpenAL sur son thread audio ; +- rétablit le décodage audible du lien YouTube signalé grâce au profil iOS corrigé et à une révision épinglée de `youtube-source` ; +- borne uniquement l’attente initiale du flux puis poursuit la lecture sans blocage, avec silence de compensation lorsque les données arrivent en retard ; +- transforme les erreurs et blocages de lecture en arrêt propre accompagné d’un message au joueur ; +- conserve les données Ambiance v2, le protocole réseau 6, les IDs et les sauvegardes existantes ; +- distribue Ambiance `0.0.0-alpha.18` dans Packwiz et le `.mrpack` partagé client/serveur, sans exiger de nouveau monde ni réinitialiser les sauvegardes. + ## `26.2.0-alpha.214` Module modifié : **Ambiance `0.0.0-alpha.17`**. Les neuf autres modules conservent leur version issue de l'alpha.213. diff --git a/README.md b/README.md index 0dfefec..cdeb178 100644 --- a/README.md +++ b/README.md @@ -22,11 +22,11 @@ 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.214`**. Cette release corrective distribue Ambiance **`0.0.0-alpha.17`** ; les neuf autres modules conservent leur version issue de l'alpha.213. +Version courante du pack distribué : **`26.2.0-alpha.215`**. Cette release corrective distribue Ambiance **`0.0.0-alpha.18`** ; les neuf autres modules conservent leur version issue de l'alpha.214. 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.214 rétablit la lecture du disque blanc en solo : Ambiance attend désormais la synchronisation client du jukebox, affiche immédiatement le chargement et signale clairement un éventuel échec. Les packs Modrinth, Prism et Packwiz sont mis à jour sans exiger de nouveau monde ni réinitialiser les sauvegardes. +L’alpha.215 stabilise le disque blanc : le décodage YouTube utilise la source corrigée, les arrêts et erreurs restent sur les threads audio appropriés et ne font plus tomber le client. Les packs Modrinth, Prism et Packwiz sont mis à jour sans exiger de nouveau monde ni réinitialiser les sauvegardes. L’alpha.207 rend le stockage du coffre-fort pratiquement illimité : rubis, saphirs et émeraudes utilisent chacun un solde 64 bits. Les 27 anciennes piles sont additionnées automatiquement lors du chargement, le Shop continue de consommer directement ces soldes et les 20 % pillés sont crédités dans le coffre-fort de l’attaquant sans créer des millions d’entités ou de piles d’objets. diff --git a/build.gradle b/build.gradle index e956b0a..3efb190 100644 --- a/build.gradle +++ b/build.gradle @@ -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.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || rootProject.sanctuary_version != "0.0.0-alpha.120" || rootProject.onlyfun_version != "0.0.0-alpha.24" || 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.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || rootProject.anotherworld_version != "0.0.0-alpha.55" || rootProject.redstoner_version != "0.0.0-alpha.10" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version @@ -4206,7 +4206,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.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || rootProject.onlyfun_version != "0.0.0-alpha.24" || rootProject.sanctuary_version != "0.0.0-alpha.120" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version @@ -4251,7 +4251,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.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || 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" @@ -4300,7 +4300,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.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || rootProject.onlyfun_version != "0.0.0-alpha.24" || rootProject.sanctuary_version != "0.0.0-alpha.120" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version @@ -4346,7 +4346,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.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || migration.source?.pack_version != "26.2.0-alpha.195" || migration.target?.pack_version != "26.2.0-alpha.196" || migration.target?.modules != [ @@ -4364,10 +4364,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.214" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.214.mrpack" - || prism.versionId != "26.2.0-alpha.214" - || !packwiz.contains('version = "26.2.0-alpha.214"')) { + || release.pack_version != "26.2.0-alpha.215" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" + || prism.versionId != "26.2.0-alpha.215" + || !packwiz.contains('version = "26.2.0-alpha.215"')) { throw new GradleException("The alpha.196 culinary, mailbox and grapple release contract is incomplete") } } @@ -4392,7 +4392,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.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || rootProject.itsalive_version != "0.0.0-alpha.36" || rootProject.sanctuary_version != "0.0.0-alpha.120" || migration.source?.pack_version != "26.2.0-alpha.196" @@ -4412,10 +4412,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.214" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.214.mrpack" - || prism.versionId != "26.2.0-alpha.214" - || !packwiz.contains('version = "26.2.0-alpha.214"')) { + || release.pack_version != "26.2.0-alpha.215" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" + || prism.versionId != "26.2.0-alpha.215" + || !packwiz.contains('version = "26.2.0-alpha.215"')) { throw new GradleException("The alpha.197 quest-request and cauldron-batch release contract is incomplete") } } @@ -4442,7 +4442,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.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || 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" @@ -4461,10 +4461,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.214" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.214.mrpack" - || prism.versionId != "26.2.0-alpha.214" - || !packwiz.contains('version = "26.2.0-alpha.214"') + || release.pack_version != "26.2.0-alpha.215" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" + || prism.versionId != "26.2.0-alpha.215" + || !packwiz.contains('version = "26.2.0-alpha.215"') || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.36.jar"')) { throw new GradleException("The alpha.198 fermentation barrel release contract is incomplete") } @@ -4492,7 +4492,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.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || rootProject.itsalive_version != "0.0.0-alpha.36" || rootProject.sanctuary_version != "0.0.0-alpha.120" || migration.source?.pack_version != "26.2.0-alpha.198" @@ -4506,10 +4506,10 @@ 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.214" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.214.mrpack" - || prism.versionId != "26.2.0-alpha.214" - || !packwiz.contains('version = "26.2.0-alpha.214"') + || release.pack_version != "26.2.0-alpha.215" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" + || prism.versionId != "26.2.0-alpha.215" + || !packwiz.contains('version = "26.2.0-alpha.215"') || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.36.jar"') || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.120.jar"')) { throw new GradleException("The alpha.199 quest-request contract release is incomplete") @@ -4547,7 +4547,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.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || rootProject.ambiance_version != "0.0.0-alpha.18" || rootProject.ouch_version != "0.0.0-alpha.10" || migration.source?.pack_version != "26.2.0-alpha.199" @@ -4581,11 +4581,11 @@ tasks.register("verifyWeatherTntAmbianceRelease") { || !weatherTnt.contains("AmbianceDailyWeather.CLEAR") || !weatherTnt.contains("CLEAR_WEATHER_TICKS = 864_000") || weatherTnt.contains("setWeatherParameters") - || release.pack_version != "26.2.0-alpha.214" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.214.mrpack" - || prism.versionId != "26.2.0-alpha.214" - || !packwiz.contains('version = "26.2.0-alpha.214"') - || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.17.jar"') + || release.pack_version != "26.2.0-alpha.215" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" + || prism.versionId != "26.2.0-alpha.215" + || !packwiz.contains('version = "26.2.0-alpha.215"') + || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.18.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") } @@ -4613,7 +4613,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.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || rootProject.sanctuary_version != "0.0.0-alpha.120" || migration.source?.pack_version != "26.2.0-alpha.200" || migration.source?.modules?.sanctuary != "0.0.0-alpha.115" @@ -4628,10 +4628,10 @@ 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.214" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.214.mrpack" - || prism.versionId != "26.2.0-alpha.214" - || !packwiz.contains('version = "26.2.0-alpha.214"') + || release.pack_version != "26.2.0-alpha.215" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" + || prism.versionId != "26.2.0-alpha.215" + || !packwiz.contains('version = "26.2.0-alpha.215"') || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.120.jar"')) { throw new GradleException("The alpha.201 quest-request escrow release is incomplete") } @@ -4667,7 +4667,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.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || rootProject.anotherworld_version != "0.0.0-alpha.55" || rootProject.itsalive_version != "0.0.0-alpha.36" || rootProject.iliketomoveit_version != "0.0.0-alpha.15" @@ -4707,10 +4707,10 @@ 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.214" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.214.mrpack" - || prism.versionId != "26.2.0-alpha.214" - || !packwiz.contains('version = "26.2.0-alpha.214"') + || release.pack_version != "26.2.0-alpha.215" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" + || prism.versionId != "26.2.0-alpha.215" + || !packwiz.contains('version = "26.2.0-alpha.215"') || !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.15.jar"') @@ -4827,7 +4827,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.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || rootProject.anotherworld_version != "0.0.0-alpha.55" || rootProject.sanctuary_version != "0.0.0-alpha.120" || migration.schema_version != 1 @@ -5019,7 +5019,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.28.0.193.jar" } - if (rootProject.pack_version != "26.2.0-alpha.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || 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"] @@ -5037,9 +5037,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.214.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.214"') + || !packwiz.contains('version = "26.2.0-alpha.215"') || !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 @@ -5065,7 +5065,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.28.0.193.jar" } - if (rootProject.pack_version != "26.2.0-alpha.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || 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"] @@ -5091,9 +5091,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.214.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.214"') + || !packwiz.contains('version = "26.2.0-alpha.215"') || !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 @@ -5119,7 +5119,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.28.0.193.jar" } - if (rootProject.pack_version != "26.2.0-alpha.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || 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"] @@ -5148,9 +5148,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.214.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.214"') + || !packwiz.contains('version = "26.2.0-alpha.215"') || !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 @@ -5177,7 +5177,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.28.0.193.jar" } - if (rootProject.pack_version != "26.2.0-alpha.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || 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"] @@ -5200,9 +5200,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.214.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.214"') + || !packwiz.contains('version = "26.2.0-alpha.215"') || !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 @@ -5229,7 +5229,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.28.0.193.jar" } - if (rootProject.pack_version != "26.2.0-alpha.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || 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"] @@ -5259,9 +5259,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.214.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.214"') + || !packwiz.contains('version = "26.2.0-alpha.215"') || !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 @@ -5317,7 +5317,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.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || rootProject.itsalive_version != "0.0.0-alpha.36" || rootProject.ambiance_version != "0.0.0-alpha.18" || migration.issue != 35 @@ -5569,7 +5569,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.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || rootProject.ambiance_version != "0.0.0-alpha.18" || rootProject.itsalive_version != "0.0.0-alpha.36" || rootProject.onlyfun_version != "0.0.0-alpha.24" @@ -5617,10 +5617,10 @@ 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.214.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.214"') - || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.17.jar"') + || !packwiz.contains('version = "26.2.0-alpha.215"') + || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.18.jar"') || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.36.jar"') || !packwizIndex.contains('file = "mods/onlyfun-0.0.0-alpha.24.jar"') || packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.12.jar"') @@ -5670,7 +5670,7 @@ tasks.register("verifyAlpha210Release") { iliketomoveit: "0.0.0-alpha.15", itsalive: "0.0.0-alpha.35"] def currentModules = [ - ambiance: "0.0.0-alpha.17", + ambiance: "0.0.0-alpha.18", sanctuary: "0.0.0-alpha.120", onlyfun: "0.0.0-alpha.24", ouch: "0.0.0-alpha.10", @@ -5687,7 +5687,7 @@ tasks.register("verifyAlpha210Release") { def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.28.0.193.jar" } - if (rootProject.pack_version != "26.2.0-alpha.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || rootProject.sanctuary_version != "0.0.0-alpha.120" || rootProject.onlyfun_version != "0.0.0-alpha.24" || rootProject.iliketomoveit_version != expectedTarget.iliketomoveit @@ -5733,10 +5733,10 @@ 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.214" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.214.mrpack" - || prism.versionId != "26.2.0-alpha.214" - || !packwiz.contains('version = "26.2.0-alpha.214"') + || release.pack_version != "26.2.0-alpha.215" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" + || prism.versionId != "26.2.0-alpha.215" + || !packwiz.contains('version = "26.2.0-alpha.215"') || requiredJars.any { !packwizIndex.contains(it) } || obsoleteJars.any { packwizIndex.contains(it) } || jeiFiles.size() != 1 @@ -5784,7 +5784,7 @@ tasks.register("verifyAlpha211Release") { sanctuary: "0.0.0-alpha.119"] def currentModules = expectedTarget + [ sanctuary: "0.0.0-alpha.120", - ambiance: "0.0.0-alpha.17"] + ambiance: "0.0.0-alpha.18"] def workspaceModules = currentModules + [ambiance: "0.0.0-alpha.18"] def expectedDataVersions = [ambiance: 2, itsalive: 3, onlyfun: 2, ouch: 1, sanctuary: 11] def expectedProtocols = [ambiance: 6, itsalive: 4, onlyfun: 3, ouch: 1, sanctuary: 22] @@ -5810,7 +5810,7 @@ tasks.register("verifyAlpha211Release") { def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.28.0.193.jar" } - if (rootProject.pack_version != "26.2.0-alpha.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || workspaceModules.any { id, version -> rootProject.property("${id}_version") != version } || migration.source?.pack_version != "26.2.0-alpha.210" || migration.source?.modules != expectedSource @@ -5838,9 +5838,9 @@ 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.214.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.214"') + || !packwiz.contains('version = "26.2.0-alpha.215"') || requiredJars.any { !packwizIndex.contains(it) } || obsoleteJars.any { packwizIndex.contains(it) } || prism.files?.size() != 5 @@ -5848,7 +5848,7 @@ tasks.register("verifyAlpha211Release") { || jeiFiles[0].hashes?.sha1 != "494f9dc787d6c9cd9d32793da2784ab16834faf3" || jeiFiles[0].hashes?.sha512 != "0869f4d5840a732a04bedc7684b40140f087f3d759066c206d9d1ec710007f7c9585e4f5ebb04f10e56bef1cf2eddc6978bb2b2c93541cff5fcf7e1609859468" || !changelog.contains("## `26.2.0-alpha.211`") - || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.214`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.215`**")) { throw new GradleException("The alpha.211 Abjection and gameplay-polish release is incomplete") } } @@ -5882,7 +5882,7 @@ tasks.register("verifyAlpha212Release") { def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.28.0.193.jar" } - if (rootProject.pack_version != "26.2.0-alpha.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || rootProject.sanctuary_version != "0.0.0-alpha.120" || migration.source?.pack_version != "26.2.0-alpha.211" || migration.source?.modules != [sanctuary: "0.0.0-alpha.119"] @@ -5904,16 +5904,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.214" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.214.mrpack" - || prism.versionId != "26.2.0-alpha.214" + || release.pack_version != "26.2.0-alpha.215" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" + || prism.versionId != "26.2.0-alpha.215" || prism.files?.size() != 5 || jeiFiles.size() != 1 - || !packwiz.contains('version = "26.2.0-alpha.214"') + || !packwiz.contains('version = "26.2.0-alpha.215"') || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.120.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.214`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.215`**")) { throw new GradleException("The alpha.212 Black Market startup-fix release is incomplete") } } @@ -5947,7 +5947,7 @@ tasks.register("verifyAlpha213Release") { def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.28.0.193.jar" } - if (rootProject.pack_version != "26.2.0-alpha.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || rootProject.ambiance_version != "0.0.0-alpha.18" || migration.source?.pack_version != "26.2.0-alpha.212" || migration.source?.modules != [ambiance: "0.0.0-alpha.15"] @@ -5971,16 +5971,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.214" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.214.mrpack" - || prism.versionId != "26.2.0-alpha.214" + || release.pack_version != "26.2.0-alpha.215" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" + || prism.versionId != "26.2.0-alpha.215" || prism.files?.size() != 5 || jeiFiles.size() != 1 - || !packwiz.contains('version = "26.2.0-alpha.214"') - || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.17.jar"') + || !packwiz.contains('version = "26.2.0-alpha.215"') + || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.18.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.214`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.215`**")) { throw new GradleException("The alpha.213 Ambiance startup-fix release is incomplete") } } @@ -6015,7 +6015,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.214" + if (rootProject.pack_version != "26.2.0-alpha.215" || rootProject.ambiance_version != "0.0.0-alpha.18" || migration.source?.pack_version != "26.2.0-alpha.213" || migration.source?.modules != [ambiance: "0.0.0-alpha.16"] @@ -6044,24 +6044,113 @@ 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.214" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.214.mrpack" - || prism.versionId != "26.2.0-alpha.214" + || release.pack_version != "26.2.0-alpha.215" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" + || prism.versionId != "26.2.0-alpha.215" || prism.files?.size() != 5 - || !packwiz.contains('version = "26.2.0-alpha.214"') - || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.17.jar"') + || !packwiz.contains('version = "26.2.0-alpha.215"') + || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.18.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.214`**")) { + || !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.215`**")) { throw new GradleException("The alpha.214 white-disc solo synchronization release is incomplete") } } } +tasks.register("verifyAlpha215Release") { + group = "verification" + description = "Checks the Sanctuary 26.2.0-alpha.215 resilient white-disc playback release." + inputs.file(file("pack/migrations/26.2.0-alpha.214-white-disc-playback-crash-to-alpha.215.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.file(file("ambiance/src/main/resources/fabric.mod.json")) + inputs.file(file("ambiance/build.gradle")) + inputs.file(file( + "ambiance/src/main/java/fr/koka99cab/sanctuary26/ambiance/client/audio/WhiteDiscAudioPlayer.java")) + inputs.file(file( + "ambiance/src/main/java/fr/koka99cab/sanctuary26/ambiance/client/audio/LavaplayerAudioStream.java")) + inputs.file(file( + "ambiance/src/test/java/fr/koka99cab/sanctuary26/ambiance/client/audio/WhiteDiscPlaybackSmoke.java")) + doLast { + def migration = new JsonSlurper().parse(file( + "pack/migrations/26.2.0-alpha.214-white-disc-playback-crash-to-alpha.215.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 manifest = new JsonSlurper().parse(file("ambiance/src/main/resources/fabric.mod.json")) + def ambianceBuild = file("ambiance/build.gradle").text + def audioPlayer = file( + "ambiance/src/main/java/fr/koka99cab/sanctuary26/ambiance/client/audio/WhiteDiscAudioPlayer.java").text + def audioStream = file( + "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.215" + || rootProject.ambiance_version != "0.0.0-alpha.18" + || migration.source?.pack_version != "26.2.0-alpha.214" + || migration.source?.modules != [ambiance: "0.0.0-alpha.17"] + || migration.target?.pack_version != "26.2.0-alpha.215" + || migration.target?.modules != [ambiance: "0.0.0-alpha.18"] + || migration.features?.white_disc_native_crash_fixed != true + || migration.features?.openal_channel_release_owned_by_audio_thread != true + || migration.features?.youtube_client_profile != "Ios" + || migration.features?.youtube_source_commit != "f45bbb7aebfcbc1c553769e04af6cd43afa8b7c3" + || migration.features?.initial_stream_wait_bounded != true + || migration.features?.subsequent_stream_polls_non_blocking != true + || migration.features?.playback_errors_stop_safely != true + || migration.features?.live_pcm_smoke_video_id != "Ue5ZBe-GzSM" + || 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?.ambiance_data_version != 2 + || migration.compatibility?.ambiance_network_protocol != 6 + || 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 + || manifest.custom?.sanctuary26?.data_version != 2 + || manifest.custom?.sanctuary26?.network_protocol != 6 + || !ambianceBuild.contains("f45bbb7aebfcbc1c553769e04af6cd43afa8b7c3-SNAPSHOT") + || !ambianceBuild.contains('tasks.register("whiteDiscPlaybackSmoke"') + || !audioPlayer.contains("new YoutubeAudioSourceManager(false, new Ios())") + || !audioPlayer.contains("player.addListener(new AudioEventAdapter()") + || !audioPlayer.contains("failPlayback(client, key, failedPlayer)") + || !audioPlayer.contains("handle.execute(channel -> channel.stop())") + || audioPlayer.contains(".release()") + || !audioStream.contains("player.provide(2, TimeUnit.SECONDS)") + || !audioStream.contains("frame = player.provide()") + || !audioStream.contains("while (output.hasRemaining()) output.put((byte) 0)") + || !playbackSmoke.contains("https://www.youtube.com/watch?v=Ue5ZBe-GzSM") + || !playbackSmoke.contains("Decoded audible PCM data") + || release.pack_version != "26.2.0-alpha.215" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.215.mrpack" + || prism.versionId != "26.2.0-alpha.215" + || prism.files?.size() != 5 + || !packwiz.contains('version = "26.2.0-alpha.215"') + || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.18.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.215`**")) { + throw new GradleException("The alpha.215 resilient white-disc playback release is incomplete") + } + } +} + tasks.named("verifyWorkspace") { dependsOn tasks.named("verifyAlpha213Release") dependsOn tasks.named("verifyAlpha214Release") + dependsOn tasks.named("verifyAlpha215Release") } tasks.named("check") { diff --git a/gradle.properties b/gradle.properties index 3343c1d..d79ac4b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -30,5 +30,5 @@ onlyfun_version=0.0.0-alpha.24 onlyfun_lifecycle=active sanctuary_version=0.0.0-alpha.120 sanctuary_lifecycle=active -pack_version=26.2.0-alpha.214 +pack_version=26.2.0-alpha.215 maven_group=fr.koka99cab.sanctuary26 diff --git a/pack/migrations/26.2.0-alpha.214-white-disc-playback-crash-to-alpha.215.json b/pack/migrations/26.2.0-alpha.214-white-disc-playback-crash-to-alpha.215.json new file mode 100644 index 0000000..422bc18 --- /dev/null +++ b/pack/migrations/26.2.0-alpha.214-white-disc-playback-crash-to-alpha.215.json @@ -0,0 +1,39 @@ +{ + "schema_version": 1, + "source": { + "pack_version": "26.2.0-alpha.214", + "modules": { + "ambiance": "0.0.0-alpha.17" + } + }, + "target": { + "pack_version": "26.2.0-alpha.215", + "modules": { + "ambiance": "0.0.0-alpha.18" + } + }, + "features": { + "white_disc_native_crash_fixed": true, + "openal_channel_release_owned_by_audio_thread": true, + "youtube_client_profile": "Ios", + "youtube_source_commit": "f45bbb7aebfcbc1c553769e04af6cd43afa8b7c3", + "initial_stream_wait_bounded": true, + "subsequent_stream_polls_non_blocking": true, + "playback_errors_stop_safely": true, + "live_pcm_smoke_video_id": "Ue5ZBe-GzSM" + }, + "compatibility": { + "new_world_required": false, + "save_reset_required": false, + "existing_saves_supported": true, + "registry_ids_changed": false, + "ambiance_data_version": 2, + "ambiance_network_protocol": 6 + }, + "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 5cf0ae8..d146378 100644 --- a/pack/packwiz/index.toml +++ b/pack/packwiz/index.toml @@ -13,16 +13,16 @@ file = "instance-icon.png" hash = "41f4f4c88c71d0a23446d5014f7407d55ad477441847099cad24492b032335a0" [[files]] -file = "mods/ambiance-0.0.0-alpha.17.jar" -hash = "2e0ccf0e7441f6a385328e78861b5f3bf9c85308f36fd2c812903f77a4abcc6d" +file = "mods/ambiance-0.0.0-alpha.18.jar" +hash = "c029bbdf428e4037c22185680629b641c8bd6e60465fa72e3498b88bdc8d74f9" [[files]] file = "mods/anotherworld-0.0.0-alpha.55.jar" -hash = "dbd2d314cd994c69fe89ebaad7c34e1f2de2c28596efc78e839a7cd8d074ef4f" +hash = "c2649632bbce4ac134cc7cb6bd17b318f395fe878a1e61fdbdfffb880415f4aa" [[files]] file = "mods/events-0.0.0-alpha.0.jar" -hash = "58361f8728b086f5885624473d813be4ec134c9a8df54cd2e251b11cc65aaabf" +hash = "4cb03d4d24c469e2cf578a1f46d93bbaa69ecc26e83f9a786758cee744fe160d" [[files]] file = "mods/fabric-api.pw.toml" @@ -31,7 +31,7 @@ metafile = true [[files]] file = "mods/iliketomoveit-0.0.0-alpha.15.jar" -hash = "c35222789913339a96a9c56471cad267f3b936a27caaf1d2d0b83f3a60c142f4" +hash = "3adaa6926d0a22d6c7f3a30260457d2e7ddc3ce145fa84d7b1156305645400a5" [[files]] file = "mods/iris.pw.toml" @@ -40,7 +40,7 @@ metafile = true [[files]] file = "mods/itsalive-0.0.0-alpha.36.jar" -hash = "ccd1efd3b428287634978dec8c5633abaafb9043ada3301825c9b7b8d448d6d4" +hash = "9cfcc87d6018573fb45a37b71ceb019ba65253ef973cdc8b5c39a78792bff691" [[files]] file = "mods/jei.pw.toml" @@ -49,23 +49,23 @@ metafile = true [[files]] file = "mods/masterkey-0.0.0-alpha.8.jar" -hash = "41a4307e0f13f9a70bc937903d05ce70e17bb9f0c0df1934f4e94fee5d02d60a" +hash = "c88d26fd649ad841b69d7fb72b075c392e4b878bc1bdeea811dd3d549625b33b" [[files]] file = "mods/onlyfun-0.0.0-alpha.24.jar" -hash = "5ee73adff9852eeb05b00dcef3dd872e4ca87c216ede6cf5044de596c8901d1e" +hash = "a3c50be3b95705c5dd8b547599610af8332765215f1749818a18e504a00866a4" [[files]] file = "mods/ouch-0.0.0-alpha.10.jar" -hash = "72aada2b255f8fca8fd4e7e625dc64ec2ac4192e602644e93131c26d973f1494" +hash = "0304e064ac3e497c9f8fcf8836575add04ea96f46d35fdbe6da50e926c070ff1" [[files]] file = "mods/redstoner-0.0.0-alpha.10.jar" -hash = "1c71a84a47334886ab822787f8d34b7d43c91789cfad09dd1802c89a41b0117f" +hash = "db41fcbd3daab88d17daf03ae5f7bc0aa134d6e1663ff6edfd80a7983f13a779" [[files]] file = "mods/sanctuary-0.0.0-alpha.120.jar" -hash = "3ce19feac528b4f42e2a30ac65f8cfc8dc0c6aa93111cfb559b0c03e67cb9765" +hash = "6f67724d6813d473ea06c62cdfd5d617a27199d6061895b89f62bb5d31becb8b" [[files]] file = "mods/simple-voice-chat.pw.toml" diff --git a/pack/packwiz/pack.toml b/pack/packwiz/pack.toml index 0151b8f..e0ca13f 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.214" +version = "26.2.0-alpha.215" pack-format = "packwiz:1.1.0" [index] file = "index.toml" hash-format = "sha256" -hash = "5b67907f0589ae565977b01189dd7689a9612ca43a25d7c0ab6fe4a0f4a7db0b" +hash = "17231ac01c162a453e9000ee6419f7fbc884cf4b94c3b0956c12596cf36df9dd" [versions] fabric = "0.19.3" diff --git a/pack/prism/modrinth.index.json b/pack/prism/modrinth.index.json index 6f74129..f2d6442 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.214", + "versionId": "26.2.0-alpha.215", "files": [ { "path": "mods/fabric-api-0.158.0+26.2.jar", diff --git a/pack/release.json b/pack/release.json index df1035f..0bd3694 100644 --- a/pack/release.json +++ b/pack/release.json @@ -1,6 +1,6 @@ { "schema_version": 1, - "pack_version": "26.2.0-alpha.214", + "pack_version": "26.2.0-alpha.215", "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.214.mrpack", + "primary_file": "sanctuary-26.2.0-alpha.215.mrpack", "shared_client_server_pack": true, "update_owner": "packwiz-installer", "check_on_launch": true, -- 2.54.0