From 11a916a4ce43b1ecc033f2c4385969b992f836ac Mon Sep 17 00:00:00 2001 From: koka Date: Thu, 27 Aug 2026 08:14:24 +0200 Subject: [PATCH] chore(release): prepare Sanctuary 26.2.0-alpha.200 --- CHANGELOG.md | 12 ++ README.md | 4 +- ambiance/build.gradle | 6 +- build.gradle | 125 ++++++++++++++---- gradle.properties | 6 +- ouch/build.gradle | 8 +- ouch/src/main/resources/fabric.mod.json | 2 +- ...199-weather-tnt-ambiance-to-alpha.200.json | 51 +++++++ pack/packwiz/index.toml | 24 ++-- pack/packwiz/pack.toml | 4 +- pack/prism/modrinth.index.json | 2 +- pack/release.json | 4 +- 12 files changed, 194 insertions(+), 54 deletions(-) create mode 100644 pack/migrations/26.2.0-alpha.199-weather-tnt-ambiance-to-alpha.200.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 9be3bbc..f1e88c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,18 @@ Ce journal suit les **versions du modpack**. Lorsqu'un seul module change, sa ve - Depuis `26.2.0-alpha.6`, le pack et les modules ont des versions indépendantes. I Like To Move It et Only Fun deviennent les cinquième et sixième modules actifs dans l'alpha 46. - Les versions ci-dessous ont été reconstituées à partir des JAR archivés, des packs locaux et du code source actuel. Les dates n'étant pas enregistrées de manière fiable, elles ne sont pas inventées. +## `26.2.0-alpha.200` + +Modules modifiés : **Ambiance `0.0.0-alpha.12`** et **Ouch `0.0.0-alpha.9`**. Les huit autres modules conservent leur version issue de l’alpha.199. + +- relie la TNT météo d’Ouch à l’API publique d’Ambiance par une dépendance Gradle et Fabric explicite `Ouch → Ambiance` ; +- remplace la manipulation directe de la météo vanilla par un profil Ambiance clair temporaire ; +- maintient ce temps clair pendant `864 000` ticks, soit douze heures à 20 ticks par seconde, sans laisser le calendrier météo quotidien le remplacer pendant cette durée ; +- fait disparaître progressivement la pluie et l’orage en cours au lieu de couper instantanément leurs intensités ; +- applique le profil à toutes les dimensions serveur compatibles avec la météo et conserve les commandes météo d’Ambiance ; +- préserve `ouch:weather_tnt`, ses deux alias historiques, les formats de sauvegarde, les données Ambiance v2 et Ouch v1 ainsi que leurs protocoles 4 et 1 ; +- ne demande aucune migration de sauvegarde et actualise les manifestes de distribution Packwiz, Prism et release. + ## `26.2.0-alpha.199` Module modifié : **Sanctuary `0.0.0-alpha.115`**. Les neuf autres modules conservent leur version issue de l’alpha.198. diff --git a/README.md b/README.md index 048febd..bfe95c1 100644 --- a/README.md +++ b/README.md @@ -22,7 +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.199`**. It's Alive est en **`0.0.0-alpha.30`** et Sanctuary passe en **`0.0.0-alpha.115`** ; les huit autres modules restent inchangés. +Version courante du pack local : **`26.2.0-alpha.200`**. Ambiance passe en **`0.0.0-alpha.12`** et Ouch en **`0.0.0-alpha.9`** ; les huit autres modules restent inchangés. + +L’alpha.200 fait passer la TNT météo d’Ouch par l’API publique d’Ambiance. Son explosion impose un temps clair pendant douze heures, laisse la pluie et l’orage disparaître progressivement et empêche le profil quotidien de reprendre la main avant l’expiration. Les IDs historiques, les sauvegardes et les protocoles restent inchangés. L’alpha.199 rend le panneau communautaire immédiatement identifiable grâce à une texture rose dédiée et garde son texte minimal. Un clic droit affiche désormais dans le chat l’objectif complet, la cible mob/item/joueur et la récompense promise sous forme de don, paiement ou prêt ; la quête n’est prise qu’après confirmation sur le bouton du chat. Les contrats restent communautaires : le serveur valide et conserve leurs termes sans simuler une remise, une restitution ou une complétion automatique. diff --git a/ambiance/build.gradle b/ambiance/build.gradle index 74f2cd8..8485148 100644 --- a/ambiance/build.gradle +++ b/ambiance/build.gradle @@ -19,7 +19,7 @@ tasks.named("test") { tasks.register("verifyAmbiance") { group = "verification" - description = "Checks Ambiance alpha.11, including playable night fog and weather/lunar controls." + description = "Checks Ambiance alpha.12, including timed weather overrides, playable night fog and weather/lunar controls." inputs.files(fileTree("src/main/java")) inputs.files(fileTree("src/main/resources")) inputs.file(rootProject.file("pack/migrations/26.2.0-alpha.125-realtime-calendar-to-alpha.126.json")) @@ -61,7 +61,7 @@ tasks.register("verifyAmbiance") { [(language): new JsonSlurper().parse(file("src/main/resources/assets/realtime/lang/${language}.json"))] } - if (project.version.toString() != "0.0.0-alpha.11" + if (project.version.toString() != "0.0.0-alpha.12" || migration.source?.pack_version != "26.2.0-alpha.125" || migration.target?.pack_version != "26.2.0-alpha.126" || migration.target?.modules?.ambiance != "0.0.0-alpha.1" @@ -247,7 +247,7 @@ tasks.register("verifyAmbiance") { || !javaText.contains('clearLunarNightOverride')) { throw new GradleException("Ambiance alpha.10 command override contract is incomplete") } - if (dungeonMigration.target?.modules?.ambiance != project.version.toString() + if (dungeonMigration.target?.modules?.ambiance != "0.0.0-alpha.11" || dungeonMigration.gameplay?.night_fog_visibility != 0.92 || dungeonMigration.gameplay?.night_fog_color_scale != 0.98 || !javaText.contains("Mth.lerp(night, 0.98F, 0.92F)") diff --git a/build.gradle b/build.gradle index 73f6113..6e64714 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.199" + if (rootProject.pack_version != "26.2.0-alpha.200" || rootProject.sanctuary_version != "0.0.0-alpha.115" || 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.199" + if (rootProject.pack_version != "26.2.0-alpha.200" || rootProject.anotherworld_version != "0.0.0-alpha.49" || rootProject.redstoner_version != "0.0.0-alpha.10" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version @@ -4122,7 +4122,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.199" + if (rootProject.pack_version != "26.2.0-alpha.200" || rootProject.onlyfun_version != "0.0.0-alpha.19" || rootProject.sanctuary_version != "0.0.0-alpha.115" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version @@ -4167,7 +4167,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.199" + if (rootProject.pack_version != "26.2.0-alpha.200" || rootProject.itsalive_version != "0.0.0-alpha.30" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version || migration.source?.pack_version != "26.2.0-alpha.193" @@ -4216,7 +4216,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.199" + if (rootProject.pack_version != "26.2.0-alpha.200" || rootProject.onlyfun_version != "0.0.0-alpha.19" || rootProject.sanctuary_version != "0.0.0-alpha.115" || release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version @@ -4262,7 +4262,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.199" + if (rootProject.pack_version != "26.2.0-alpha.200" || migration.source?.pack_version != "26.2.0-alpha.195" || migration.target?.pack_version != "26.2.0-alpha.196" || migration.target?.modules != [ @@ -4280,10 +4280,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.199" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.199.mrpack" - || prism.versionId != "26.2.0-alpha.199" - || !packwiz.contains('version = "26.2.0-alpha.199"')) { + || release.pack_version != "26.2.0-alpha.200" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.200.mrpack" + || prism.versionId != "26.2.0-alpha.200" + || !packwiz.contains('version = "26.2.0-alpha.200"')) { throw new GradleException("The alpha.196 culinary, mailbox and grapple release contract is incomplete") } } @@ -4308,7 +4308,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.199" + if (rootProject.pack_version != "26.2.0-alpha.200" || rootProject.itsalive_version != "0.0.0-alpha.30" || rootProject.sanctuary_version != "0.0.0-alpha.115" || migration.source?.pack_version != "26.2.0-alpha.196" @@ -4328,10 +4328,10 @@ tasks.register("verifyQuestRequestsCauldronBatchesRelease") { || migration.distribution?.jei?.target != "30.26.0.186" || migration.compatibility?.sanctuary_target_network_protocol != 19 || sanctuaryManifest.custom?.sanctuary26?.network_protocol != 20 - || release.pack_version != "26.2.0-alpha.199" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.199.mrpack" - || prism.versionId != "26.2.0-alpha.199" - || !packwiz.contains('version = "26.2.0-alpha.199"')) { + || release.pack_version != "26.2.0-alpha.200" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.200.mrpack" + || prism.versionId != "26.2.0-alpha.200" + || !packwiz.contains('version = "26.2.0-alpha.200"')) { throw new GradleException("The alpha.197 quest-request and cauldron-batch release contract is incomplete") } } @@ -4358,7 +4358,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.199" + if (rootProject.pack_version != "26.2.0-alpha.200" || rootProject.itsalive_version != "0.0.0-alpha.30" || migration.source?.pack_version != "26.2.0-alpha.197" || migration.target?.pack_version != "26.2.0-alpha.198" @@ -4377,10 +4377,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.199" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.199.mrpack" - || prism.versionId != "26.2.0-alpha.199" - || !packwiz.contains('version = "26.2.0-alpha.199"') + || release.pack_version != "26.2.0-alpha.200" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.200.mrpack" + || prism.versionId != "26.2.0-alpha.200" + || !packwiz.contains('version = "26.2.0-alpha.200"') || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.30.jar"')) { throw new GradleException("The alpha.198 fermentation barrel release contract is incomplete") } @@ -4408,7 +4408,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.199" + if (rootProject.pack_version != "26.2.0-alpha.200" || rootProject.itsalive_version != "0.0.0-alpha.30" || rootProject.sanctuary_version != "0.0.0-alpha.115" || migration.source?.pack_version != "26.2.0-alpha.198" @@ -4422,10 +4422,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 != 20 - || release.pack_version != "26.2.0-alpha.199" - || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.199.mrpack" - || prism.versionId != "26.2.0-alpha.199" - || !packwiz.contains('version = "26.2.0-alpha.199"') + || release.pack_version != "26.2.0-alpha.200" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.200.mrpack" + || prism.versionId != "26.2.0-alpha.200" + || !packwiz.contains('version = "26.2.0-alpha.200"') || !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.30.jar"') || !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.115.jar"')) { throw new GradleException("The alpha.199 quest-request contract release is incomplete") @@ -4437,6 +4437,81 @@ tasks.named("verifyWorkspace") { dependsOn tasks.named("verifyQuestRequestContractsRelease") } +tasks.register("verifyWeatherTntAmbianceRelease") { + group = "verification" + description = "Checks the complete Sanctuary 26.2.0-alpha.200 Weather TNT and Ambiance release." + inputs.file(file("pack/migrations/26.2.0-alpha.199-weather-tnt-ambiance-to-alpha.200.json")) + inputs.file(file("pack/release.json")) + inputs.file(file("pack/prism/modrinth.index.json")) + inputs.file(file("pack/packwiz/pack.toml")) + inputs.file(file("pack/packwiz/index.toml")) + inputs.file(file("ambiance/src/main/java/fr/koka99cab/sanctuary26/ambiance/environment/AmbianceEnvironmentController.java")) + inputs.file(file("ambiance/src/main/resources/fabric.mod.json")) + inputs.file(file("ouch/src/main/java/fr/koka99cab/sanctuary26/ouch/entity/WeatherTntEntity.java")) + inputs.file(file("ouch/src/main/resources/fabric.mod.json")) + doLast { + def migration = new JsonSlurper().parse(file( + "pack/migrations/26.2.0-alpha.199-weather-tnt-ambiance-to-alpha.200.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 controller = file( + "ambiance/src/main/java/fr/koka99cab/sanctuary26/ambiance/environment/AmbianceEnvironmentController.java").text + def weatherTnt = file( + "ouch/src/main/java/fr/koka99cab/sanctuary26/ouch/entity/WeatherTntEntity.java").text + 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.200" + || 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" + || migration.source?.modules != [ambiance: "0.0.0-alpha.11", ouch: "0.0.0-alpha.8"] + || migration.target?.pack_version != "26.2.0-alpha.200" + || migration.target?.modules != [ambiance: "0.0.0-alpha.12", ouch: "0.0.0-alpha.9"] + || migration.weather_tnt_ambiance?.explosive_owner != "ouch" + || migration.weather_tnt_ambiance?.weather_owner != "ambiance" + || migration.weather_tnt_ambiance?.duration_ticks != 864_000 + || migration.weather_tnt_ambiance?.duration_hours_at_twenty_tps != 12 + || migration.weather_tnt_ambiance?.daily_schedule_suspended_during_override != true + || migration.weather_tnt_ambiance?.rain_and_thunder_fade_to_clear != true + || migration.dependencies?.gradle != "ouch -> ambiance" + || migration.dependencies?.dependency_cycle_introduced != false + || migration.compatibility?.ambiance_data_version != 2 + || migration.compatibility?.ambiance_network_protocol != 4 + || migration.compatibility?.ouch_data_version != 1 + || migration.compatibility?.ouch_network_protocol != 1 + || migration.compatibility?.save_migration_required != false + || ambianceManifest.custom?.sanctuary26?.data_version != 2 + || ambianceManifest.custom?.sanctuary26?.network_protocol != 4 + || ouchManifest.custom?.sanctuary26?.data_version != 1 + || ouchManifest.custom?.sanctuary26?.network_protocol != 1 + || ouchManifest.depends?.ambiance != ">=0.0.0-alpha.12" + || !rootBuild.contains('project(":ouch")') + || !rootBuild.contains('implementation project(":ambiance")') + || !controller.contains("public static AmbianceEnvironmentSnapshot setWeatherForDuration(") + || !controller.contains("TIMED_WEATHER.put(server, new TimedWeather(weather, expiresAt))") + || !controller.contains("WEATHER_FADE_EPSILON") + || !weatherTnt.contains("AmbianceEnvironmentController.setWeatherForDuration") + || !weatherTnt.contains("AmbianceDailyWeather.CLEAR") + || !weatherTnt.contains("CLEAR_WEATHER_TICKS = 864_000") + || weatherTnt.contains("setWeatherParameters") + || release.pack_version != "26.2.0-alpha.200" + || release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.200.mrpack" + || prism.versionId != "26.2.0-alpha.200" + || !packwiz.contains('version = "26.2.0-alpha.200"') + || !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") + } + } +} + +tasks.named("verifyWorkspace") { + dependsOn tasks.named("verifyWeatherTntAmbianceRelease") +} + tasks.named("check") { dependsOn tasks.named("verifyWorkspace") dependsOn tasks.named("verifyTransport") diff --git a/gradle.properties b/gradle.properties index 3e69b32..7c41325 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,7 +12,7 @@ fabric_api_version=0.158.0+26.2 # Standby modules stay at zero until their migration really begins. mod_version=0.0.0-alpha.0 module_lifecycle=standby -ambiance_version=0.0.0-alpha.11 +ambiance_version=0.0.0-alpha.12 ambiance_lifecycle=active redstoner_version=0.0.0-alpha.10 redstoner_lifecycle=active @@ -20,7 +20,7 @@ anotherworld_version=0.0.0-alpha.49 anotherworld_lifecycle=active itsalive_version=0.0.0-alpha.30 itsalive_lifecycle=active -ouch_version=0.0.0-alpha.8 +ouch_version=0.0.0-alpha.9 ouch_lifecycle=active masterkey_version=0.0.0-alpha.8 masterkey_lifecycle=active @@ -30,5 +30,5 @@ onlyfun_version=0.0.0-alpha.19 onlyfun_lifecycle=active sanctuary_version=0.0.0-alpha.115 sanctuary_lifecycle=active -pack_version=26.2.0-alpha.199 +pack_version=26.2.0-alpha.200 maven_group=fr.koka99cab.sanctuary26 diff --git a/ouch/build.gradle b/ouch/build.gradle index 805c8b2..4f85b23 100644 --- a/ouch/build.gradle +++ b/ouch/build.gradle @@ -12,7 +12,7 @@ def miningRifleTextureHash = "4e4295c5c8a8f71d03307809448ff64363eec2d2aefdc538c4 tasks.register("verifyOuch") { group = "verification" - description = "Checks the migrated Gunz arsenal, creative tab, assets and namespace contract." + description = "Checks Ouch alpha.9, including the Ambiance-backed Weather TNT and migrated Gunz arsenal." inputs.files(fileTree("src/main/java")) inputs.files(fileTree("src/main/resources")) inputs.file(rootProject.file("pack/migrations/26.1.2-gunz-to-26.2.0-alpha.41.json")) @@ -41,7 +41,7 @@ tasks.register("verifyOuch") { || !weatherEntity.contains("AmbianceDailyWeather.CLEAR") || !weatherEntity.contains("CLEAR_WEATHER_TICKS = 864_000") || weatherEntity.contains("setWeatherParameters") - || manifest.depends?.ambiance != "*" + || manifest.depends?.ambiance != ">=0.0.0-alpha.12" || !file("src/main/resources/assets/ouch/blockstates/weather_tnt.json").isFile() || !file("src/main/resources/assets/ouch/items/weather_tnt.json").isFile() || !file("src/main/resources/data/ouch/loot_table/blocks/weather_tnt.json").isFile() @@ -89,7 +89,7 @@ tasks.register("verifyOuch") { def creeperlockRecipe = new JsonSlurper().parse(file("src/main/resources/data/ouch/recipe/creeperlock.json")) def silverEngineeringMigration = new JsonSlurper().parse(rootProject.file( "pack/migrations/26.2.0-alpha.184-silver-engineering-to-alpha.185.json")) - if (project.version.toString() != "0.0.0-alpha.8" + if (project.version.toString() != "0.0.0-alpha.9" || mitrailletteRecipe.pattern != ["RRP", "IGI", " B "] || mitrailletteRecipe.key != [B: "minecraft:stone_button", G: "minecraft:redstone", I: "anotherworld:silver_ingot", P: "anotherworld:silver_plate", R: "anotherworld:silver_rod"] @@ -100,7 +100,7 @@ tasks.register("verifyOuch") { || silverEngineeringMigration.silver_engineering?.weapons?.recipes != [ "ouch:mitraillette", "ouch:creeperlock", "ouch:mining_rifle"] || silverEngineeringMigration.compatibility?.ouch_data_version != 1) { - throw new GradleException("Ouch alpha.8 silver-engineered weapon recipes are incomplete") + throw new GradleException("Ouch alpha.9 silver-engineered weapon recipes are incomplete") } migratedWeapons.each { id, contract -> diff --git a/ouch/src/main/resources/fabric.mod.json b/ouch/src/main/resources/fabric.mod.json index 7e07d36..6a18936 100644 --- a/ouch/src/main/resources/fabric.mod.json +++ b/ouch/src/main/resources/fabric.mod.json @@ -24,7 +24,7 @@ "java": ">=25", "fabric-api": ">=0.154.2+26.2", "anotherworld": ">=0.0.0-alpha.46", - "ambiance": "*", + "ambiance": ">=0.0.0-alpha.12", "sanctuary": ">=0.0.0-alpha.110" }, "custom": { diff --git a/pack/migrations/26.2.0-alpha.199-weather-tnt-ambiance-to-alpha.200.json b/pack/migrations/26.2.0-alpha.199-weather-tnt-ambiance-to-alpha.200.json new file mode 100644 index 0000000..9ed36d5 --- /dev/null +++ b/pack/migrations/26.2.0-alpha.199-weather-tnt-ambiance-to-alpha.200.json @@ -0,0 +1,51 @@ +{ + "schema_version": 1, + "source": { + "pack_version": "26.2.0-alpha.199", + "modules": { + "ambiance": "0.0.0-alpha.11", + "ouch": "0.0.0-alpha.8" + } + }, + "target": { + "pack_version": "26.2.0-alpha.200", + "modules": { + "ambiance": "0.0.0-alpha.12", + "ouch": "0.0.0-alpha.9" + } + }, + "weather_tnt_ambiance": { + "explosive_owner": "ouch", + "weather_owner": "ambiance", + "public_api": "AmbianceEnvironmentController.setWeatherForDuration", + "profile": "clear", + "duration_ticks": 864000, + "duration_hours_at_twenty_tps": 12, + "daily_schedule_suspended_during_override": true, + "rain_and_thunder_fade_to_clear": true, + "weather_capable_server_levels_only": true, + "standing_id": "ouch:weather_tnt", + "historical_aliases": [ + "redstoner:weather_tnt", + "weather_tnt:weather_tnt" + ] + }, + "dependencies": { + "gradle": "ouch -> ambiance", + "fabric_minimum_ambiance": "0.0.0-alpha.12", + "dependency_cycle_introduced": false + }, + "distribution": { + "prism_instance": "Sanctuary-26.2-dev", + "packwiz_index_refreshed": true + }, + "compatibility": { + "ambiance_data_version": 2, + "ambiance_network_protocol": 4, + "ouch_data_version": 1, + "ouch_network_protocol": 1, + "network_protocol_changed": false, + "registry_ids_changed": false, + "save_migration_required": false + } +} diff --git a/pack/packwiz/index.toml b/pack/packwiz/index.toml index 396a725..689ef7f 100644 --- a/pack/packwiz/index.toml +++ b/pack/packwiz/index.toml @@ -13,16 +13,16 @@ file = "instance-icon.png" hash = "41f4f4c88c71d0a23446d5014f7407d55ad477441847099cad24492b032335a0" [[files]] -file = "mods/ambiance-0.0.0-alpha.11.jar" -hash = "12e63938bba723137faa9f3a416ab8e4068b0297230cfc39a2031cdd439aa784" +file = "mods/ambiance-0.0.0-alpha.12.jar" +hash = "682065501c54379b4018afe470e8dea5e655203a89f0efcadd5224a3c1eb07f3" [[files]] file = "mods/anotherworld-0.0.0-alpha.49.jar" -hash = "da09dbbd260d913e6a6aebd7759883ccdb408481bc0392db8063e82b1b89c95b" +hash = "164612384447d4a8f05404c4aae5efef876d15fbc08ba921472d430df8029f9d" [[files]] file = "mods/events-0.0.0-alpha.0.jar" -hash = "85ca0dafb7851077a0ab7fe86e9ec9897d73befe9b658f1871969c3a1ebacf59" +hash = "f439ed5ed33ce55e6960e92bceb0802059a4df72b012000eb6b54142779b30fe" [[files]] file = "mods/fabric-api.pw.toml" @@ -31,7 +31,7 @@ metafile = true [[files]] file = "mods/iliketomoveit-0.0.0-alpha.13.jar" -hash = "138350c1f085a97d3ff1119749024cc73c67f780ab359eed69d31d44a7e2471e" +hash = "a7b9d2bb2447aafa03b23d790accd12cf4339a1b7a48ecc263a1ebad7e5ee8f7" [[files]] file = "mods/iris.pw.toml" @@ -40,7 +40,7 @@ metafile = true [[files]] file = "mods/itsalive-0.0.0-alpha.30.jar" -hash = "747e5e6d61c87f68c5b9efe3eaa54daa511f044dc964b0352d9212766c06f1bf" +hash = "b39bfc4353df65d17e69f4f3f8e3aab14ba631977c159fca26635e30c2514ddf" [[files]] file = "mods/jei.pw.toml" @@ -49,23 +49,23 @@ metafile = true [[files]] file = "mods/masterkey-0.0.0-alpha.8.jar" -hash = "3ab2dac208babbd6d503a25c7d41a91d337f15f30f9da5c25988b9a5daa1b3d3" +hash = "b78b0ca215cf1b3df0b86c2c23af0f2b84b46674bcab4d34f01403559d36c86a" [[files]] file = "mods/onlyfun-0.0.0-alpha.19.jar" -hash = "be2b83a6033df420887d643b91c5bdfee5f3bb3933f156e36f256cd59c0fc083" +hash = "7c76b04d5bbc32805d33edc784510b7f8af8dd5999512d07da138b39c57233c4" [[files]] -file = "mods/ouch-0.0.0-alpha.8.jar" -hash = "b77e0b00aa2be6bab0fb9d3d749758b492323e756d1a9848ee7d7776fedf8afb" +file = "mods/ouch-0.0.0-alpha.9.jar" +hash = "0b5a3a787ec956d8e6785c5c0ea5d1e508b0d1cd4aca1af0a4f3909a4faaccd4" [[files]] file = "mods/redstoner-0.0.0-alpha.10.jar" -hash = "a51b166afef4a687ca77a7a3e149b008adc94dbe6a5d387ed27ec5a01caaf2f9" +hash = "58ec122796495fd1937bc495c141ed429bce914f4c2ed9239d6a6d658142befc" [[files]] file = "mods/sanctuary-0.0.0-alpha.115.jar" -hash = "d57eb30bd5235a0d9fe5f26eb486362bc71a2a90e01f6f248ae2e8ab7a8ba935" +hash = "43241163a209bd992e9a3e9e5e88cd7374d653a631731da1a0a19c5a5c1fa57a" [[files]] file = "mods/simple-voice-chat.pw.toml" diff --git a/pack/packwiz/pack.toml b/pack/packwiz/pack.toml index 7304699..311dc9b 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.199" +version = "26.2.0-alpha.200" pack-format = "packwiz:1.1.0" [index] file = "index.toml" hash-format = "sha256" -hash = "4365a5e895a893ef3c81ba895412563fbb336b217cd2301a5830ec132efb8886" +hash = "cc7a8a0bd96d6d6ef171cf609d81695adefe8c17c48974e73995bfb3580269e7" [versions] fabric = "0.19.3" diff --git a/pack/prism/modrinth.index.json b/pack/prism/modrinth.index.json index bda15e4..4bc2105 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.199", + "versionId": "26.2.0-alpha.200", "files": [ { "path": "mods/fabric-api-0.158.0+26.2.jar", diff --git a/pack/release.json b/pack/release.json index 334d06b..eec778e 100644 --- a/pack/release.json +++ b/pack/release.json @@ -1,6 +1,6 @@ { "schema_version": 1, - "pack_version": "26.2.0-alpha.199", + "pack_version": "26.2.0-alpha.200", "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.199.mrpack", + "primary_file": "sanctuary-26.2.0-alpha.200.mrpack", "shared_client_server_pack": true, "update_owner": "packwiz-installer", "check_on_launch": true, -- 2.54.0