diff --git a/CHANGELOG.md b/CHANGELOG.md index 0138930..ad68315 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 — coffre-fort creux 3 × 3 × 3 +## `26.2.0-alpha.205` -Module modifié : **Another World `0.0.0-alpha.53`**. Le pack distribué reste en **`26.2.0-alpha.204`**. +Module modifié : **Another World `0.0.0-alpha.53`**. Les neuf autres modules conservent leur version issue de l’alpha.204. - remplace le mur de neuf Safe Blocks par une coque creuse de 26 blocs disposés en 3 × 3 × 3 ; - laisse le bloc central entièrement libre afin de pouvoir y cacher n’importe quel bloc ; - refuse les murs 3 × 3, les cubes pleins et toute structure à laquelle un Safe Block supplémentaire est attaché ; - répartit les textures 48×48 sur chacune des faces extérieures du cube, avec la façade, le dessus, le dessous et les côtés/arrière ; - conserve les anciennes valeurs de blockstate pour permettre le chargement et le démontage des murs existants, qui doivent être reconstruits en cube ; +- actualise JEI de `30.27.0.188` à `30.27.0.189` dans Packwiz et le manifeste Prism/Modrinth ; - préserve les comptes, les 27 emplacements de stockage, les soldes et le protocole réseau ; Another World passe à la donnée v4 et `safe_vaults` à la donnée v3. ## `26.2.0-alpha.204` diff --git a/README.md b/README.md index 6d63833..9d8f7af 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.204`**. Dans le workspace, la correction cubique du Safe Block porte Another World en développement à **`0.0.0-alpha.53`** sans produire une nouvelle version du pack. +Version courante du pack distribué : **`26.2.0-alpha.205`**. Another World passe en **`0.0.0-alpha.53`** ; les neuf autres modules conservent leur version de l’alpha.204. -Another World alpha.53 exige une coque creuse de **3 × 3 × 3**, soit 26 Safe Blocks appartenant au même joueur. 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. Un ancien mur 3 × 3 ne s’active plus et doit être démonté puis reconstruit ; les comptes et soldes existants restent conservés. +L’alpha.205 exige une coque creuse de **3 × 3 × 3**, soit 26 Safe Blocks appartenant au même joueur, et actualise 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. Un ancien mur 3 × 3 ne s’active plus et doit être démonté puis reconstruit ; les comptes et soldes existants restent conservés. L’alpha.204 finalise le Safe Block vertical et actualise JEI en **`30.27.0.188`** : sa texture individuelle 16×16 est chargée avant formation, les structures incomplètes 3 × 1 sont refusées et le CTM 48×48 exige les neuf blocs. L’interface monétaire affiche désormais correctement l’émeraude et place l’inventaire étendu sous les trois lignes de monnaie. diff --git a/build.gradle b/build.gradle index d747aa5..0010868 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.27.0.188.jar" } + def jeiFiles = prismIndex.files.findAll { it.path == "mods/jei-26.2-fabric-30.27.0.189.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 != "addab1f50da54ac55592c75022938522332f92e0" - || jeiFiles[0].hashes?.sha512 != "2d87e91f59fc617efaa27ab91145cabc371471ab1a709cd934186240c711f999dbce54cc8af1fcd6259a412f24191d3f6939fa43536911063468efd2952c558b" + || jeiFiles[0].hashes?.sha1 != "821b8b69e67226539328de77e4445d0dec791231" + || jeiFiles[0].hashes?.sha512 != "1227f2b24e0f8745140b35b34de0ade146babe3b85ea57c49b08b05d2ef6a1ee5f9358f5795505904ddbbd1e359bc478e0c67b2115ce697996b95f9516f9ebbb" || 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.204" + if (rootProject.pack_version != "26.2.0-alpha.205" || 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.204" + if (rootProject.pack_version != "26.2.0-alpha.205" || rootProject.anotherworld_version != "0.0.0-alpha.53" || 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.204" + if (rootProject.pack_version != "26.2.0-alpha.205" || 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.204" + if (rootProject.pack_version != "26.2.0-alpha.205" || 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.204" + if (rootProject.pack_version != "26.2.0-alpha.205" || 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.204" + if (rootProject.pack_version != "26.2.0-alpha.205" || 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.204" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.204.mrpack" - || prism.versionId != "26.2.0-alpha.204" - || !packwiz.contains('version = "26.2.0-alpha.204"')) { + || release.pack_version != "26.2.0-alpha.205" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.205.mrpack" + || prism.versionId != "26.2.0-alpha.205" + || !packwiz.contains('version = "26.2.0-alpha.205"')) { 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.204" + if (rootProject.pack_version != "26.2.0-alpha.205" || 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.204" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.204.mrpack" - || prism.versionId != "26.2.0-alpha.204" - || !packwiz.contains('version = "26.2.0-alpha.204"')) { + || release.pack_version != "26.2.0-alpha.205" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.205.mrpack" + || prism.versionId != "26.2.0-alpha.205" + || !packwiz.contains('version = "26.2.0-alpha.205"')) { 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.204" + if (rootProject.pack_version != "26.2.0-alpha.205" || 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.204" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.204.mrpack" - || prism.versionId != "26.2.0-alpha.204" - || !packwiz.contains('version = "26.2.0-alpha.204"') + || release.pack_version != "26.2.0-alpha.205" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.205.mrpack" + || prism.versionId != "26.2.0-alpha.205" + || !packwiz.contains('version = "26.2.0-alpha.205"') || !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.204" + if (rootProject.pack_version != "26.2.0-alpha.205" || 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.204" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.204.mrpack" - || prism.versionId != "26.2.0-alpha.204" - || !packwiz.contains('version = "26.2.0-alpha.204"') + || release.pack_version != "26.2.0-alpha.205" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.205.mrpack" + || prism.versionId != "26.2.0-alpha.205" + || !packwiz.contains('version = "26.2.0-alpha.205"') || !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.204" + if (rootProject.pack_version != "26.2.0-alpha.205" || 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.204" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.204.mrpack" - || prism.versionId != "26.2.0-alpha.204" - || !packwiz.contains('version = "26.2.0-alpha.204"') + || release.pack_version != "26.2.0-alpha.205" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.205.mrpack" + || prism.versionId != "26.2.0-alpha.205" + || !packwiz.contains('version = "26.2.0-alpha.205"') || !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.204" + if (rootProject.pack_version != "26.2.0-alpha.205" || 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.204" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.204.mrpack" - || prism.versionId != "26.2.0-alpha.204" - || !packwiz.contains('version = "26.2.0-alpha.204"') + || release.pack_version != "26.2.0-alpha.205" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.205.mrpack" + || prism.versionId != "26.2.0-alpha.205" + || !packwiz.contains('version = "26.2.0-alpha.205"') || !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.204" + if (rootProject.pack_version != "26.2.0-alpha.205" || rootProject.anotherworld_version != "0.0.0-alpha.53" || 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.204" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.204.mrpack" - || prism.versionId != "26.2.0-alpha.204" - || !packwiz.contains('version = "26.2.0-alpha.204"') - || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.52.jar"') + || release.pack_version != "26.2.0-alpha.205" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.205.mrpack" + || prism.versionId != "26.2.0-alpha.205" + || !packwiz.contains('version = "26.2.0-alpha.205"') + || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.53.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"')) { @@ -4717,7 +4717,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.204" + if (rootProject.pack_version != "26.2.0-alpha.205" || rootProject.anotherworld_version != "0.0.0-alpha.53" || rootProject.sanctuary_version != "0.0.0-alpha.117" || migration.schema_version != 1 @@ -4773,7 +4773,7 @@ tasks.register("verifySafeVaultFeature") { || fixMigration.compatibility?.pack_release_updated != true || cubeMigration.source?.pack_version != "26.2.0-alpha.204" || cubeMigration.source?.modules != [anotherworld: "0.0.0-alpha.52"] - || cubeMigration.target?.pack_version != "26.2.0-alpha.204" + || cubeMigration.target?.pack_version != "26.2.0-alpha.205" || cubeMigration.target?.modules != [anotherworld: "0.0.0-alpha.53"] || cubeMigration.safe_vault_structure?.source_footprint != "3x3_upright_wall" || cubeMigration.safe_vault_structure?.target_footprint != "3x3x3_hollow_cube" @@ -4791,7 +4791,7 @@ tasks.register("verifySafeVaultFeature") { || cubeMigration.compatibility?.saved_currency_balances_preserved != true || cubeMigration.compatibility?.legacy_3x3_wall_requires_rebuild != true || cubeMigration.compatibility?.registry_ids_changed != false - || cubeMigration.compatibility?.pack_release_updated != false + || cubeMigration.compatibility?.pack_release_updated != true || manifest.depends?.sanctuary != ">=0.0.0-alpha.117" || manifest.custom?.sanctuary26?.data_version != 4 || !file("build.gradle").text.contains('implementation project(":sanctuary")') @@ -4845,8 +4845,8 @@ tasks.register("verifySafeVaultInterfaceAlpha203Release") { def prism = new JsonSlurper().parse(file("pack/prism/modrinth.index.json")) def packwiz = file("pack/packwiz/pack.toml").text def packwizIndex = file("pack/packwiz/index.toml").text - def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.27.0.188.jar" } - if (rootProject.pack_version != "26.2.0-alpha.204" + 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.205" || rootProject.anotherworld_version != "0.0.0-alpha.53" || migration.source?.pack_version != "26.2.0-alpha.202" || migration.source?.modules != [anotherworld: "0.0.0-alpha.50"] @@ -4864,14 +4864,14 @@ tasks.register("verifySafeVaultInterfaceAlpha203Release") { || migration.distribution?.jei?.modrinth_version_id != "XXTFqqwG" || migration.distribution?.jei?.prism_manifest_updated != true || release.pack_version != rootProject.pack_version - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.204.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.205.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.204"') - || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.52.jar"') + || !packwiz.contains('version = "26.2.0-alpha.205"') + || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.53.jar"') || packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.50.jar"') || jeiFiles.size() != 1 - || jeiFiles[0].hashes?.sha1 != "addab1f50da54ac55592c75022938522332f92e0" - || jeiFiles[0].hashes?.sha512 != "2d87e91f59fc617efaa27ab91145cabc371471ab1a709cd934186240c711f999dbce54cc8af1fcd6259a412f24191d3f6939fa43536911063468efd2952c558b") { + || jeiFiles[0].hashes?.sha1 != "821b8b69e67226539328de77e4445d0dec791231" + || jeiFiles[0].hashes?.sha512 != "1227f2b24e0f8745140b35b34de0ade146babe3b85ea57c49b08b05d2ef6a1ee5f9358f5795505904ddbbd1e359bc478e0c67b2115ce697996b95f9516f9ebbb") { throw new GradleException("The alpha.203 upright safe-vault interface release is incomplete") } } @@ -4891,8 +4891,8 @@ tasks.register("verifySafeVaultFixAlpha204Release") { def prism = new JsonSlurper().parse(file("pack/prism/modrinth.index.json")) def packwiz = file("pack/packwiz/pack.toml").text def packwizIndex = file("pack/packwiz/index.toml").text - def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.27.0.188.jar" } - if (rootProject.pack_version != "26.2.0-alpha.204" + 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.205" || rootProject.anotherworld_version != "0.0.0-alpha.53" || migration.source?.pack_version != "26.2.0-alpha.203" || migration.source?.modules != [anotherworld: "0.0.0-alpha.51"] @@ -4918,24 +4918,82 @@ 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.204.mrpack" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.205.mrpack" || prism.versionId != rootProject.pack_version - || !packwiz.contains('version = "26.2.0-alpha.204"') - || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.52.jar"') + || !packwiz.contains('version = "26.2.0-alpha.205"') + || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.53.jar"') || packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.51.jar"') || jeiFiles.size() != 1 - || jeiFiles[0].hashes?.sha1 != "addab1f50da54ac55592c75022938522332f92e0" - || jeiFiles[0].hashes?.sha512 != "2d87e91f59fc617efaa27ab91145cabc371471ab1a709cd934186240c711f999dbce54cc8af1fcd6259a412f24191d3f6939fa43536911063468efd2952c558b") { + || jeiFiles[0].hashes?.sha1 != "821b8b69e67226539328de77e4445d0dec791231" + || jeiFiles[0].hashes?.sha512 != "1227f2b24e0f8745140b35b34de0ade146babe3b85ea57c49b08b05d2ef6a1ee5f9358f5795505904ddbbd1e359bc478e0c67b2115ce697996b95f9516f9ebbb") { throw new GradleException("The alpha.204 Safe Block finalization release is incomplete") } } } +tasks.register("verifySafeVaultCubeAlpha205Release") { + group = "verification" + description = "Checks the complete Sanctuary 26.2.0-alpha.205 hollow safe-vault cube release." + inputs.file(file("pack/migrations/anotherworld-safe-vault-cube-alpha53.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-cube-alpha53.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.205" + || rootProject.anotherworld_version != "0.0.0-alpha.53" + || migration.source?.pack_version != "26.2.0-alpha.204" + || migration.source?.modules != [anotherworld: "0.0.0-alpha.52"] + || migration.target?.pack_version != "26.2.0-alpha.205" + || migration.target?.modules != [anotherworld: "0.0.0-alpha.53"] + || migration.safe_vault_structure?.source_footprint != "3x3_upright_wall" + || migration.safe_vault_structure?.target_footprint != "3x3x3_hollow_cube" + || migration.safe_vault_structure?.blocks_required != 26 + || migration.safe_vault_structure?.center_must_be_safe_block != false + || migration.safe_vault_structure?.hidden_center_block_allowed != true + || migration.safe_vault_structure?.solid_cube_accepted != false + || migration.safe_vault_structure?.connected_texture_positions != 26 + || migration.safe_vault_structure?.surface_texture_grid != "3x3" + || migration.compatibility?.anotherworld_source_data_version != 3 + || migration.compatibility?.anotherworld_target_data_version != 4 + || migration.compatibility?.vault_source_data_version != 2 + || migration.compatibility?.vault_target_data_version != 3 + || migration.compatibility?.anotherworld_network_protocol != 1 + || migration.compatibility?.saved_currency_balances_preserved != true + || migration.compatibility?.legacy_3x3_wall_requires_rebuild != true + || migration.compatibility?.registry_ids_changed != false + || migration.compatibility?.pack_release_updated != true + || migration.distribution?.packwiz_index_refreshed != true + || migration.distribution?.jei?.source != "30.27.0.188" + || migration.distribution?.jei?.target != "30.27.0.189" + || 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.205.mrpack" + || prism.versionId != rootProject.pack_version + || !packwiz.contains('version = "26.2.0-alpha.205"') + || !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.53.jar"') + || packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.52.jar"') + || jeiFiles.size() != 1 + || jeiFiles[0].hashes?.sha1 != "821b8b69e67226539328de77e4445d0dec791231" + || jeiFiles[0].hashes?.sha512 != "1227f2b24e0f8745140b35b34de0ade146babe3b85ea57c49b08b05d2ef6a1ee5f9358f5795505904ddbbd1e359bc478e0c67b2115ce697996b95f9516f9ebbb") { + throw new GradleException("The alpha.205 hollow safe-vault cube release is incomplete") + } + } +} + tasks.named("verifyWorkspace") { dependsOn tasks.named("verifyWaystoneShopCulinaryAlpha202Release") dependsOn tasks.named("verifySafeVaultFeature") dependsOn tasks.named("verifySafeVaultInterfaceAlpha203Release") dependsOn tasks.named("verifySafeVaultFixAlpha204Release") + dependsOn tasks.named("verifySafeVaultCubeAlpha205Release") } tasks.named("check") { diff --git a/gradle.properties b/gradle.properties index 7d8eeff..6a29073 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.204 +pack_version=26.2.0-alpha.205 maven_group=fr.koka99cab.sanctuary26 diff --git a/pack/migrations/anotherworld-safe-vault-cube-alpha53.json b/pack/migrations/anotherworld-safe-vault-cube-alpha53.json index 80fc8d8..1cfa13d 100644 --- a/pack/migrations/anotherworld-safe-vault-cube-alpha53.json +++ b/pack/migrations/anotherworld-safe-vault-cube-alpha53.json @@ -7,7 +7,7 @@ } }, "target": { - "pack_version": "26.2.0-alpha.204", + "pack_version": "26.2.0-alpha.205", "modules": { "anotherworld": "0.0.0-alpha.53" } @@ -37,6 +37,15 @@ "saved_currency_balances_preserved": true, "legacy_3x3_wall_requires_rebuild": true, "registry_ids_changed": false, - "pack_release_updated": false + "pack_release_updated": true + }, + "distribution": { + "packwiz_index_refreshed": true, + "jei": { + "source": "30.27.0.188", + "target": "30.27.0.189", + "modrinth_version_id": "NtfJDMhk", + "prism_manifest_updated": true + } } } diff --git a/pack/packwiz/index.toml b/pack/packwiz/index.toml index 52b30e1..9ff8653 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 = "cac30d3110409be8075c52e858fe8482de224e2b4e0c45c868b4afc58b90b61a" +hash = "704d286b70b21b342e7b7e9813495f9f6943b2d58dee917f9c1c60554af0ea17" [[files]] -file = "mods/anotherworld-0.0.0-alpha.52.jar" -hash = "97f76444ed283d32c582fa34430ab233ea4d76381cfd5a9be59481354171951a" +file = "mods/anotherworld-0.0.0-alpha.53.jar" +hash = "96388bfbda7d22477691cc2c78bd37b12156523571e490b7dc9bd3610c44b653" [[files]] file = "mods/events-0.0.0-alpha.0.jar" -hash = "59b1c398f326dbfe5c845667c67f3b1a230b4d4a68957e00c4bd96fc2ed3b7c2" +hash = "ecbb243945c1c5f9a358b1dd2d79cef5b2b8edfb8a7a487aab55c54e77ba6de3" [[files]] file = "mods/fabric-api.pw.toml" @@ -31,7 +31,7 @@ metafile = true [[files]] file = "mods/iliketomoveit-0.0.0-alpha.14.jar" -hash = "24690732a65890c88c74fbb35a612c8eb34338cac94b55fcab5ae28815b659f4" +hash = "51ea797a63decd3c25595af7894f9eaace0bf4450f8ab91c6ba8b208fa1c6b73" [[files]] file = "mods/iris.pw.toml" @@ -40,32 +40,32 @@ metafile = true [[files]] file = "mods/itsalive-0.0.0-alpha.31.jar" -hash = "5a9675f36a1bfa1c4412e36e1614001cd6be755717b1d8b26c6d53542aa9228d" +hash = "d5490086a8da27ba628c556b39276e2d1a7c1e578331499fbe165966e58fe53d" [[files]] file = "mods/jei.pw.toml" -hash = "fa2de0af1ce83d1663defb67c085c2dd1b1c2509bf72acdaa34340e2fbf08c34" +hash = "375a4ae6ec814a9597a41974e981e6f2d127417a576aa44faf3dff6e4ddc1831" metafile = true [[files]] file = "mods/masterkey-0.0.0-alpha.8.jar" -hash = "88b83bad9dca3aa320d7236e6de2014f3f2d7ca36fc1688ea61c9e654503e3ca" +hash = "966c1c77307e3109d2b9e0bc08affd36e88604d8644a164785d503c8c5698ce3" [[files]] file = "mods/onlyfun-0.0.0-alpha.19.jar" -hash = "b0987cc5035fabbc6ca299bf84e3ac7dc46e719c072d019532d38a22f5130e66" +hash = "6045603415fe1e13a8b09afc8926e793473fcbb399b37394129573656ced44fe" [[files]] file = "mods/ouch-0.0.0-alpha.9.jar" -hash = "1e769db4c2b6f020450c236a5ab696db0f71af0985349f9e7edc549338686463" +hash = "34693682c3a30974c169db0fc851ee8dac5af51eb7741fadade16b053d85b0a5" [[files]] file = "mods/redstoner-0.0.0-alpha.10.jar" -hash = "070aaf26d216fdaef69a30476ed45cf8388b2181dd48c28273a75e833e810ea0" +hash = "6c9256d065108744891be4518d6e087244ccc126f925bf7e75c7ef7369bcdb51" [[files]] file = "mods/sanctuary-0.0.0-alpha.117.jar" -hash = "0e1bbbd62c3e36a0a40ce0791405d01cfc6c96f42938eadc149be802b152c776" +hash = "50a531daaa683034ecca2e6d6ef4970283242a32aab910aba067e7c602e4e4de" [[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 07bc673..42a0f06 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.27.0.188.jar" +filename = "jei-26.2-fabric-30.27.0.189.jar" side = "both" pin = true [download] -url = "https://cdn.modrinth.com/data/u6dRKJwZ/versions/OcMayhUH/jei-26.2-fabric-30.27.0.188.jar" +url = "https://cdn.modrinth.com/data/u6dRKJwZ/versions/NtfJDMhk/jei-26.2-fabric-30.27.0.189.jar" hash-format = "sha512" -hash = "2d87e91f59fc617efaa27ab91145cabc371471ab1a709cd934186240c711f999dbce54cc8af1fcd6259a412f24191d3f6939fa43536911063468efd2952c558b" +hash = "1227f2b24e0f8745140b35b34de0ade146babe3b85ea57c49b08b05d2ef6a1ee5f9358f5795505904ddbbd1e359bc478e0c67b2115ce697996b95f9516f9ebbb" [update] [update.modrinth] mod-id = "u6dRKJwZ" -version = "OcMayhUH" +version = "NtfJDMhk" diff --git a/pack/packwiz/pack.toml b/pack/packwiz/pack.toml index e7ca0a5..1cb22ae 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.204" +version = "26.2.0-alpha.205" pack-format = "packwiz:1.1.0" [index] file = "index.toml" hash-format = "sha256" -hash = "3f65e7bb698b644815b0712ed249e55006a32b6b6b201e446fb1d6ac29eecc04" +hash = "fc8480fbc884514c45360660eda46d32b4f963af4e839ec7861b35c187415daa" [versions] fabric = "0.19.3" diff --git a/pack/prism/modrinth.index.json b/pack/prism/modrinth.index.json index 969dc24..33f9f78 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.204", + "versionId": "26.2.0-alpha.205", "files": [ { "path": "mods/fabric-api-0.158.0+26.2.jar", @@ -21,19 +21,19 @@ "fileSize": 2535765 }, { - "path": "mods/jei-26.2-fabric-30.27.0.188.jar", + "path": "mods/jei-26.2-fabric-30.27.0.189.jar", "hashes": { - "sha1": "addab1f50da54ac55592c75022938522332f92e0", - "sha512": "2d87e91f59fc617efaa27ab91145cabc371471ab1a709cd934186240c711f999dbce54cc8af1fcd6259a412f24191d3f6939fa43536911063468efd2952c558b" + "sha1": "821b8b69e67226539328de77e4445d0dec791231", + "sha512": "1227f2b24e0f8745140b35b34de0ade146babe3b85ea57c49b08b05d2ef6a1ee5f9358f5795505904ddbbd1e359bc478e0c67b2115ce697996b95f9516f9ebbb" }, "env": { "client": "required", "server": "required" }, "downloads": [ - "https://cdn.modrinth.com/data/u6dRKJwZ/versions/OcMayhUH/jei-26.2-fabric-30.27.0.188.jar" + "https://cdn.modrinth.com/data/u6dRKJwZ/versions/NtfJDMhk/jei-26.2-fabric-30.27.0.189.jar" ], - "fileSize": 1818142 + "fileSize": 1818140 }, { "path": "mods/voicechat-fabric-2.6.22+26.2.jar", diff --git a/pack/release.json b/pack/release.json index 522d6d4..e630e3b 100644 --- a/pack/release.json +++ b/pack/release.json @@ -1,6 +1,6 @@ { "schema_version": 1, - "pack_version": "26.2.0-alpha.204", + "pack_version": "26.2.0-alpha.205", "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.204.mrpack", + "primary_file": "sanctuary-26.2.0-alpha.205.mrpack", "shared_client_server_pack": true, "update_owner": "packwiz-installer", "check_on_launch": true,