From 400f1f628943ba9dbbeefa0a7b723d2185fccb9c Mon Sep 17 00:00:00 2001 From: koka Date: Sat, 29 Aug 2026 18:57:52 +0200 Subject: [PATCH] release: prepare 26.2.0-alpha.211 --- CHANGELOG.md | 5 +- README.md | 4 +- build.gradle | 266 +++++++++++++----- gradle.properties | 2 +- ...210-abjection-and-polish-to-alpha.211.json | 64 +++++ pack/packwiz/index.toml | 30 +- pack/packwiz/pack.toml | 4 +- pack/prism/modrinth.index.json | 2 +- pack/release.json | 4 +- 9 files changed, 278 insertions(+), 103 deletions(-) create mode 100644 pack/migrations/26.2.0-alpha.210-abjection-and-polish-to-alpha.211.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 300ced2..f12384f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,9 @@ 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.211` -Modules modifiés : **It's Alive `0.0.0-alpha.36`**, **Sanctuary `0.0.0-alpha.119`**, **Ambiance `0.0.0-alpha.15`**, **Only Fun `0.0.0-alpha.24`** et **Ouch `0.0.0-alpha.10`**. Le pack distribué reste en `26.2.0-alpha.210` jusqu’à la prochaine release. +Modules modifiés : **Ambiance `0.0.0-alpha.15`**, **It's Alive `0.0.0-alpha.36`**, **Only Fun `0.0.0-alpha.24`**, **Ouch `0.0.0-alpha.10`** et **Sanctuary `0.0.0-alpha.119`**. Les cinq autres modules conservent leur version issue de l’alpha.210. - remplace les pages noires du Livre interdit par l’affichage clair du livre vanilla ; - conserve les seize entrées, les découvertes personnelles, le partage sur pupitre, les IDs, les données v3 et le protocole réseau 4. @@ -26,6 +26,7 @@ Modules modifiés : **It's Alive `0.0.0-alpha.36`**, **Sanctuary `0.0.0-alpha.11 - ajoute la touche configurable « Chier » dans les contrôles Only Fun, assignée à `J` par défaut et sans répétition lorsque la touche reste maintenue ; - transmet une demande C2S vide, déduplique le spam d’un même tick et revalide côté serveur la connexion, la vie et le mode spectateur avant de réutiliser exactement l’action `/shit` ; - conserve les données Only Fun v2 et porte son protocole réseau de 2 à 3, sans nouveau cooldown, besoin ni donnée persistante. +- distribue les cinq JAR mis à jour dans Packwiz et le `.mrpack` partagé client/serveur, sans exiger de nouveau monde ni réinitialiser les sauvegardes. ## `26.2.0-alpha.210` diff --git a/README.md b/README.md index ac3def3..a575b2e 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.210`**. Cette release distribue le Livre interdit Canaplia avec It's Alive **`0.0.0-alpha.35`**, ainsi que Sanctuary **`0.0.0-alpha.118`**, Only Fun **`0.0.0-alpha.21`** et I Like To Move It **`0.0.0-alpha.15`**. +Version courante du pack distribué : **`26.2.0-alpha.211`**. Cette release distribue Ambiance **`0.0.0-alpha.15`**, It's Alive **`0.0.0-alpha.36`**, Only Fun **`0.0.0-alpha.24`**, Ouch **`0.0.0-alpha.10`** et Sanctuary **`0.0.0-alpha.119`**. 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.210 ajoute le Livre interdit, accélère le Happy Ghast piloté, regroupe les corrections du Shop, des requêtes, des capes et des noms de Zombies, puis actualise JEI en **`30.28.0.193`**. Elle met à jour les packs Modrinth, Prism et Packwiz sans exiger de nouveau monde ni réinitialiser les sauvegardes. +L’alpha.211 restaure l’affichage vanilla du Livre interdit, le clic molette du Black Market et le disque blanc YouTube. Elle réintègre aussi Abjection dans Only Fun et Ouch avec ses commandes, son bloc, sa boule lançable et la touche configurable `J`. 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 c3790c1..30a3778 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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || rootProject.sanctuary_version != "0.0.0-alpha.119" || 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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || 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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || rootProject.onlyfun_version != "0.0.0-alpha.24" || rootProject.sanctuary_version != "0.0.0-alpha.119" || 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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || 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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || rootProject.onlyfun_version != "0.0.0-alpha.24" || rootProject.sanctuary_version != "0.0.0-alpha.119" || 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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || 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.210" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.210.mrpack" - || prism.versionId != "26.2.0-alpha.210" - || !packwiz.contains('version = "26.2.0-alpha.210"')) { + || release.pack_version != "26.2.0-alpha.211" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.211.mrpack" + || prism.versionId != "26.2.0-alpha.211" + || !packwiz.contains('version = "26.2.0-alpha.211"')) { 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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || rootProject.itsalive_version != "0.0.0-alpha.36" || rootProject.sanctuary_version != "0.0.0-alpha.119" || 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.210" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.210.mrpack" - || prism.versionId != "26.2.0-alpha.210" - || !packwiz.contains('version = "26.2.0-alpha.210"')) { + || release.pack_version != "26.2.0-alpha.211" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.211.mrpack" + || prism.versionId != "26.2.0-alpha.211" + || !packwiz.contains('version = "26.2.0-alpha.211"')) { 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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || 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,11 +4461,11 @@ 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.210" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.210.mrpack" - || prism.versionId != "26.2.0-alpha.210" - || !packwiz.contains('version = "26.2.0-alpha.210"') - || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.35.jar"')) { + || release.pack_version != "26.2.0-alpha.211" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.211.mrpack" + || prism.versionId != "26.2.0-alpha.211" + || !packwiz.contains('version = "26.2.0-alpha.211"') + || !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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || rootProject.itsalive_version != "0.0.0-alpha.36" || rootProject.sanctuary_version != "0.0.0-alpha.119" || migration.source?.pack_version != "26.2.0-alpha.198" @@ -4506,12 +4506,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.210" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.210.mrpack" - || prism.versionId != "26.2.0-alpha.210" - || !packwiz.contains('version = "26.2.0-alpha.210"') - || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.35.jar"') - || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.118.jar"')) { + || release.pack_version != "26.2.0-alpha.211" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.211.mrpack" + || prism.versionId != "26.2.0-alpha.211" + || !packwiz.contains('version = "26.2.0-alpha.211"') + || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.36.jar"') + || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.119.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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || rootProject.ambiance_version != "0.0.0-alpha.15" || rootProject.ouch_version != "0.0.0-alpha.10" || migration.source?.pack_version != "26.2.0-alpha.199" @@ -4581,12 +4581,12 @@ tasks.register("verifyWeatherTntAmbianceRelease") { || !weatherTnt.contains("AmbianceDailyWeather.CLEAR") || !weatherTnt.contains("CLEAR_WEATHER_TICKS = 864_000") || weatherTnt.contains("setWeatherParameters") - || release.pack_version != "26.2.0-alpha.210" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.210.mrpack" - || prism.versionId != "26.2.0-alpha.210" - || !packwiz.contains('version = "26.2.0-alpha.210"') - || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.14.jar"') - || !packwizIndex.contains('file = "mods/ouch-0.0.0-alpha.9.jar"')) { + || release.pack_version != "26.2.0-alpha.211" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.211.mrpack" + || prism.versionId != "26.2.0-alpha.211" + || !packwiz.contains('version = "26.2.0-alpha.211"') + || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.15.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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || rootProject.sanctuary_version != "0.0.0-alpha.119" || migration.source?.pack_version != "26.2.0-alpha.200" || migration.source?.modules?.sanctuary != "0.0.0-alpha.115" @@ -4628,11 +4628,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.210" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.210.mrpack" - || prism.versionId != "26.2.0-alpha.210" - || !packwiz.contains('version = "26.2.0-alpha.210"') - || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.118.jar"')) { + || release.pack_version != "26.2.0-alpha.211" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.211.mrpack" + || prism.versionId != "26.2.0-alpha.211" + || !packwiz.contains('version = "26.2.0-alpha.211"') + || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.119.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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || 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,14 +4707,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.210" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.210.mrpack" - || prism.versionId != "26.2.0-alpha.210" - || !packwiz.contains('version = "26.2.0-alpha.210"') + || release.pack_version != "26.2.0-alpha.211" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.211.mrpack" + || prism.versionId != "26.2.0-alpha.211" + || !packwiz.contains('version = "26.2.0-alpha.211"') || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"') - || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.35.jar"') + || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.36.jar"') || !packwizIndex.contains('file = "mods/iliketomoveit-0.0.0-alpha.15.jar"') - || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.118.jar"')) { + || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.119.jar"')) { throw new GradleException("The alpha.202 Waystone, Shop and culinary lectern release is incomplete") } } @@ -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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || rootProject.anotherworld_version != "0.0.0-alpha.55" || rootProject.sanctuary_version != "0.0.0-alpha.119" || 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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || 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.210.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.211.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.210"') + || !packwiz.contains('version = "26.2.0-alpha.211"') || !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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || 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.210.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.211.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.210"') + || !packwiz.contains('version = "26.2.0-alpha.211"') || !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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || 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.210.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.211.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.210"') + || !packwiz.contains('version = "26.2.0-alpha.211"') || !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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || 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.210.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.211.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.210"') + || !packwiz.contains('version = "26.2.0-alpha.211"') || !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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || 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.210.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.211.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.210"') + || !packwiz.contains('version = "26.2.0-alpha.211"') || !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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || rootProject.itsalive_version != "0.0.0-alpha.36" || rootProject.ambiance_version != "0.0.0-alpha.15" || migration.issue != 35 @@ -5384,6 +5384,7 @@ tasks.named("verifyWorkspace") { dependsOn "verifyCanapliaGameplay" dependsOn "verifyCanapliaAlpha209Release" dependsOn "verifyAlpha210Release" + dependsOn "verifyAlpha211Release" dependsOn tasks.named("verifyWaystoneShopCulinaryAlpha202Release") dependsOn tasks.named("verifySafeVaultFeature") dependsOn tasks.named("verifySafeVaultInterfaceAlpha203Release") @@ -5567,7 +5568,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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || rootProject.ambiance_version != "0.0.0-alpha.15" || rootProject.itsalive_version != "0.0.0-alpha.36" || rootProject.onlyfun_version != "0.0.0-alpha.24" @@ -5615,12 +5616,12 @@ tasks.register("verifyCanapliaAlpha209Release") { || fixMigration.compatibility?.network_protocol_changed != false || fixMigration.distribution?.pack_release_updated != true || release.pack_version != rootProject.pack_version - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.210.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.211.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.210"') - || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.14.jar"') - || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.35.jar"') - || !packwizIndex.contains('file = "mods/onlyfun-0.0.0-alpha.21.jar"') + || !packwiz.contains('version = "26.2.0-alpha.211"') + || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.15.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"') || packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.33.jar"') || packwizIndex.contains('file = "mods/onlyfun-0.0.0-alpha.19.jar"') @@ -5667,16 +5668,25 @@ tasks.register("verifyAlpha210Release") { onlyfun: "0.0.0-alpha.21", iliketomoveit: "0.0.0-alpha.15", itsalive: "0.0.0-alpha.35"] - def requiredJars = expectedTarget.collect { id, version -> + def currentModules = [ + ambiance: "0.0.0-alpha.15", + sanctuary: "0.0.0-alpha.119", + onlyfun: "0.0.0-alpha.24", + ouch: "0.0.0-alpha.10", + iliketomoveit: "0.0.0-alpha.15", + itsalive: "0.0.0-alpha.36"] + def requiredJars = currentModules.collect { id, version -> "file = \"mods/${id}-${version}.jar\"" } - def obsoleteJars = expectedSource.collect { id, version -> + def obsoleteJars = expectedTarget.findAll { id, version -> + currentModules[id] != version + }.collect { id, version -> "file = \"mods/${id}-${version}.jar\"" } 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.210" + if (rootProject.pack_version != "26.2.0-alpha.211" || rootProject.sanctuary_version != "0.0.0-alpha.119" || rootProject.onlyfun_version != "0.0.0-alpha.24" || rootProject.iliketomoveit_version != expectedTarget.iliketomoveit @@ -5722,10 +5732,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.210" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.210.mrpack" - || prism.versionId != "26.2.0-alpha.210" - || !packwiz.contains('version = "26.2.0-alpha.210"') + || release.pack_version != "26.2.0-alpha.211" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.211.mrpack" + || prism.versionId != "26.2.0-alpha.211" + || !packwiz.contains('version = "26.2.0-alpha.211"') || requiredJars.any { !packwizIndex.contains(it) } || obsoleteJars.any { packwizIndex.contains(it) } || jeiFiles.size() != 1 @@ -5737,6 +5747,106 @@ tasks.register("verifyAlpha210Release") { } } +tasks.register("verifyAlpha211Release") { + group = "verification" + description = "Checks the Sanctuary 26.2.0-alpha.211 Abjection and gameplay-polish release." + inputs.file(file("pack/migrations/26.2.0-alpha.210-abjection-and-polish-to-alpha.211.json")) + inputs.file(file("pack/release.json")) + inputs.file(file("pack/prism/modrinth.index.json")) + inputs.file(file("pack/packwiz/pack.toml")) + inputs.file(file("pack/packwiz/index.toml")) + inputs.file(file("CHANGELOG.md")) + inputs.file(file("README.md")) + inputs.files(["ambiance", "itsalive", "onlyfun", "ouch", "sanctuary"].collect { id -> + file("${id}/src/main/resources/fabric.mod.json") + }) + doLast { + def migration = new JsonSlurper().parse(file( + "pack/migrations/26.2.0-alpha.210-abjection-and-polish-to-alpha.211.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 expectedSource = [ + ambiance: "0.0.0-alpha.14", + itsalive: "0.0.0-alpha.35", + onlyfun: "0.0.0-alpha.21", + ouch: "0.0.0-alpha.9", + sanctuary: "0.0.0-alpha.118"] + def expectedTarget = [ + ambiance: "0.0.0-alpha.15", + itsalive: "0.0.0-alpha.36", + onlyfun: "0.0.0-alpha.24", + ouch: "0.0.0-alpha.10", + sanctuary: "0.0.0-alpha.119"] + 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 -> + [(id): new JsonSlurper().parse(file("${id}/src/main/resources/fabric.mod.json"))] + } + def manifestDataVersions = manifests.collectEntries { id, manifest -> + [(id): manifest.custom?.sanctuary26?.data_version] + } + def manifestProtocols = manifests.collectEntries { id, manifest -> + [(id): manifest.custom?.sanctuary26?.network_protocol] + } + def requiredJars = expectedTarget.collect { id, version -> + "file = \"mods/${id}-${version}.jar\"" + } + def obsoleteJars = expectedSource.collect { id, version -> + "file = \"mods/${id}-${version}.jar\"" + } + def expectedIds = [ + "ambiance:white_disc", "abjection:shit_ball", "abjection:shit_cube"] + 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.211" + || expectedTarget.any { id, version -> rootProject.property("${id}_version") != version } + || migration.source?.pack_version != "26.2.0-alpha.210" + || migration.source?.modules != expectedSource + || migration.target?.pack_version != "26.2.0-alpha.211" + || migration.target?.modules != expectedTarget + || migration.features?.canaplia_codex_uses_vanilla_book_pages != true + || migration.features?.black_market_middle_click_restored != true + || migration.features?.white_disc_youtube_audio != true + || migration.features?.white_disc_max_concurrent_streams != 4 + || migration.features?.abjection_server_actions != ["piss", "vomit", "shit", "smoke"] + || migration.features?.abjection_shit_ball_projectile != true + || migration.features?.abjection_shit_cube != true + || migration.features?.abjection_default_key != "J" + || migration.features?.abjection_projectile_nausea_seconds != 7 + || migration.compatibility?.new_world_required != false + || migration.compatibility?.save_reset_required != false + || migration.compatibility?.existing_saves_supported != true + || migration.compatibility?.registry_ids_added != expectedIds + || migration.compatibility?.data_versions != expectedDataVersions + || migration.compatibility?.network_protocols != expectedProtocols + || manifestDataVersions != expectedDataVersions + || manifestProtocols != expectedProtocols + || migration.distribution?.pack_release_updated != true + || migration.distribution?.packwiz_index_refreshed != true + || migration.distribution?.prism_modrinth_index_updated != true + || migration.distribution?.shared_client_server_mrpack != true + || release.pack_version != rootProject.pack_version + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.211.mrpack" + || prism.versionId != rootProject.pack_version + || !packwiz.contains('version = "26.2.0-alpha.211"') + || requiredJars.any { !packwizIndex.contains(it) } + || obsoleteJars.any { packwizIndex.contains(it) } + || prism.files?.size() != 5 + || jeiFiles.size() != 1 + || 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.211`**")) { + throw new GradleException("The alpha.211 Abjection and gameplay-polish release is incomplete") + } + } +} + tasks.named("check") { dependsOn tasks.named("verifyWorkspace") dependsOn tasks.named("verifyTransport") diff --git a/gradle.properties b/gradle.properties index 71091b0..69905c8 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.119 sanctuary_lifecycle=active -pack_version=26.2.0-alpha.210 +pack_version=26.2.0-alpha.211 maven_group=fr.koka99cab.sanctuary26 diff --git a/pack/migrations/26.2.0-alpha.210-abjection-and-polish-to-alpha.211.json b/pack/migrations/26.2.0-alpha.210-abjection-and-polish-to-alpha.211.json new file mode 100644 index 0000000..391f13d --- /dev/null +++ b/pack/migrations/26.2.0-alpha.210-abjection-and-polish-to-alpha.211.json @@ -0,0 +1,64 @@ +{ + "schema_version": 1, + "source": { + "pack_version": "26.2.0-alpha.210", + "modules": { + "ambiance": "0.0.0-alpha.14", + "itsalive": "0.0.0-alpha.35", + "onlyfun": "0.0.0-alpha.21", + "ouch": "0.0.0-alpha.9", + "sanctuary": "0.0.0-alpha.118" + } + }, + "target": { + "pack_version": "26.2.0-alpha.211", + "modules": { + "ambiance": "0.0.0-alpha.15", + "itsalive": "0.0.0-alpha.36", + "onlyfun": "0.0.0-alpha.24", + "ouch": "0.0.0-alpha.10", + "sanctuary": "0.0.0-alpha.119" + } + }, + "features": { + "canaplia_codex_uses_vanilla_book_pages": true, + "black_market_middle_click_restored": true, + "white_disc_youtube_audio": true, + "white_disc_max_concurrent_streams": 4, + "abjection_server_actions": ["piss", "vomit", "shit", "smoke"], + "abjection_shit_ball_projectile": true, + "abjection_shit_cube": true, + "abjection_default_key": "J", + "abjection_projectile_nausea_seconds": 7 + }, + "compatibility": { + "new_world_required": false, + "save_reset_required": false, + "existing_saves_supported": true, + "registry_ids_added": [ + "ambiance:white_disc", + "abjection:shit_ball", + "abjection:shit_cube" + ], + "data_versions": { + "ambiance": 2, + "itsalive": 3, + "onlyfun": 2, + "ouch": 1, + "sanctuary": 11 + }, + "network_protocols": { + "ambiance": 6, + "itsalive": 4, + "onlyfun": 3, + "ouch": 1, + "sanctuary": 22 + } + }, + "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 fa8b3a9..e8d763a 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.14.jar" -hash = "a4b2a36e046a3095ada58e3dbf5fd30ab7c8ba42eaf2abcf513b38b8cc2f3e4a" +file = "mods/ambiance-0.0.0-alpha.15.jar" +hash = "9f44adea1973a944afc781b3bf0ad57a154e1d89512b42ba51f2b4f1a0757802" [[files]] file = "mods/anotherworld-0.0.0-alpha.55.jar" -hash = "da7163a34ca71e1c2385a84221cddccc09f0f83d9a00bce0ed6263b19ec519cb" +hash = "3a1553ab4f86506e8bab35bada0ebb455bc0b1530c9a09a408fcd530f4344f59" [[files]] file = "mods/events-0.0.0-alpha.0.jar" -hash = "7400d63c905d1c87a5290adaa2fe91305fa1f067827ca8f0610a6ae4e17624da" +hash = "a32ecb24f57efab1a5edc37ca84b314c5a9d71c5e59969b7e6133430422870b8" [[files]] file = "mods/fabric-api.pw.toml" @@ -31,7 +31,7 @@ metafile = true [[files]] file = "mods/iliketomoveit-0.0.0-alpha.15.jar" -hash = "a084cf25a4afa50086ce220f40b6b3946a06389de105f23c0246df1577deb3c8" +hash = "9792cfc90c2a84ec7e96f3321d05a60100292cb5678a757e8177cb1dcfb13d61" [[files]] file = "mods/iris.pw.toml" @@ -39,8 +39,8 @@ hash = "84a3cef87679c0d21dceb4641167dc0368b9a3593698f6a3632485e9b3a8d5da" metafile = true [[files]] -file = "mods/itsalive-0.0.0-alpha.35.jar" -hash = "4a6433abdfc03a0872f7c810fb17016a0f20acda5e223e0fef479dd786cc73ac" +file = "mods/itsalive-0.0.0-alpha.36.jar" +hash = "c721fc6a22be84426b51b7c1e778b81a360a414a059b9837f1fadcf8f6d1a416" [[files]] file = "mods/jei.pw.toml" @@ -49,23 +49,23 @@ metafile = true [[files]] file = "mods/masterkey-0.0.0-alpha.8.jar" -hash = "eaf70f6c5a78ee7ab2d3be498d4f7d67fcba433ed61b65b305e958f03b387d94" +hash = "087592530cec71aad0643c5c3b565e6de1cd300303ea88d9986462ef9c105a73" [[files]] -file = "mods/onlyfun-0.0.0-alpha.21.jar" -hash = "7e319a0cc6149d5819ef2359fe3ad4035066a9cddd5ae0a16c12c9db64bc3f6a" +file = "mods/onlyfun-0.0.0-alpha.24.jar" +hash = "7c45842ecf04de46b92a6dc80d671cc13058eb5ad4873a403d8469fd18df2669" [[files]] -file = "mods/ouch-0.0.0-alpha.9.jar" -hash = "f3cf2d8c83afa32b1c70e8239dd514be3c74834397f9d09efe177bc8c5ef9ac4" +file = "mods/ouch-0.0.0-alpha.10.jar" +hash = "37903995ea735410d0dd16796cd0ba1c362a41b591314ce5461255051d30faff" [[files]] file = "mods/redstoner-0.0.0-alpha.10.jar" -hash = "a9049b9d3a323015545194c92ce9da7a5dca4ff9a28ea26b02bead96748328ab" +hash = "76024ea82251943f7ce45e16e5da2d9351cea04b84aa5155d5f97e5c8d347f1d" [[files]] -file = "mods/sanctuary-0.0.0-alpha.118.jar" -hash = "1a1319e5f09de941ad8a7561aff9d2fb8c7460a8cd8d2374817d8f39c5682030" +file = "mods/sanctuary-0.0.0-alpha.119.jar" +hash = "0b02b639b5bf94ebaead8db62d54ac9376b914ab54df4995a6ade7a3bcd060af" [[files]] file = "mods/simple-voice-chat.pw.toml" diff --git a/pack/packwiz/pack.toml b/pack/packwiz/pack.toml index ad220c7..35cb04d 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.210" +version = "26.2.0-alpha.211" pack-format = "packwiz:1.1.0" [index] file = "index.toml" hash-format = "sha256" -hash = "e20c051f8895ce3164ec72b7764b8904f411e36f63bf1e046b1bcc9108d00a31" +hash = "59b7147e5636afd414395387459ae596c61b7ac7b2e9b1aa7690b27488c3b66e" [versions] fabric = "0.19.3" diff --git a/pack/prism/modrinth.index.json b/pack/prism/modrinth.index.json index f977d7f..30d8ef9 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.210", + "versionId": "26.2.0-alpha.211", "files": [ { "path": "mods/fabric-api-0.158.0+26.2.jar", diff --git a/pack/release.json b/pack/release.json index 5c87163..2b205f7 100644 --- a/pack/release.json +++ b/pack/release.json @@ -1,6 +1,6 @@ { "schema_version": 1, - "pack_version": "26.2.0-alpha.210", + "pack_version": "26.2.0-alpha.211", "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.210.mrpack", + "primary_file": "sanctuary-26.2.0-alpha.211.mrpack", "shared_client_server_pack": true, "update_owner": "packwiz-installer", "check_on_launch": true, -- 2.54.0