diff --git a/CHANGELOG.md b/CHANGELOG.md index b8780e8..c64bcca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,15 +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 — Safe Block vertical et interface monétaire +## `26.2.0-alpha.203` -Module modifié : **Another World `0.0.0-alpha.51`**. Le pack distribué reste en **`26.2.0-alpha.202`**. +Module modifié : **Another World `0.0.0-alpha.51`**. Les neuf autres modules conservent leur version issue de l’alpha.202. - corrige la structure du Safe Block : les neuf segments doivent former un mur vertical exact de 3 × 3, et non une plateforme qui apparaît en 3 × 1 de face ; - conserve un modèle cubique individuel en main et tant que la structure est incomplète ; - active uniquement après formation les neuf modèles CTM qui découpent les textures 48×48 du coffre-fort ; - remplace le coffre vanilla à 27 cases par une interface dédiée à trois soldes centrés — rubis, saphirs et émeraudes — avec les boutons `− ×64`, `− ×1`, `+ ×1` et `+ ×64` ; - valide tous les transferts côté serveur, utilise seulement les rangées Sanctuary débloquées et refuse un retrait plutôt que de jeter des gemmes lorsque l’inventaire est plein ; +- actualise JEI de `30.26.0.186` à `30.27.0.187` dans Packwiz et le manifeste Prism/Modrinth ; - préserve les soldes existants et le stockage persistant à 27 piles, porte Another World de la donnée v2 à v3 et `safe_vaults` de v1 à v2 ; une ancienne plateforme horizontale doit être reconstruite verticalement. ## `26.2.0-alpha.202` diff --git a/README.md b/README.md index 5cefdbb..5e9b241 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 local : **`26.2.0-alpha.202`**. Another World passe en **`0.0.0-alpha.50`**, It’s Alive en **`0.0.0-alpha.31`**, I Like To Move It en **`0.0.0-alpha.14`** et Sanctuary en **`0.0.0-alpha.117`** ; les six autres modules conservent leur version de l’alpha.201. +Version courante du pack local : **`26.2.0-alpha.203`**. Another World passe en **`0.0.0-alpha.51`** ; les neuf autres modules conservent leur version de l’alpha.202. -Le développement courant porte Another World en **`0.0.0-alpha.51`** sans republier le pack. Le Safe Block forme désormais un mur vertical exact de 3 × 3 : ses blocs restent des cubes individuels avant validation, puis les neuf segments composent les textures connectées 48×48. Son interface affiche trois soldes centrés — rubis, saphirs et émeraudes — avec les transferts serveur `− ×64`, `− ×1`, `+ ×1` et `+ ×64`. +L’alpha.203 porte Another World en **`0.0.0-alpha.51`** et JEI en **`30.27.0.187`**. Le Safe Block forme désormais un mur vertical exact de 3 × 3 : ses blocs restent des cubes individuels avant validation, puis les neuf segments composent les textures connectées 48×48. Son interface affiche trois soldes centrés — rubis, saphirs et émeraudes — avec les transferts serveur `− ×64`, `− ×1`, `+ ×1` et `+ ×64`. L’alpha.202 permet de descendre par un ascenseur de Waystones vers l’étage immédiatement inférieur encore inconnu, sans ouvrir la montée ni les trajets ordinaires aux destinations non découvertes. Le Shop et le marché noir comptent et consomment désormais les rubis et saphirs de toutes les rangées débloquées, y compris l’overflow. Le livre culinaire peut enfin être posé sur un pupitre vanilla pour partager le catalogue de recettes de son propriétaire ; retiré du pupitre, il redevient personnel. diff --git a/build.gradle b/build.gradle index 305a684..7413e82 100644 --- a/build.gradle +++ b/build.gradle @@ -329,7 +329,7 @@ tasks.register("verifyWorkspace") { } def progressionJeiMigration = new JsonSlurper().parse(file( "pack/migrations/26.2.0-alpha.87-progression-jei-audio-to-alpha.88.json")) - def jeiFiles = prismIndex.files.findAll { it.path == "mods/jei-26.2-fabric-30.26.0.186.jar" } + def jeiFiles = prismIndex.files.findAll { it.path == "mods/jei-26.2-fabric-30.27.0.187.jar" } if (progressionJeiMigration.source?.pack_version != "26.2.0-alpha.87" || progressionJeiMigration.target?.pack_version != "26.2.0-alpha.88" || progressionJeiMigration.target?.modules?.sanctuary != "0.0.0-alpha.38" @@ -344,8 +344,8 @@ tasks.register("verifyWorkspace") { || progressionJeiMigration.compatibility?.network_protocol != 10 || progressionJeiMigration.compatibility?.network_protocol_changed != true || jeiFiles.size() != 1 - || jeiFiles[0].hashes?.sha1 != "950efcf2d63a3a0560eae81223479577ad1a78cd" - || jeiFiles[0].hashes?.sha512 != "6d8aaad5066d607e460db6f83cba28807129104b46c580b5ba3372d7b7cef84e28ade393c0a3d6bbb38191bcac053af691d0f58d8075f211c687c7b56c74337c" + || jeiFiles[0].hashes?.sha1 != "cbd62af1f8e568cbe29c7892ae1b2917c0784a44" + || jeiFiles[0].hashes?.sha512 != "f8bf88c089c7fe3d56031d7629170ba01eb1d0c5cc4d33f2fd0ac9413369cdef84a0fde999528621426d3dca878c9cfaf7a790622e2cd1d54802e1086fb073f0" || jeiFiles[0].env?.client != "required" || jeiFiles[0].env?.server != "required") { throw new GradleException("The alpha.88 progression, JEI and Minecrafter audio contract is incomplete") } @@ -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.202" + if (rootProject.pack_version != "26.2.0-alpha.203" || 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.202" + if (rootProject.pack_version != "26.2.0-alpha.203" || rootProject.anotherworld_version != "0.0.0-alpha.51" || 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.202" + if (rootProject.pack_version != "26.2.0-alpha.203" || 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.202" + if (rootProject.pack_version != "26.2.0-alpha.203" || 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.202" + if (rootProject.pack_version != "26.2.0-alpha.203" || 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.202" + if (rootProject.pack_version != "26.2.0-alpha.203" || 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.202" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.202.mrpack" - || prism.versionId != "26.2.0-alpha.202" - || !packwiz.contains('version = "26.2.0-alpha.202"')) { + || release.pack_version != "26.2.0-alpha.203" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.203.mrpack" + || prism.versionId != "26.2.0-alpha.203" + || !packwiz.contains('version = "26.2.0-alpha.203"')) { 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.202" + if (rootProject.pack_version != "26.2.0-alpha.203" || 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.202" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.202.mrpack" - || prism.versionId != "26.2.0-alpha.202" - || !packwiz.contains('version = "26.2.0-alpha.202"')) { + || release.pack_version != "26.2.0-alpha.203" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.203.mrpack" + || prism.versionId != "26.2.0-alpha.203" + || !packwiz.contains('version = "26.2.0-alpha.203"')) { 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.202" + if (rootProject.pack_version != "26.2.0-alpha.203" || 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.202" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.202.mrpack" - || prism.versionId != "26.2.0-alpha.202" - || !packwiz.contains('version = "26.2.0-alpha.202"') + || release.pack_version != "26.2.0-alpha.203" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.203.mrpack" + || prism.versionId != "26.2.0-alpha.203" + || !packwiz.contains('version = "26.2.0-alpha.203"') || !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.202" + if (rootProject.pack_version != "26.2.0-alpha.203" || 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.202" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.202.mrpack" - || prism.versionId != "26.2.0-alpha.202" - || !packwiz.contains('version = "26.2.0-alpha.202"') + || release.pack_version != "26.2.0-alpha.203" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.203.mrpack" + || prism.versionId != "26.2.0-alpha.203" + || !packwiz.contains('version = "26.2.0-alpha.203"') || !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.202" + if (rootProject.pack_version != "26.2.0-alpha.203" || 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.202" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.202.mrpack" - || prism.versionId != "26.2.0-alpha.202" - || !packwiz.contains('version = "26.2.0-alpha.202"') + || release.pack_version != "26.2.0-alpha.203" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.203.mrpack" + || prism.versionId != "26.2.0-alpha.203" + || !packwiz.contains('version = "26.2.0-alpha.203"') || !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.202" + if (rootProject.pack_version != "26.2.0-alpha.203" || 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.202" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.202.mrpack" - || prism.versionId != "26.2.0-alpha.202" - || !packwiz.contains('version = "26.2.0-alpha.202"') + || release.pack_version != "26.2.0-alpha.203" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.203.mrpack" + || prism.versionId != "26.2.0-alpha.203" + || !packwiz.contains('version = "26.2.0-alpha.203"') || !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.202" + if (rootProject.pack_version != "26.2.0-alpha.203" || rootProject.anotherworld_version != "0.0.0-alpha.51" || 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.202" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.202.mrpack" - || prism.versionId != "26.2.0-alpha.202" - || !packwiz.contains('version = "26.2.0-alpha.202"') - || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.50.jar"') + || release.pack_version != "26.2.0-alpha.203" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.203.mrpack" + || prism.versionId != "26.2.0-alpha.203" + || !packwiz.contains('version = "26.2.0-alpha.203"') + || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.51.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"')) { @@ -4676,7 +4676,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.202" + if (rootProject.pack_version != "26.2.0-alpha.203" || rootProject.anotherworld_version != "0.0.0-alpha.51" || rootProject.sanctuary_version != "0.0.0-alpha.117" || migration.schema_version != 1 @@ -4696,7 +4696,9 @@ tasks.register("verifySafeVaultFeature") { || migration.compatibility?.anotherworld_network_protocol != 1 || migration.compatibility?.sanctuary_network_protocol != 21 || migration.compatibility?.pack_release_updated != true + || interfaceMigration.source?.pack_version != "26.2.0-alpha.202" || interfaceMigration.source?.modules != [anotherworld: "0.0.0-alpha.50"] + || interfaceMigration.target?.pack_version != "26.2.0-alpha.203" || interfaceMigration.target?.modules != [anotherworld: "0.0.0-alpha.51"] || interfaceMigration.safe_vault_structure?.source_footprint != "3x3_horizontal" || interfaceMigration.safe_vault_structure?.target_footprint != "3x3_upright" @@ -4707,7 +4709,7 @@ tasks.register("verifySafeVaultFeature") { || interfaceMigration.compatibility?.anotherworld_target_data_version != 3 || interfaceMigration.compatibility?.vault_target_data_version != 2 || interfaceMigration.compatibility?.saved_currency_balances_preserved != true - || interfaceMigration.compatibility?.pack_release_updated != false + || interfaceMigration.compatibility?.pack_release_updated != true || manifest.depends?.sanctuary != ">=0.0.0-alpha.117" || manifest.custom?.sanctuary26?.data_version != 3 || !file("build.gradle").text.contains('implementation project(":sanctuary")') @@ -4732,9 +4734,56 @@ tasks.register("verifySafeVaultFeature") { } } +tasks.register("verifySafeVaultInterfaceAlpha203Release") { + group = "verification" + description = "Checks the complete Sanctuary 26.2.0-alpha.203 upright safe-vault interface release." + inputs.file(file("pack/migrations/anotherworld-safe-vault-data-v3.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-data-v3.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.187.jar" } + if (rootProject.pack_version != "26.2.0-alpha.203" + || rootProject.anotherworld_version != "0.0.0-alpha.51" + || migration.source?.pack_version != "26.2.0-alpha.202" + || migration.source?.modules != [anotherworld: "0.0.0-alpha.50"] + || migration.target?.pack_version != "26.2.0-alpha.203" + || migration.target?.modules != [anotherworld: "0.0.0-alpha.51"] + || migration.compatibility?.anotherworld_source_data_version != 2 + || migration.compatibility?.anotherworld_target_data_version != 3 + || migration.compatibility?.vault_source_data_version != 1 + || migration.compatibility?.vault_target_data_version != 2 + || migration.compatibility?.anotherworld_network_protocol != 1 + || migration.compatibility?.pack_release_updated != true + || migration.distribution?.packwiz_index_refreshed != true + || migration.distribution?.jei?.source != "30.26.0.186" + || migration.distribution?.jei?.target != "30.27.0.187" + || 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.203.mrpack" + || prism.versionId != rootProject.pack_version + || !packwiz.contains('version = "26.2.0-alpha.203"') + || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.51.jar"') + || packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.50.jar"') + || jeiFiles.size() != 1 + || jeiFiles[0].hashes?.sha1 != "cbd62af1f8e568cbe29c7892ae1b2917c0784a44" + || jeiFiles[0].hashes?.sha512 != "f8bf88c089c7fe3d56031d7629170ba01eb1d0c5cc4d33f2fd0ac9413369cdef84a0fde999528621426d3dca878c9cfaf7a790622e2cd1d54802e1086fb073f0") { + throw new GradleException("The alpha.203 upright safe-vault interface release is incomplete") + } + } +} + tasks.named("verifyWorkspace") { dependsOn tasks.named("verifyWaystoneShopCulinaryAlpha202Release") dependsOn tasks.named("verifySafeVaultFeature") + dependsOn tasks.named("verifySafeVaultInterfaceAlpha203Release") } tasks.named("check") { diff --git a/gradle.properties b/gradle.properties index a56ba9b..598afc7 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.202 +pack_version=26.2.0-alpha.203 maven_group=fr.koka99cab.sanctuary26 diff --git a/pack/migrations/anotherworld-safe-vault-data-v3.json b/pack/migrations/anotherworld-safe-vault-data-v3.json index 6dbf58d..3eef4c3 100644 --- a/pack/migrations/anotherworld-safe-vault-data-v3.json +++ b/pack/migrations/anotherworld-safe-vault-data-v3.json @@ -7,7 +7,7 @@ } }, "target": { - "pack_version": "26.2.0-alpha.202", + "pack_version": "26.2.0-alpha.203", "modules": { "anotherworld": "0.0.0-alpha.51" } @@ -31,6 +31,15 @@ "server_authoritative": true, "persisted_storage_slots_preserved": 27 }, + "distribution": { + "packwiz_index_refreshed": true, + "jei": { + "source": "30.26.0.186", + "target": "30.27.0.187", + "modrinth_version_id": "XXTFqqwG", + "prism_manifest_updated": true + } + }, "compatibility": { "anotherworld_source_data_version": 2, "anotherworld_target_data_version": 3, @@ -41,6 +50,6 @@ "legacy_horizontal_structure_requires_rebuild": true, "new_registry_ids": ["menu:anotherworld:safe_vault"], "removed_registry_ids": [], - "pack_release_updated": false + "pack_release_updated": true } } diff --git a/pack/packwiz/index.toml b/pack/packwiz/index.toml index da0296b..83111c3 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 = "73f740ddff6db5377b01bb03a211671fdc7a040cafae67c988f97803c7276c21" +hash = "40de39da187fa42f3b947f83872286ef6f049ff8bac0ac1a66d46d18ee14f911" [[files]] -file = "mods/anotherworld-0.0.0-alpha.50.jar" -hash = "1f3a42f6acc8732c29bccdf7521038dd28161b94325808d59f465144a83f5a79" +file = "mods/anotherworld-0.0.0-alpha.51.jar" +hash = "caa4d8b29af65dd0a43e9aa2a7b897255ae10869595f1ca706f579b15d37c5a2" [[files]] file = "mods/events-0.0.0-alpha.0.jar" -hash = "612b88ee50fb6251692514983c5a59b57e62a57dd1a639fc8c292aabbf07e3bb" +hash = "09047070e419df4bbd510c114e6c23c609757e03ef1142ba4d38f6b99ecb0a7c" [[files]] file = "mods/fabric-api.pw.toml" @@ -31,7 +31,7 @@ metafile = true [[files]] file = "mods/iliketomoveit-0.0.0-alpha.14.jar" -hash = "d9cbfa5c4ced74b9d995c1565ead4acb9a890cc0682c2bccb35c9c31cbf27180" +hash = "e8027e82ebcb214c94e028d7c2780057d745dcb810ca785ee35601bbbc1c3ec0" [[files]] file = "mods/iris.pw.toml" @@ -40,32 +40,32 @@ metafile = true [[files]] file = "mods/itsalive-0.0.0-alpha.31.jar" -hash = "b6054062dc945cb9f6b8f9829d1bd0561de5e84a99a3f3f0737546c43684bffa" +hash = "04fcdc3312c0bd4e4271602c2e9eb8eb419de10c7b61b6ab47182033de736452" [[files]] file = "mods/jei.pw.toml" -hash = "0461b1b0c56d4f9bd9af2e8c53dcf121ad4ff29f740d6fbe7363649fcc6d8aa5" +hash = "7196839cc369a00ea9cffd0a85594f8fd46c0978f4f2fc708e61368a8b451270" metafile = true [[files]] file = "mods/masterkey-0.0.0-alpha.8.jar" -hash = "8664516f1503b46fb665f9a9ad9984e6c7efff3f5e4d771a56c70591deec64dc" +hash = "1a14be8288a9eb2b93922e84cf14d701fb86bd67d6227adb16a534961dae5f87" [[files]] file = "mods/onlyfun-0.0.0-alpha.19.jar" -hash = "9d11ead06edd1defc83d670bcc14822e66f87c1384028721d1f85dd2e3788668" +hash = "c5b8bf67efd0a001c142172110f307ec2a59ac3d7457ed8e4f53f8e683033c1d" [[files]] file = "mods/ouch-0.0.0-alpha.9.jar" -hash = "bf9bb0cf55c7d8757a9d48ec7f527556f8b9742680e4f7cf33d102eade386042" +hash = "781f89dd44e3277dd8fd51e60ff2da9677a6376faeafd4000e1c07cf6f818759" [[files]] file = "mods/redstoner-0.0.0-alpha.10.jar" -hash = "920ffd7606bcb5576831a2a28668cac5ef0c50dcdd06739d55754b5692f54b49" +hash = "2d6ea237771f7a75a6d0184a68e910a7513159c0259e3c2b06f0a411a0979cbe" [[files]] file = "mods/sanctuary-0.0.0-alpha.117.jar" -hash = "519449fa9afd3af907447f4cf412234f3e08dad342fc94edff79a2485552ab4b" +hash = "10a7403a4b10ef049a7e557fd00eed56178f6d5383a2b7f28ff60b951eb4e053" [[files]] file = "mods/simple-voice-chat.pw.toml" diff --git a/pack/packwiz/mods/jei.pw.toml b/pack/packwiz/mods/jei.pw.toml index 9246c0c..3c971f5 100644 --- a/pack/packwiz/mods/jei.pw.toml +++ b/pack/packwiz/mods/jei.pw.toml @@ -1,14 +1,14 @@ name = "Just Enough Items (JEI)" -filename = "jei-26.2-fabric-30.26.0.186.jar" +filename = "jei-26.2-fabric-30.27.0.187.jar" side = "both" pin = true [download] -url = "https://cdn.modrinth.com/data/u6dRKJwZ/versions/ZLvOB7Pk/jei-26.2-fabric-30.26.0.186.jar" +url = "https://cdn.modrinth.com/data/u6dRKJwZ/versions/XXTFqqwG/jei-26.2-fabric-30.27.0.187.jar" hash-format = "sha512" -hash = "6d8aaad5066d607e460db6f83cba28807129104b46c580b5ba3372d7b7cef84e28ade393c0a3d6bbb38191bcac053af691d0f58d8075f211c687c7b56c74337c" +hash = "f8bf88c089c7fe3d56031d7629170ba01eb1d0c5cc4d33f2fd0ac9413369cdef84a0fde999528621426d3dca878c9cfaf7a790622e2cd1d54802e1086fb073f0" [update] [update.modrinth] mod-id = "u6dRKJwZ" -version = "ZLvOB7Pk" +version = "XXTFqqwG" diff --git a/pack/packwiz/pack.toml b/pack/packwiz/pack.toml index eaf3692..a3665e8 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.202" +version = "26.2.0-alpha.203" pack-format = "packwiz:1.1.0" [index] file = "index.toml" hash-format = "sha256" -hash = "f1f001d3f2138abf2ef3998542b4616204a35780c7c47cd0f9880c3e2428c89b" +hash = "0cb034db4939949917ee7d06d1eb205268b1453c2fb78a3fe57d64d090b54a87" [versions] fabric = "0.19.3" diff --git a/pack/prism/modrinth.index.json b/pack/prism/modrinth.index.json index b05bf25..91421ed 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.202", + "versionId": "26.2.0-alpha.203", "files": [ { "path": "mods/fabric-api-0.158.0+26.2.jar", @@ -21,19 +21,19 @@ "fileSize": 2535765 }, { - "path": "mods/jei-26.2-fabric-30.26.0.186.jar", + "path": "mods/jei-26.2-fabric-30.27.0.187.jar", "hashes": { - "sha1": "950efcf2d63a3a0560eae81223479577ad1a78cd", - "sha512": "6d8aaad5066d607e460db6f83cba28807129104b46c580b5ba3372d7b7cef84e28ade393c0a3d6bbb38191bcac053af691d0f58d8075f211c687c7b56c74337c" + "sha1": "cbd62af1f8e568cbe29c7892ae1b2917c0784a44", + "sha512": "f8bf88c089c7fe3d56031d7629170ba01eb1d0c5cc4d33f2fd0ac9413369cdef84a0fde999528621426d3dca878c9cfaf7a790622e2cd1d54802e1086fb073f0" }, "env": { "client": "required", "server": "required" }, "downloads": [ - "https://cdn.modrinth.com/data/u6dRKJwZ/versions/ZLvOB7Pk/jei-26.2-fabric-30.26.0.186.jar" + "https://cdn.modrinth.com/data/u6dRKJwZ/versions/XXTFqqwG/jei-26.2-fabric-30.27.0.187.jar" ], - "fileSize": 1818022 + "fileSize": 1818136 }, { "path": "mods/voicechat-fabric-2.6.22+26.2.jar", diff --git a/pack/release.json b/pack/release.json index b48348f..0f75389 100644 --- a/pack/release.json +++ b/pack/release.json @@ -1,6 +1,6 @@ { "schema_version": 1, - "pack_version": "26.2.0-alpha.202", + "pack_version": "26.2.0-alpha.203", "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.202.mrpack", + "primary_file": "sanctuary-26.2.0-alpha.203.mrpack", "shared_client_server_pack": true, "update_owner": "packwiz-installer", "check_on_launch": true,