diff --git a/CHANGELOG.md b/CHANGELOG.md index fbc8983..5e84806 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,16 +6,16 @@ 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. -## En développement — coffre-fort à soldes illimités +## `26.2.0-alpha.207` -Module modifié : **Another World `0.0.0-alpha.55`**. Le pack distribué reste en **`26.2.0-alpha.206`** jusqu’à la prochaine release. +Module modifié : **Another World `0.0.0-alpha.55`**. Les neuf autres modules conservent leur version issue de l’alpha.206. - remplace les 27 piles du coffre-fort par trois soldes 64 bits séparés pour les rubis, saphirs et émeraudes ; - migre automatiquement chaque pile existante vers son solde correspondant dans `safe_vaults` v4, sans changer les IDs ni exiger de nouveau monde ; - synchronise les soldes 64 bits avec l’interface et les affiche sous forme compacte au-delà de 999 ; - conserve l’accès du Shop aux monnaies stockées et borne son API historique 32 bits sans limiter le solde réel ; - crédite directement les 20 % pillés dans le coffre-fort de l’attaquant afin d’éviter de générer un nombre non borné d’objets ; -- porte Another World en donnée v5 et protocole réseau 2 ; Packwiz sera actualisé lors de la prochaine version distribuée. +- porte Another World en donnée v5 et protocole réseau 2, puis régénère Packwiz avec le JAR `0.0.0-alpha.55`. ## `26.2.0-alpha.206` diff --git a/README.md b/README.md index cb12c44..798d288 100644 --- a/README.md +++ b/README.md @@ -22,9 +22,9 @@ 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.206`**. Cette release distribue Another World **`0.0.0-alpha.54`** avec les colonnes A et C corrigées sur la façade et le dos du coffre-fort. +Version courante du pack distribué : **`26.2.0-alpha.207`**. Cette release distribue Another World **`0.0.0-alpha.55`** avec les soldes 64 bits pratiquement illimités du coffre-fort. -Dans le workspace en développement, Another World **`0.0.0-alpha.55`** 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. +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. L’alpha.206 exige une coque creuse de **3 × 3 × 3**, soit 26 Safe Blocks appartenant au même joueur, et conserve JEI en **`30.27.0.189`**. Le centre est libre et peut contenir un bloc caché. Les quatre images 48×48 se répartissent sur les faces extérieures du cube : façade, dessus, dessous et côtés/arrière. Les colonnes extrêmes de la façade et du dos sont désormais orientées correctement. Un ancien mur 3 × 3 ne s’active plus et doit être démonté puis reconstruit ; les comptes et soldes existants restent conservés. diff --git a/build.gradle b/build.gradle index 8b56d8d..ab23c52 100644 --- a/build.gradle +++ b/build.gradle @@ -3427,7 +3427,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.206" + if (rootProject.pack_version != "26.2.0-alpha.207" || rootProject.sanctuary_version != "0.0.0-alpha.117" || rootProject.onlyfun_version != "0.0.0-alpha.19" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version @@ -3477,7 +3477,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.206" + if (rootProject.pack_version != "26.2.0-alpha.207" || 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 @@ -4123,7 +4123,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.206" + if (rootProject.pack_version != "26.2.0-alpha.207" || rootProject.onlyfun_version != "0.0.0-alpha.19" || rootProject.sanctuary_version != "0.0.0-alpha.117" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version @@ -4168,7 +4168,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.206" + if (rootProject.pack_version != "26.2.0-alpha.207" || rootProject.itsalive_version != "0.0.0-alpha.31" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version || migration.source?.pack_version != "26.2.0-alpha.193" @@ -4217,7 +4217,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.206" + if (rootProject.pack_version != "26.2.0-alpha.207" || rootProject.onlyfun_version != "0.0.0-alpha.19" || rootProject.sanctuary_version != "0.0.0-alpha.117" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version @@ -4263,7 +4263,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.206" + if (rootProject.pack_version != "26.2.0-alpha.207" || migration.source?.pack_version != "26.2.0-alpha.195" || migration.target?.pack_version != "26.2.0-alpha.196" || migration.target?.modules != [ @@ -4281,10 +4281,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.206" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.206.mrpack" - || prism.versionId != "26.2.0-alpha.206" - || !packwiz.contains('version = "26.2.0-alpha.206"')) { + || release.pack_version != "26.2.0-alpha.207" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.207.mrpack" + || prism.versionId != "26.2.0-alpha.207" + || !packwiz.contains('version = "26.2.0-alpha.207"')) { throw new GradleException("The alpha.196 culinary, mailbox and grapple release contract is incomplete") } } @@ -4309,7 +4309,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.206" + if (rootProject.pack_version != "26.2.0-alpha.207" || rootProject.itsalive_version != "0.0.0-alpha.31" || rootProject.sanctuary_version != "0.0.0-alpha.117" || migration.source?.pack_version != "26.2.0-alpha.196" @@ -4329,10 +4329,10 @@ tasks.register("verifyQuestRequestsCauldronBatchesRelease") { || migration.distribution?.jei?.target != "30.26.0.186" || migration.compatibility?.sanctuary_target_network_protocol != 19 || sanctuaryManifest.custom?.sanctuary26?.network_protocol != 21 - || release.pack_version != "26.2.0-alpha.206" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.206.mrpack" - || prism.versionId != "26.2.0-alpha.206" - || !packwiz.contains('version = "26.2.0-alpha.206"')) { + || release.pack_version != "26.2.0-alpha.207" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.207.mrpack" + || prism.versionId != "26.2.0-alpha.207" + || !packwiz.contains('version = "26.2.0-alpha.207"')) { throw new GradleException("The alpha.197 quest-request and cauldron-batch release contract is incomplete") } } @@ -4359,7 +4359,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.206" + if (rootProject.pack_version != "26.2.0-alpha.207" || rootProject.itsalive_version != "0.0.0-alpha.31" || migration.source?.pack_version != "26.2.0-alpha.197" || migration.target?.pack_version != "26.2.0-alpha.198" @@ -4378,10 +4378,10 @@ tasks.register("verifyFermentationBarrelAutomationRelease") { || migration.distribution?.packwiz_index_refreshed != true || itsAliveManifest.custom?.sanctuary26?.data_version != 1 || itsAliveManifest.custom?.sanctuary26?.network_protocol != 3 - || release.pack_version != "26.2.0-alpha.206" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.206.mrpack" - || prism.versionId != "26.2.0-alpha.206" - || !packwiz.contains('version = "26.2.0-alpha.206"') + || release.pack_version != "26.2.0-alpha.207" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.207.mrpack" + || prism.versionId != "26.2.0-alpha.207" + || !packwiz.contains('version = "26.2.0-alpha.207"') || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.31.jar"')) { throw new GradleException("The alpha.198 fermentation barrel release contract is incomplete") } @@ -4409,7 +4409,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.206" + if (rootProject.pack_version != "26.2.0-alpha.207" || rootProject.itsalive_version != "0.0.0-alpha.31" || rootProject.sanctuary_version != "0.0.0-alpha.117" || migration.source?.pack_version != "26.2.0-alpha.198" @@ -4423,10 +4423,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 != 21 - || release.pack_version != "26.2.0-alpha.206" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.206.mrpack" - || prism.versionId != "26.2.0-alpha.206" - || !packwiz.contains('version = "26.2.0-alpha.206"') + || release.pack_version != "26.2.0-alpha.207" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.207.mrpack" + || prism.versionId != "26.2.0-alpha.207" + || !packwiz.contains('version = "26.2.0-alpha.207"') || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.31.jar"') || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.117.jar"')) { throw new GradleException("The alpha.199 quest-request contract release is incomplete") @@ -4464,7 +4464,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.206" + if (rootProject.pack_version != "26.2.0-alpha.207" || rootProject.ambiance_version != "0.0.0-alpha.12" || rootProject.ouch_version != "0.0.0-alpha.9" || migration.source?.pack_version != "26.2.0-alpha.199" @@ -4498,10 +4498,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.206" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.206.mrpack" - || prism.versionId != "26.2.0-alpha.206" - || !packwiz.contains('version = "26.2.0-alpha.206"') + || release.pack_version != "26.2.0-alpha.207" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.207.mrpack" + || prism.versionId != "26.2.0-alpha.207" + || !packwiz.contains('version = "26.2.0-alpha.207"') || !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.12.jar"') || !packwizIndex.contains('file = "mods/ouch-0.0.0-alpha.9.jar"')) { throw new GradleException("The alpha.200 Weather TNT and Ambiance release is incomplete") @@ -4530,7 +4530,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.206" + if (rootProject.pack_version != "26.2.0-alpha.207" || rootProject.sanctuary_version != "0.0.0-alpha.117" || migration.source?.pack_version != "26.2.0-alpha.200" || migration.source?.modules?.sanctuary != "0.0.0-alpha.115" @@ -4545,10 +4545,10 @@ tasks.register("verifyQuestRequestEscrowRelease") { || migration.compatibility?.sanctuary_target_network_protocol != 21 || sanctuaryManifest.custom?.sanctuary26?.data_version != 11 || sanctuaryManifest.custom?.sanctuary26?.network_protocol != 21 - || release.pack_version != "26.2.0-alpha.206" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.206.mrpack" - || prism.versionId != "26.2.0-alpha.206" - || !packwiz.contains('version = "26.2.0-alpha.206"') + || release.pack_version != "26.2.0-alpha.207" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.207.mrpack" + || prism.versionId != "26.2.0-alpha.207" + || !packwiz.contains('version = "26.2.0-alpha.207"') || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.117.jar"')) { throw new GradleException("The alpha.201 quest-request escrow release is incomplete") } @@ -4584,7 +4584,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.206" + if (rootProject.pack_version != "26.2.0-alpha.207" || rootProject.anotherworld_version != "0.0.0-alpha.55" || rootProject.itsalive_version != "0.0.0-alpha.31" || rootProject.iliketomoveit_version != "0.0.0-alpha.14" @@ -4624,11 +4624,11 @@ tasks.register("verifyWaystoneShopCulinaryAlpha202Release") { || moveItManifest.custom?.sanctuary26?.network_protocol != 5 || sanctuaryManifest.custom?.sanctuary26?.data_version != 11 || sanctuaryManifest.custom?.sanctuary26?.network_protocol != 21 - || release.pack_version != "26.2.0-alpha.206" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.206.mrpack" - || prism.versionId != "26.2.0-alpha.206" - || !packwiz.contains('version = "26.2.0-alpha.206"') - || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.54.jar"') + || release.pack_version != "26.2.0-alpha.207" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.207.mrpack" + || prism.versionId != "26.2.0-alpha.207" + || !packwiz.contains('version = "26.2.0-alpha.207"') + || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"') || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.31.jar"') || !packwizIndex.contains('file = "mods/iliketomoveit-0.0.0-alpha.14.jar"') || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.117.jar"')) { @@ -4744,7 +4744,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.206" + if (rootProject.pack_version != "26.2.0-alpha.207" || rootProject.anotherworld_version != "0.0.0-alpha.55" || rootProject.sanctuary_version != "0.0.0-alpha.117" || migration.schema_version != 1 @@ -4841,7 +4841,7 @@ tasks.register("verifySafeVaultFeature") { || ctmMigration.distribution?.packwiz_index_refreshed != true || unlimitedMigration.source?.pack_version != "26.2.0-alpha.206" || unlimitedMigration.source?.modules != [anotherworld: "0.0.0-alpha.54"] - || unlimitedMigration.target?.pack_version != "26.2.0-alpha.206" + || unlimitedMigration.target?.pack_version != "26.2.0-alpha.207" || unlimitedMigration.target?.modules != [anotherworld: "0.0.0-alpha.55"] || unlimitedMigration.safe_vault_balances?.source_storage != "27_item_stacks" || unlimitedMigration.safe_vault_balances?.target_storage != "three_64_bit_balances" @@ -4864,8 +4864,8 @@ tasks.register("verifySafeVaultFeature") { || unlimitedMigration.compatibility?.network_protocol_changed != true || unlimitedMigration.compatibility?.saved_currency_balances_preserved != true || unlimitedMigration.compatibility?.registry_ids_changed != false - || unlimitedMigration.compatibility?.pack_release_updated != false - || unlimitedMigration.distribution?.packwiz_index_refreshed != false + || unlimitedMigration.compatibility?.pack_release_updated != true + || unlimitedMigration.distribution?.packwiz_index_refreshed != true || manifest.depends?.sanctuary != ">=0.0.0-alpha.117" || manifest.custom?.sanctuary26?.data_version != 5 || manifest.custom?.sanctuary26?.network_protocol != 2 @@ -4936,7 +4936,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.27.0.189.jar" } - if (rootProject.pack_version != "26.2.0-alpha.206" + if (rootProject.pack_version != "26.2.0-alpha.207" || 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"] @@ -4954,10 +4954,10 @@ 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.206.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.207.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.206"') - || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.54.jar"') + || !packwiz.contains('version = "26.2.0-alpha.207"') + || !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 != "821b8b69e67226539328de77e4445d0dec791231" @@ -4982,7 +4982,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.27.0.189.jar" } - if (rootProject.pack_version != "26.2.0-alpha.206" + if (rootProject.pack_version != "26.2.0-alpha.207" || 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"] @@ -5008,10 +5008,10 @@ 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.206.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.207.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.206"') - || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.54.jar"') + || !packwiz.contains('version = "26.2.0-alpha.207"') + || !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 != "821b8b69e67226539328de77e4445d0dec791231" @@ -5036,7 +5036,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.27.0.189.jar" } - if (rootProject.pack_version != "26.2.0-alpha.206" + if (rootProject.pack_version != "26.2.0-alpha.207" || 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"] @@ -5065,10 +5065,10 @@ 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.206.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.207.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.206"') - || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.54.jar"') + || !packwiz.contains('version = "26.2.0-alpha.207"') + || !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 != "821b8b69e67226539328de77e4445d0dec791231" @@ -5094,7 +5094,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.27.0.189.jar" } - if (rootProject.pack_version != "26.2.0-alpha.206" + if (rootProject.pack_version != "26.2.0-alpha.207" || 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"] @@ -5117,10 +5117,10 @@ 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.206.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.207.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.206"') - || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.54.jar"') + || !packwiz.contains('version = "26.2.0-alpha.207"') + || !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 != "821b8b69e67226539328de77e4445d0dec791231" @@ -5130,6 +5130,65 @@ tasks.register("verifySafeVaultCtmAlpha206Release") { } } +tasks.register("verifySafeVaultUnlimitedAlpha207Release") { + group = "verification" + description = "Checks the complete Sanctuary 26.2.0-alpha.207 unlimited safe-vault balance release." + inputs.file(file("pack/migrations/anotherworld-safe-vault-unlimited-balances-alpha55.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")) + doLast { + def migration = new JsonSlurper().parse(file( + "pack/migrations/anotherworld-safe-vault-unlimited-balances-alpha55.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 jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.27.0.189.jar" } + if (rootProject.pack_version != "26.2.0-alpha.207" + || 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"] + || migration.target?.pack_version != "26.2.0-alpha.207" + || migration.target?.modules != [anotherworld: "0.0.0-alpha.55"] + || migration.safe_vault_balances?.source_storage != "27_item_stacks" + || migration.safe_vault_balances?.target_storage != "three_64_bit_balances" + || migration.safe_vault_balances?.currencies + != ["anotherworld:ruby", "anotherworld:sapphire", "minecraft:emerald"] + || migration.safe_vault_balances?.maximum_balance_per_currency?.toString() + != "9223372036854775807" + || migration.safe_vault_balances?.legacy_stacks_summed_into_balances != true + || migration.safe_vault_balances?.shop_access_when_structure_unloaded != true + || migration.safe_vault_balances?.client_sync_words_per_currency != 2 + || migration.raid?.loot_percent != 20 + || migration.raid?.loot_credited_to_attacker_safe != true + || migration.raid?.physical_item_spam_avoided != true + || migration.compatibility?.anotherworld_source_data_version != 4 + || migration.compatibility?.anotherworld_target_data_version != 5 + || migration.compatibility?.vault_source_data_version != 3 + || migration.compatibility?.vault_target_data_version != 4 + || migration.compatibility?.anotherworld_source_network_protocol != 1 + || migration.compatibility?.anotherworld_target_network_protocol != 2 + || migration.compatibility?.network_protocol_changed != true + || migration.compatibility?.saved_currency_balances_preserved != true + || migration.compatibility?.registry_ids_changed != false + || 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.207.mrpack" + || prism.versionId != rootProject.pack_version + || !packwiz.contains('version = "26.2.0-alpha.207"') + || !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 != "821b8b69e67226539328de77e4445d0dec791231" + || jeiFiles[0].hashes?.sha512 != "1227f2b24e0f8745140b35b34de0ade146babe3b85ea57c49b08b05d2ef6a1ee5f9358f5795505904ddbbd1e359bc478e0c67b2115ce697996b95f9516f9ebbb") { + throw new GradleException("The alpha.207 unlimited safe-vault balance release is incomplete") + } + } +} + tasks.named("verifyWorkspace") { dependsOn tasks.named("verifyWaystoneShopCulinaryAlpha202Release") dependsOn tasks.named("verifySafeVaultFeature") @@ -5137,6 +5196,7 @@ tasks.named("verifyWorkspace") { dependsOn tasks.named("verifySafeVaultFixAlpha204Release") dependsOn tasks.named("verifySafeVaultCubeAlpha205Release") dependsOn tasks.named("verifySafeVaultCtmAlpha206Release") + dependsOn tasks.named("verifySafeVaultUnlimitedAlpha207Release") } tasks.named("check") { diff --git a/gradle.properties b/gradle.properties index 0ba1ab7..d8998b2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -30,5 +30,5 @@ onlyfun_version=0.0.0-alpha.19 onlyfun_lifecycle=active sanctuary_version=0.0.0-alpha.117 sanctuary_lifecycle=active -pack_version=26.2.0-alpha.206 +pack_version=26.2.0-alpha.207 maven_group=fr.koka99cab.sanctuary26 diff --git a/pack/migrations/anotherworld-safe-vault-unlimited-balances-alpha55.json b/pack/migrations/anotherworld-safe-vault-unlimited-balances-alpha55.json index 166d36f..7d83ead 100644 --- a/pack/migrations/anotherworld-safe-vault-unlimited-balances-alpha55.json +++ b/pack/migrations/anotherworld-safe-vault-unlimited-balances-alpha55.json @@ -7,7 +7,7 @@ } }, "target": { - "pack_version": "26.2.0-alpha.206", + "pack_version": "26.2.0-alpha.207", "modules": { "anotherworld": "0.0.0-alpha.55" } @@ -40,9 +40,9 @@ "network_protocol_changed": true, "saved_currency_balances_preserved": true, "registry_ids_changed": false, - "pack_release_updated": false + "pack_release_updated": true }, "distribution": { - "packwiz_index_refreshed": false + "packwiz_index_refreshed": true } } diff --git a/pack/packwiz/index.toml b/pack/packwiz/index.toml index 9572c46..50666e7 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.12.jar" -hash = "84002beec8c3d60401919fbef933a0de6e57daafcbedfa6c9b21ca0db8ae2759" +hash = "9ddc7a915ade2c8ea2794843ffdcaa14c3f71175c6dbf340edbb81b24e947de1" [[files]] -file = "mods/anotherworld-0.0.0-alpha.54.jar" -hash = "5447d75f9627832e3ef7bdcca6b2d113623b864af6e2b222866facfee2727e8b" +file = "mods/anotherworld-0.0.0-alpha.55.jar" +hash = "9a06d500dd481f9186cd5927cb4b5186b1403cf295da6b5faa221191ac622e95" [[files]] file = "mods/events-0.0.0-alpha.0.jar" -hash = "e3bb33d5d0bfe93480d54a4a6ceedc03f2aefd884bd23d21942908c95bd9a89e" +hash = "f23618c8bb917b47c2e2b5ad2f7d25ae337d58309571b896ec5a3f10ccf01641" [[files]] file = "mods/fabric-api.pw.toml" @@ -31,7 +31,7 @@ metafile = true [[files]] file = "mods/iliketomoveit-0.0.0-alpha.14.jar" -hash = "20cdbf5171c27556f15ef18f2ec91bdd177182dae8e74daea3d2968996856bfa" +hash = "532a847a29a693fb761979802b5014fb2c76c98f648db84e4fa73c20ddcf34ca" [[files]] file = "mods/iris.pw.toml" @@ -40,7 +40,7 @@ metafile = true [[files]] file = "mods/itsalive-0.0.0-alpha.31.jar" -hash = "7ebdd4e30740f202f527da557d3b9b074cb5a7503111a13aabdee42acf34f1ca" +hash = "b159c873dedbebe2957589bdb093bf00bc47e777fe8ccd4ef3223c6f20df3cae" [[files]] file = "mods/jei.pw.toml" @@ -49,23 +49,23 @@ metafile = true [[files]] file = "mods/masterkey-0.0.0-alpha.8.jar" -hash = "9e3f8bece89fdd790f02605df1d4babc31210292d8eb2497a27af563fe58ec7c" +hash = "cb505c9c3373b501ec9bc86cc7ce8ca6eaed6ec84e6f5368c4aa49a7a4d5256d" [[files]] file = "mods/onlyfun-0.0.0-alpha.19.jar" -hash = "61e930adde348d6acfa429f5143f22f8cc55cac372dc450b2eceebaaae2720ba" +hash = "08bba338f18f41dd0e74127568b4b6a9e0a8120f828d3e29a794316fc7cc2c9c" [[files]] file = "mods/ouch-0.0.0-alpha.9.jar" -hash = "f23ba8cb013de30294bda6666f5852a37ecf8c4f1827f5c0e00e12c6d6f7a581" +hash = "6010171e2ad336ad055ccd018d8b4091393163dccbc0d0ee93a34a028b80477a" [[files]] file = "mods/redstoner-0.0.0-alpha.10.jar" -hash = "4c6007d6f0f9b0466d04f3f79787eb746add9488ace5c654a635788593cff8e9" +hash = "a081a3f7b9364a438b9aa52ce2641b1e322ee74397aa8ab9aabcf132da8c1073" [[files]] file = "mods/sanctuary-0.0.0-alpha.117.jar" -hash = "1f35bd6e77b7afc38293ee7db20523bb573f1122ff555be5bb852524628e30e9" +hash = "3743309c249941c905c6b40b1b9f72dfed30805b359775fb53d6e70ec1df24b6" [[files]] file = "mods/simple-voice-chat.pw.toml" diff --git a/pack/packwiz/pack.toml b/pack/packwiz/pack.toml index 3d65f9e..fbb5371 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.206" +version = "26.2.0-alpha.207" pack-format = "packwiz:1.1.0" [index] file = "index.toml" hash-format = "sha256" -hash = "19d9f5bf2eb9ea4de6bc32a99899bd53738a81c46c916858a82ac72146094268" +hash = "651f85fb1745d6455a713dd53e0edd1aa052797fb64f4a73e5ec2c6e4efb3321" [versions] fabric = "0.19.3" diff --git a/pack/prism/modrinth.index.json b/pack/prism/modrinth.index.json index f24bd0f..1b0b025 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.206", + "versionId": "26.2.0-alpha.207", "files": [ { "path": "mods/fabric-api-0.158.0+26.2.jar", diff --git a/pack/release.json b/pack/release.json index 1f2faea..149ec49 100644 --- a/pack/release.json +++ b/pack/release.json @@ -1,6 +1,6 @@ { "schema_version": 1, - "pack_version": "26.2.0-alpha.206", + "pack_version": "26.2.0-alpha.207", "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.206.mrpack", + "primary_file": "sanctuary-26.2.0-alpha.207.mrpack", "shared_client_server_pack": true, "update_owner": "packwiz-installer", "check_on_launch": true,