release: publier les dernières PR dans Packwiz alpha.222 #100

Merged
koka merged 1 commits from release/26.2.0-alpha.222 into main 2026-08-30 13:33:43 +00:00
10 changed files with 374 additions and 210 deletions
+7 -2
View File
@@ -6,14 +6,19 @@ Ce journal suit les **versions du modpack**. Lorsqu'un seul module change, sa ve
- Depuis `26.2.0-alpha.6`, le pack et les modules ont des versions indépendantes. I Like To Move It et Only Fun deviennent les cinquième et sixième modules actifs dans l'alpha 46.
- Les versions ci-dessous ont été reconstituées à partir des JAR archivés, des packs locaux et du code source actuel. Les dates n'étant pas enregistrées de manière fiable, elles ne sont pas inventées.
## Non distribué
## `26.2.0-alpha.222`
Module modifié : **Sanctuary `0.0.0-alpha.124`**. Le pack public reste temporairement en `26.2.0-alpha.221` jusqu'à la publication.
Modules modifiés : **Red-Stoner `0.0.0-alpha.13`** et **Sanctuary `0.0.0-alpha.124`**. Les huit autres modules conservent leur version issue de l'alpha.221.
- ajoute au terminal de stockage une recherche clavier focalisée à l'ouverture, compatible avec les noms affichés, les IDs, les traductions, les accents et Unicode ;
- affiche les grandes quantités du terminal sous forme compacte (`1K`, `1.2K`, `12K`, `1.2M`) tout en conservant la valeur exacte dans l'infobulle ;
- stabilise les emplacements du terminal lorsqu'une pile est vidée afin que les ressources suivantes ne glissent plus sous le curseur, puis recompacte volontairement lors d'une nouvelle recherche ou à la réouverture ;
- ajoute un suivi d'avancement des quêtes, affichable ou masquable par une touche configurable (`J` par défaut) ;
- affiche chaque quête active comme un simple texte ombré en haut à gauche, sans panneau, bordure, titre, message vide ni barre de progression ;
- synchronise un snapshot borné des quêtes acceptées et des contrats réservés, sans les demandes que le joueur a lui-même créées, ni changer les données Sanctuary v11 ni le protocole réseau 22 ;
- propose une saisie assistée des IDs d'item et de mob dans l'éditeur de demande, avec icône et noms proches.
- actualise JEI vers la bêta Fabric 26.2 `30.29.0.196` et synchronise Packwiz avec l'index Prism/Modrinth ;
- conserve Red-Stoner data v3/protocole 7, Sanctuary data v11/protocole 22, les IDs et les sauvegardes existantes ; aucun nouveau monde ni réinitialisation n'est nécessaire.
## `26.2.0-alpha.221`
+3 -1
View File
@@ -22,10 +22,12 @@ 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.221`**. Cette release distribue Ambiance **`0.0.0-alpha.22`** ; les neuf autres modules conservent leur version issue de l'alpha.220.
Version courante du pack distribué : **`26.2.0-alpha.222`**. Cette release distribue Red-Stoner **`0.0.0-alpha.13`** et Sanctuary **`0.0.0-alpha.124`** ; les huit autres modules conservent leur version issue de l'alpha.221.
La migration [CANA-01 à CANA-09](CANAPLIA.md) porte Canaplia vers Minecraft 26.2. It's Alive **`0.0.0-alpha.35`** enregistre les seize familles, les découvertes, hybridations, résines, effets serveur et le Livre interdit personnel, partageable temporairement sur un pupitre. Ambiance **`0.0.0-alpha.14`** compose les profils visuels bornés avec ses réglages d'accessibilité, et Only Fun **`0.0.0-alpha.21`** exclut explicitement Canaplia et les raccourcis de progression du Shop.
Lalpha.222 améliore le terminal de stockage avec une recherche Unicode, des quantités compactes et des emplacements qui ne glissent plus lorsqu'une pile est vidée. Elle ajoute aussi le suivi textuel des quêtes actives en haut à gauche, masquable avec une touche configurable, ainsi que des suggestions dIDs ditems et de mobs dans l’éditeur de demandes. JEI passe à la bêta Fabric 26.2 `30.29.0.196`.
Lalpha.221 corrige la cause réelle du disque blanc ralenti et trop grave : Ambiance décode désormais la source AAC en stéréo native à 48 kHz, puis moyenne explicitement chaque paire gauche/droite vers le flux mono positionnel de Minecraft. OpenAL reste à sa hauteur normale `1.0`, sans compensation artificielle ni changement de durée.
Lalpha.220 transforme le terminal de stockage en véritable menu de conteneur, sans bouton de fermeture propriétaire. Les clics gauche/droit et shift-clic permettent maintenant de retirer ou déposer des piles depuis toutes les rangées dinventaire débloquées par Sanctuary, jusqu’à six ; la grille agrégée reste non réorganisable et remplit chaque coffre ou baril dans lordre de découverte avant de passer au suivant.
+276 -179
View File
@@ -339,7 +339,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.28.0.193.jar" }
def jeiFiles = prismIndex.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.196.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"
@@ -354,8 +354,8 @@ tasks.register("verifyWorkspace") {
|| progressionJeiMigration.compatibility?.network_protocol != 10
|| progressionJeiMigration.compatibility?.network_protocol_changed != true
|| jeiFiles.size() != 1
|| jeiFiles[0].hashes?.sha1 != "494f9dc787d6c9cd9d32793da2784ab16834faf3"
|| jeiFiles[0].hashes?.sha512 != "0869f4d5840a732a04bedc7684b40140f087f3d759066c206d9d1ec710007f7c9585e4f5ebb04f10e56bef1cf2eddc6978bb2b2c93541cff5fcf7e1609859468"
|| jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00"
|| jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7"
|| jeiFiles[0].env?.client != "required" || jeiFiles[0].env?.server != "required") {
throw new GradleException("The alpha.88 progression, JEI and Minecrafter audio contract is incomplete")
}
@@ -3437,7 +3437,7 @@ tasks.register("verifyProgressivePauseMenuRelease") {
[(locale): new JsonSlurper().parse(file(
"sanctuary/src/main/resources/assets/sanctuary/lang/${locale}.json"))]
}
if (rootProject.pack_version != "26.2.0-alpha.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.sanctuary_version != "0.0.0-alpha.124"
|| rootProject.onlyfun_version != "0.0.0-alpha.25"
|| release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version
@@ -3487,7 +3487,7 @@ tasks.register("verifyMirrorLavenderDrawerRelease") {
def redStonerRegistry = file(
"redstoner/src/main/java/fr/koka99cab/sanctuary26/redstoner/registry/RedStonerRegistries.java").text
def drawerRecipe = file("redstoner/src/main/resources/data/redstoner/recipe/drawer.json")
if (rootProject.pack_version != "26.2.0-alpha.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.anotherworld_version != "0.0.0-alpha.55"
|| rootProject.redstoner_version != "0.0.0-alpha.13"
|| release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version
@@ -4277,7 +4277,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.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.onlyfun_version != "0.0.0-alpha.25"
|| rootProject.sanctuary_version != "0.0.0-alpha.124"
|| release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version
@@ -4322,7 +4322,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.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.itsalive_version != "0.0.0-alpha.36"
|| release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version
|| migration.source?.pack_version != "26.2.0-alpha.193"
@@ -4371,7 +4371,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.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.onlyfun_version != "0.0.0-alpha.25"
|| rootProject.sanctuary_version != "0.0.0-alpha.124"
|| release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version
@@ -4417,7 +4417,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.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| migration.source?.pack_version != "26.2.0-alpha.195"
|| migration.target?.pack_version != "26.2.0-alpha.196"
|| migration.target?.modules != [
@@ -4435,10 +4435,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.221"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| prism.versionId != "26.2.0-alpha.221"
|| !packwiz.contains('version = "26.2.0-alpha.221"')) {
|| release.pack_version != "26.2.0-alpha.222"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != "26.2.0-alpha.222"
|| !packwiz.contains('version = "26.2.0-alpha.222"')) {
throw new GradleException("The alpha.196 culinary, mailbox and grapple release contract is incomplete")
}
}
@@ -4463,7 +4463,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.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.itsalive_version != "0.0.0-alpha.36"
|| rootProject.sanctuary_version != "0.0.0-alpha.124"
|| migration.source?.pack_version != "26.2.0-alpha.196"
@@ -4483,10 +4483,10 @@ tasks.register("verifyQuestRequestsCauldronBatchesRelease") {
|| migration.distribution?.jei?.target != "30.26.0.186"
|| migration.compatibility?.sanctuary_target_network_protocol != 19
|| sanctuaryManifest.custom?.sanctuary26?.network_protocol != 22
|| release.pack_version != "26.2.0-alpha.221"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| prism.versionId != "26.2.0-alpha.221"
|| !packwiz.contains('version = "26.2.0-alpha.221"')) {
|| release.pack_version != "26.2.0-alpha.222"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != "26.2.0-alpha.222"
|| !packwiz.contains('version = "26.2.0-alpha.222"')) {
throw new GradleException("The alpha.197 quest-request and cauldron-batch release contract is incomplete")
}
}
@@ -4513,7 +4513,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.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.itsalive_version != "0.0.0-alpha.36"
|| migration.source?.pack_version != "26.2.0-alpha.197"
|| migration.target?.pack_version != "26.2.0-alpha.198"
@@ -4532,10 +4532,10 @@ tasks.register("verifyFermentationBarrelAutomationRelease") {
|| migration.distribution?.packwiz_index_refreshed != true
|| itsAliveManifest.custom?.sanctuary26?.data_version != 3
|| itsAliveManifest.custom?.sanctuary26?.network_protocol != 4
|| release.pack_version != "26.2.0-alpha.221"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| prism.versionId != "26.2.0-alpha.221"
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| release.pack_version != "26.2.0-alpha.222"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != "26.2.0-alpha.222"
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.36.jar"')) {
throw new GradleException("The alpha.198 fermentation barrel release contract is incomplete")
}
@@ -4563,7 +4563,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.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.itsalive_version != "0.0.0-alpha.36"
|| rootProject.sanctuary_version != "0.0.0-alpha.124"
|| migration.source?.pack_version != "26.2.0-alpha.198"
@@ -4577,12 +4577,12 @@ tasks.register("verifyQuestRequestContractsRelease") {
|| migration.quest_request_contracts?.chat_accept_revalidates_distance_owner_sign_and_claim != true
|| migration.compatibility?.sanctuary_target_network_protocol != 20
|| sanctuaryManifest.custom?.sanctuary26?.network_protocol != 22
|| release.pack_version != "26.2.0-alpha.221"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| prism.versionId != "26.2.0-alpha.221"
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| release.pack_version != "26.2.0-alpha.222"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != "26.2.0-alpha.222"
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.36.jar"')
|| !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.122.jar"')) {
|| !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.124.jar"')) {
throw new GradleException("The alpha.199 quest-request contract release is incomplete")
}
}
@@ -4618,7 +4618,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.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.ambiance_version != "0.0.0-alpha.22"
|| rootProject.ouch_version != "0.0.0-alpha.10"
|| migration.source?.pack_version != "26.2.0-alpha.199"
@@ -4652,10 +4652,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.221"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| prism.versionId != "26.2.0-alpha.221"
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| release.pack_version != "26.2.0-alpha.222"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != "26.2.0-alpha.222"
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.22.jar"')
|| !packwizIndex.contains('file = "mods/ouch-0.0.0-alpha.10.jar"')) {
throw new GradleException("The alpha.200 Weather TNT and Ambiance release is incomplete")
@@ -4684,7 +4684,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.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.sanctuary_version != "0.0.0-alpha.124"
|| migration.source?.pack_version != "26.2.0-alpha.200"
|| migration.source?.modules?.sanctuary != "0.0.0-alpha.115"
@@ -4699,11 +4699,11 @@ tasks.register("verifyQuestRequestEscrowRelease") {
|| migration.compatibility?.sanctuary_target_network_protocol != 21
|| sanctuaryManifest.custom?.sanctuary26?.data_version != 11
|| sanctuaryManifest.custom?.sanctuary26?.network_protocol != 22
|| release.pack_version != "26.2.0-alpha.221"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| prism.versionId != "26.2.0-alpha.221"
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.122.jar"')) {
|| release.pack_version != "26.2.0-alpha.222"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != "26.2.0-alpha.222"
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.124.jar"')) {
throw new GradleException("The alpha.201 quest-request escrow release is incomplete")
}
}
@@ -4738,7 +4738,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.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.anotherworld_version != "0.0.0-alpha.55"
|| rootProject.itsalive_version != "0.0.0-alpha.36"
|| rootProject.iliketomoveit_version != "0.0.0-alpha.16"
@@ -4778,14 +4778,14 @@ tasks.register("verifyWaystoneShopCulinaryAlpha202Release") {
|| moveItManifest.custom?.sanctuary26?.network_protocol != 5
|| sanctuaryManifest.custom?.sanctuary26?.data_version != 11
|| sanctuaryManifest.custom?.sanctuary26?.network_protocol != 22
|| release.pack_version != "26.2.0-alpha.221"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| prism.versionId != "26.2.0-alpha.221"
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| release.pack_version != "26.2.0-alpha.222"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != "26.2.0-alpha.222"
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"')
|| !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.36.jar"')
|| !packwizIndex.contains('file = "mods/iliketomoveit-0.0.0-alpha.16.jar"')
|| !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.122.jar"')) {
|| !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.124.jar"')) {
throw new GradleException("The alpha.202 Waystone, Shop and culinary lectern release is incomplete")
}
}
@@ -4898,7 +4898,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.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.anotherworld_version != "0.0.0-alpha.55"
|| rootProject.sanctuary_version != "0.0.0-alpha.124"
|| migration.schema_version != 1
@@ -5089,8 +5089,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.28.0.193.jar" }
if (rootProject.pack_version != "26.2.0-alpha.221"
def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.196.jar" }
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.anotherworld_version != "0.0.0-alpha.55"
|| migration.source?.pack_version != "26.2.0-alpha.202"
|| migration.source?.modules != [anotherworld: "0.0.0-alpha.50"]
@@ -5108,14 +5108,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.221.mrpack"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != rootProject.pack_version
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"')
|| packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.50.jar"')
|| jeiFiles.size() != 1
|| jeiFiles[0].hashes?.sha1 != "494f9dc787d6c9cd9d32793da2784ab16834faf3"
|| jeiFiles[0].hashes?.sha512 != "0869f4d5840a732a04bedc7684b40140f087f3d759066c206d9d1ec710007f7c9585e4f5ebb04f10e56bef1cf2eddc6978bb2b2c93541cff5fcf7e1609859468") {
|| jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00"
|| jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7") {
throw new GradleException("The alpha.203 upright safe-vault interface release is incomplete")
}
}
@@ -5135,8 +5135,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.28.0.193.jar" }
if (rootProject.pack_version != "26.2.0-alpha.221"
def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.196.jar" }
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.anotherworld_version != "0.0.0-alpha.55"
|| migration.source?.pack_version != "26.2.0-alpha.203"
|| migration.source?.modules != [anotherworld: "0.0.0-alpha.51"]
@@ -5162,14 +5162,14 @@ 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.221.mrpack"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != rootProject.pack_version
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"')
|| packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.51.jar"')
|| jeiFiles.size() != 1
|| jeiFiles[0].hashes?.sha1 != "494f9dc787d6c9cd9d32793da2784ab16834faf3"
|| jeiFiles[0].hashes?.sha512 != "0869f4d5840a732a04bedc7684b40140f087f3d759066c206d9d1ec710007f7c9585e4f5ebb04f10e56bef1cf2eddc6978bb2b2c93541cff5fcf7e1609859468") {
|| jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00"
|| jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7") {
throw new GradleException("The alpha.204 Safe Block finalization release is incomplete")
}
}
@@ -5189,8 +5189,8 @@ tasks.register("verifySafeVaultCubeAlpha205Release") {
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.28.0.193.jar" }
if (rootProject.pack_version != "26.2.0-alpha.221"
def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.196.jar" }
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.anotherworld_version != "0.0.0-alpha.55"
|| migration.source?.pack_version != "26.2.0-alpha.204"
|| migration.source?.modules != [anotherworld: "0.0.0-alpha.52"]
@@ -5219,14 +5219,14 @@ tasks.register("verifySafeVaultCubeAlpha205Release") {
|| migration.distribution?.jei?.modrinth_version_id != "NtfJDMhk"
|| migration.distribution?.jei?.prism_manifest_updated != true
|| release.pack_version != rootProject.pack_version
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != rootProject.pack_version
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"')
|| packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.52.jar"')
|| jeiFiles.size() != 1
|| jeiFiles[0].hashes?.sha1 != "494f9dc787d6c9cd9d32793da2784ab16834faf3"
|| jeiFiles[0].hashes?.sha512 != "0869f4d5840a732a04bedc7684b40140f087f3d759066c206d9d1ec710007f7c9585e4f5ebb04f10e56bef1cf2eddc6978bb2b2c93541cff5fcf7e1609859468") {
|| jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00"
|| jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7") {
throw new GradleException("The alpha.205 hollow safe-vault cube release is incomplete")
}
}
@@ -5247,8 +5247,8 @@ tasks.register("verifySafeVaultCtmAlpha206Release") {
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.28.0.193.jar" }
if (rootProject.pack_version != "26.2.0-alpha.221"
def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.196.jar" }
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.anotherworld_version != "0.0.0-alpha.55"
|| migration.source?.pack_version != "26.2.0-alpha.205"
|| migration.source?.modules != [anotherworld: "0.0.0-alpha.53"]
@@ -5271,14 +5271,14 @@ tasks.register("verifySafeVaultCtmAlpha206Release") {
|| migration.compatibility?.pack_release_updated != true
|| migration.distribution?.packwiz_index_refreshed != true
|| release.pack_version != rootProject.pack_version
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != rootProject.pack_version
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"')
|| packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.53.jar"')
|| jeiFiles.size() != 1
|| jeiFiles[0].hashes?.sha1 != "494f9dc787d6c9cd9d32793da2784ab16834faf3"
|| jeiFiles[0].hashes?.sha512 != "0869f4d5840a732a04bedc7684b40140f087f3d759066c206d9d1ec710007f7c9585e4f5ebb04f10e56bef1cf2eddc6978bb2b2c93541cff5fcf7e1609859468") {
|| jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00"
|| jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7") {
throw new GradleException("The alpha.206 Safe Block CTM column release is incomplete")
}
}
@@ -5299,8 +5299,8 @@ tasks.register("verifySafeVaultUnlimitedAlpha207Release") {
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.28.0.193.jar" }
if (rootProject.pack_version != "26.2.0-alpha.221"
def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.29.0.196.jar" }
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.anotherworld_version != "0.0.0-alpha.55"
|| migration.source?.pack_version != "26.2.0-alpha.206"
|| migration.source?.modules != [anotherworld: "0.0.0-alpha.54"]
@@ -5330,14 +5330,14 @@ tasks.register("verifySafeVaultUnlimitedAlpha207Release") {
|| migration.compatibility?.pack_release_updated != true
|| migration.distribution?.packwiz_index_refreshed != true
|| release.pack_version != rootProject.pack_version
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != rootProject.pack_version
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"')
|| packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.54.jar"')
|| jeiFiles.size() != 1
|| jeiFiles[0].hashes?.sha1 != "494f9dc787d6c9cd9d32793da2784ab16834faf3"
|| jeiFiles[0].hashes?.sha512 != "0869f4d5840a732a04bedc7684b40140f087f3d759066c206d9d1ec710007f7c9585e4f5ebb04f10e56bef1cf2eddc6978bb2b2c93541cff5fcf7e1609859468") {
|| jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00"
|| jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7") {
throw new GradleException("The alpha.207 unlimited safe-vault balance release is incomplete")
}
}
@@ -5388,7 +5388,7 @@ tasks.register("verifyCanapliaFoundation") {
"itsalive/src/main/java/fr/koka99cab/sanctuary26/itsalive/ItsAliveMod.java").text
def visualApiSource = file(
"ambiance/src/main/java/fr/koka99cab/sanctuary26/ambiance/api/visual/AmbianceVisualEffectApi.java").text
if (rootProject.pack_version != "26.2.0-alpha.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.itsalive_version != "0.0.0-alpha.36"
|| rootProject.ambiance_version != "0.0.0-alpha.22"
|| migration.issue != 35
@@ -5630,7 +5630,7 @@ tasks.register("verifyCanapliaAlpha209Release") {
def packwiz = file("pack/packwiz/pack.toml").text
def packwizIndex = file("pack/packwiz/index.toml").text
def jeiFiles = prism.files.findAll {
it.path == "mods/jei-26.2-fabric-30.28.0.193.jar"
it.path == "mods/jei-26.2-fabric-30.29.0.196.jar"
}
def expectedSource = [
ambiance: "0.0.0-alpha.12",
@@ -5640,7 +5640,7 @@ tasks.register("verifyCanapliaAlpha209Release") {
ambiance: "0.0.0-alpha.14",
itsalive: "0.0.0-alpha.33",
onlyfun: "0.0.0-alpha.20"]
if (rootProject.pack_version != "26.2.0-alpha.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.ambiance_version != "0.0.0-alpha.22"
|| rootProject.itsalive_version != "0.0.0-alpha.36"
|| rootProject.onlyfun_version != "0.0.0-alpha.25"
@@ -5688,9 +5688,9 @@ tasks.register("verifyCanapliaAlpha209Release") {
|| fixMigration.compatibility?.network_protocol_changed != false
|| fixMigration.distribution?.pack_release_updated != true
|| release.pack_version != rootProject.pack_version
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != rootProject.pack_version
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.22.jar"')
|| !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.36.jar"')
|| !packwizIndex.contains('file = "mods/onlyfun-0.0.0-alpha.25.jar"')
@@ -5698,8 +5698,8 @@ tasks.register("verifyCanapliaAlpha209Release") {
|| packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.33.jar"')
|| packwizIndex.contains('file = "mods/onlyfun-0.0.0-alpha.19.jar"')
|| jeiFiles.size() != 1
|| jeiFiles[0].hashes?.sha1 != "494f9dc787d6c9cd9d32793da2784ab16834faf3"
|| jeiFiles[0].hashes?.sha512 != "0869f4d5840a732a04bedc7684b40140f087f3d759066c206d9d1ec710007f7c9585e4f5ebb04f10e56bef1cf2eddc6978bb2b2c93541cff5fcf7e1609859468") {
|| jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00"
|| jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7") {
throw new GradleException("The alpha.209 Canaplia correction release is incomplete")
}
}
@@ -5742,7 +5742,7 @@ tasks.register("verifyAlpha210Release") {
itsalive: "0.0.0-alpha.35"]
def currentModules = [
ambiance: "0.0.0-alpha.22",
sanctuary: "0.0.0-alpha.122",
sanctuary: "0.0.0-alpha.124",
onlyfun: "0.0.0-alpha.25",
ouch: "0.0.0-alpha.10",
iliketomoveit: "0.0.0-alpha.16",
@@ -5756,9 +5756,9 @@ tasks.register("verifyAlpha210Release") {
"file = \"mods/${id}-${version}.jar\""
}
def jeiFiles = prism.files.findAll {
it.path == "mods/jei-26.2-fabric-30.28.0.193.jar"
it.path == "mods/jei-26.2-fabric-30.29.0.196.jar"
}
if (rootProject.pack_version != "26.2.0-alpha.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.sanctuary_version != "0.0.0-alpha.124"
|| rootProject.onlyfun_version != "0.0.0-alpha.25"
|| rootProject.iliketomoveit_version != currentModules.iliketomoveit
@@ -5804,15 +5804,15 @@ tasks.register("verifyAlpha210Release") {
|| manifests.iliketomoveit.custom?.sanctuary26?.network_protocol != 5
|| manifests.itsalive.custom?.sanctuary26?.data_version != 3
|| manifests.itsalive.custom?.sanctuary26?.network_protocol != 4
|| release.pack_version != "26.2.0-alpha.221"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| prism.versionId != "26.2.0-alpha.221"
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| release.pack_version != "26.2.0-alpha.222"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != "26.2.0-alpha.222"
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| requiredJars.any { !packwizIndex.contains(it) }
|| obsoleteJars.any { packwizIndex.contains(it) }
|| jeiFiles.size() != 1
|| jeiFiles[0].hashes?.sha1 != "494f9dc787d6c9cd9d32793da2784ab16834faf3"
|| jeiFiles[0].hashes?.sha512 != "0869f4d5840a732a04bedc7684b40140f087f3d759066c206d9d1ec710007f7c9585e4f5ebb04f10e56bef1cf2eddc6978bb2b2c93541cff5fcf7e1609859468"
|| jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00"
|| jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7"
|| !changelog.contains("## `26.2.0-alpha.210`")) {
throw new GradleException("The alpha.210 Forbidden Book and gameplay-polish release is incomplete")
}
@@ -5854,11 +5854,11 @@ tasks.register("verifyAlpha211Release") {
ouch: "0.0.0-alpha.10",
sanctuary: "0.0.0-alpha.119"]
def currentModules = expectedTarget + [
sanctuary: "0.0.0-alpha.122",
sanctuary: "0.0.0-alpha.124",
onlyfun: "0.0.0-alpha.25",
ambiance: "0.0.0-alpha.22",
iliketomoveit: "0.0.0-alpha.16"]
def workspaceModules = currentModules + [sanctuary: "0.0.0-alpha.124"]
def workspaceModules = currentModules
def expectedDataVersions = [ambiance: 2, itsalive: 3, onlyfun: 2, ouch: 1, sanctuary: 11]
def expectedProtocols = [ambiance: 6, itsalive: 4, onlyfun: 3, ouch: 1, sanctuary: 22]
def manifests = expectedTarget.collectEntries { id, version ->
@@ -5881,9 +5881,9 @@ tasks.register("verifyAlpha211Release") {
def expectedIds = [
"ambiance:white_disc", "abjection:shit_ball", "abjection:shit_cube"]
def jeiFiles = prism.files.findAll {
it.path == "mods/jei-26.2-fabric-30.28.0.193.jar"
it.path == "mods/jei-26.2-fabric-30.29.0.196.jar"
}
if (rootProject.pack_version != "26.2.0-alpha.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| workspaceModules.any { id, version -> rootProject.property("${id}_version") != version }
|| migration.source?.pack_version != "26.2.0-alpha.210"
|| migration.source?.modules != expectedSource
@@ -5911,17 +5911,17 @@ tasks.register("verifyAlpha211Release") {
|| migration.distribution?.prism_modrinth_index_updated != true
|| migration.distribution?.shared_client_server_mrpack != true
|| release.pack_version != rootProject.pack_version
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != rootProject.pack_version
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| requiredJars.any { !packwizIndex.contains(it) }
|| obsoleteJars.any { packwizIndex.contains(it) }
|| prism.files?.size() != 5
|| jeiFiles.size() != 1
|| jeiFiles[0].hashes?.sha1 != "494f9dc787d6c9cd9d32793da2784ab16834faf3"
|| jeiFiles[0].hashes?.sha512 != "0869f4d5840a732a04bedc7684b40140f087f3d759066c206d9d1ec710007f7c9585e4f5ebb04f10e56bef1cf2eddc6978bb2b2c93541cff5fcf7e1609859468"
|| jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00"
|| jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7"
|| !changelog.contains("## `26.2.0-alpha.211`")
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.221`**")) {
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.222`**")) {
throw new GradleException("The alpha.211 Abjection and gameplay-polish release is incomplete")
}
}
@@ -5953,9 +5953,9 @@ tasks.register("verifyAlpha212Release") {
def minecraftMixin = file(
"sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/mixin/client/MinecraftMixin.java").text
def jeiFiles = prism.files.findAll {
it.path == "mods/jei-26.2-fabric-30.28.0.193.jar"
it.path == "mods/jei-26.2-fabric-30.29.0.196.jar"
}
if (rootProject.pack_version != "26.2.0-alpha.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.sanctuary_version != "0.0.0-alpha.124"
|| migration.source?.pack_version != "26.2.0-alpha.211"
|| migration.source?.modules != [sanctuary: "0.0.0-alpha.119"]
@@ -5977,16 +5977,16 @@ tasks.register("verifyAlpha212Release") {
|| manifest.custom?.sanctuary26?.data_version != 11
|| manifest.custom?.sanctuary26?.network_protocol != 22
|| !minecraftMixin.contains('method = "pickBlockOrEntity"')
|| release.pack_version != "26.2.0-alpha.221"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| prism.versionId != "26.2.0-alpha.221"
|| release.pack_version != "26.2.0-alpha.222"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != "26.2.0-alpha.222"
|| prism.files?.size() != 5
|| jeiFiles.size() != 1
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.122.jar"')
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.124.jar"')
|| packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.119.jar"')
|| !changelog.contains("## `26.2.0-alpha.212`")
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.221`**")) {
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.222`**")) {
throw new GradleException("The alpha.212 Black Market startup-fix release is incomplete")
}
}
@@ -6018,9 +6018,9 @@ tasks.register("verifyAlpha213Release") {
def levelEventMixin = file(
"ambiance/src/main/java/fr/koka99cab/sanctuary26/ambiance/mixin/client/LevelEventHandlerMixin.java").text
def jeiFiles = prism.files.findAll {
it.path == "mods/jei-26.2-fabric-30.28.0.193.jar"
it.path == "mods/jei-26.2-fabric-30.29.0.196.jar"
}
if (rootProject.pack_version != "26.2.0-alpha.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.ambiance_version != "0.0.0-alpha.22"
|| migration.source?.pack_version != "26.2.0-alpha.212"
|| migration.source?.modules != [ambiance: "0.0.0-alpha.15"]
@@ -6044,16 +6044,16 @@ tasks.register("verifyAlpha213Release") {
|| manifest.custom?.sanctuary26?.network_protocol != 6
|| !levelEventMixin.contains('@Mixin(LevelEventHandler.class)')
|| !levelEventMixin.contains('@Inject(method = "levelEvent"')
|| release.pack_version != "26.2.0-alpha.221"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| prism.versionId != "26.2.0-alpha.221"
|| release.pack_version != "26.2.0-alpha.222"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != "26.2.0-alpha.222"
|| prism.files?.size() != 5
|| jeiFiles.size() != 1
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.22.jar"')
|| packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.15.jar"')
|| !changelog.contains("## `26.2.0-alpha.213`")
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.221`**")) {
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.222`**")) {
throw new GradleException("The alpha.213 Ambiance startup-fix release is incomplete")
}
}
@@ -6088,7 +6088,7 @@ tasks.register("verifyAlpha214Release") {
"ambiance/src/main/java/fr/koka99cab/sanctuary26/ambiance/client/audio/WhiteDiscAudioPlayer.java").text
def urlSmoke = file(
"ambiance/src/test/java/fr/koka99cab/sanctuary26/ambiance/white_disc/WhiteDiscUrlSmoke.java").text
if (rootProject.pack_version != "26.2.0-alpha.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.ambiance_version != "0.0.0-alpha.22"
|| migration.source?.pack_version != "26.2.0-alpha.213"
|| migration.source?.modules != [ambiance: "0.0.0-alpha.16"]
@@ -6117,16 +6117,16 @@ tasks.register("verifyAlpha214Release") {
|| !audioPlayer.contains('message.ambiance.white_disc.loading')
|| !audioPlayer.contains('message.ambiance.white_disc.failed')
|| !urlSmoke.contains("https://youtu.be/Ue5ZBe-GzSM?si=78LSbtBQzUYzhA2Y")
|| release.pack_version != "26.2.0-alpha.221"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| prism.versionId != "26.2.0-alpha.221"
|| release.pack_version != "26.2.0-alpha.222"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != "26.2.0-alpha.222"
|| prism.files?.size() != 5
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.22.jar"')
|| packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.16.jar"')
|| !changelog.contains("## `26.2.0-alpha.214`")
|| changelog.contains("## Modifications non distribuées")
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.221`**")) {
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.222`**")) {
throw new GradleException("The alpha.214 white-disc solo synchronization release is incomplete")
}
}
@@ -6167,7 +6167,7 @@ tasks.register("verifyAlpha215Release") {
"ambiance/src/main/java/fr/koka99cab/sanctuary26/ambiance/client/audio/LavaplayerAudioStream.java").text
def playbackSmoke = file(
"ambiance/src/test/java/fr/koka99cab/sanctuary26/ambiance/client/audio/WhiteDiscPlaybackSmoke.java").text
if (rootProject.pack_version != "26.2.0-alpha.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.ambiance_version != "0.0.0-alpha.22"
|| migration.source?.pack_version != "26.2.0-alpha.214"
|| migration.source?.modules != [ambiance: "0.0.0-alpha.17"]
@@ -6207,16 +6207,16 @@ tasks.register("verifyAlpha215Release") {
|| !playbackSmoke.contains("https://www.youtube.com/watch?v=Ue5ZBe-GzSM")
|| !playbackSmoke.contains("stream.paddedSilenceBytes() != 0L")
|| !playbackSmoke.contains("stream.decodedTimelineMillis() != 4_000L")
|| release.pack_version != "26.2.0-alpha.221"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| prism.versionId != "26.2.0-alpha.221"
|| release.pack_version != "26.2.0-alpha.222"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != "26.2.0-alpha.222"
|| prism.files?.size() != 5
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.22.jar"')
|| packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.17.jar"')
|| !changelog.contains("## `26.2.0-alpha.215`")
|| changelog.contains("## Modifications non distribuées")
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.221`**")) {
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.222`**")) {
throw new GradleException("The alpha.215 resilient white-disc playback release is incomplete")
}
}
@@ -6261,7 +6261,7 @@ tasks.register("verifyAlpha216Release") {
"ambiance/src/test/java/fr/koka99cab/sanctuary26/ambiance/client/audio/LavaplayerAudioStreamSmoke.java").text
def playbackSmoke = file(
"ambiance/src/test/java/fr/koka99cab/sanctuary26/ambiance/client/audio/WhiteDiscPlaybackSmoke.java").text
if (rootProject.pack_version != "26.2.0-alpha.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.ambiance_version != "0.0.0-alpha.22"
|| migration.source?.pack_version != "26.2.0-alpha.215"
|| migration.source?.modules != [ambiance: "0.0.0-alpha.18"]
@@ -6305,16 +6305,16 @@ tasks.register("verifyAlpha216Release") {
|| !playbackSmoke.contains("stream.paddedSilenceBytes() != 0L")
|| !playbackSmoke.contains("stream.decodedTimelineMillis() != 4_000L")
|| !playbackSmoke.contains("LavaplayerAudioStream.SAMPLE_RATE * 2 * 4")
|| release.pack_version != "26.2.0-alpha.221"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| prism.versionId != "26.2.0-alpha.221"
|| release.pack_version != "26.2.0-alpha.222"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != "26.2.0-alpha.222"
|| prism.files?.size() != 5
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.22.jar"')
|| packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.18.jar"')
|| !changelog.contains("## `26.2.0-alpha.216`")
|| changelog.contains("## Modifications non distribuées")
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.221`**")) {
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.222`**")) {
throw new GradleException("The alpha.216 white-disc audio-quality release is incomplete")
}
}
@@ -6349,7 +6349,7 @@ tasks.register("verifyAlpha217Release") {
"ambiance/src/main/java/fr/koka99cab/sanctuary26/ambiance/client/audio/WhiteDiscAudioPlayer.java").text
def streamSmoke = file(
"ambiance/src/test/java/fr/koka99cab/sanctuary26/ambiance/client/audio/LavaplayerAudioStreamSmoke.java").text
if (rootProject.pack_version != "26.2.0-alpha.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.ambiance_version != "0.0.0-alpha.22"
|| migration.source?.pack_version != "26.2.0-alpha.216"
|| migration.source?.modules != [ambiance: "0.0.0-alpha.19"]
@@ -6380,16 +6380,16 @@ tasks.register("verifyAlpha217Release") {
|| !audioPlayer.contains("PLAYBACK_PITCH = 1.0F")
|| audioPlayer.count("channel.setPitch(PLAYBACK_PITCH)") != 2
|| !streamSmoke.contains("WhiteDiscAudioPlayer.PLAYBACK_PITCH - 1.0F")
|| release.pack_version != "26.2.0-alpha.221"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| prism.versionId != "26.2.0-alpha.221"
|| release.pack_version != "26.2.0-alpha.222"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != "26.2.0-alpha.222"
|| prism.files?.size() != 5
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.22.jar"')
|| packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.19.jar"')
|| !changelog.contains("## `26.2.0-alpha.217`")
|| changelog.contains("## Modifications non distribuées")
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.221`**")) {
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.222`**")) {
throw new GradleException("The alpha.217 white-disc pitch release is incomplete")
}
}
@@ -6436,15 +6436,15 @@ tasks.register("verifyAlpha218Release") {
redstoner: "0.0.0-alpha.10", onlyfun: "0.0.0-alpha.24", sanctuary: "0.0.0-alpha.120"]
def targetModules = [
redstoner: "0.0.0-alpha.11", onlyfun: "0.0.0-alpha.25", sanctuary: "0.0.0-alpha.121"]
def currentModules = targetModules + [redstoner: "0.0.0-alpha.12",
sanctuary: "0.0.0-alpha.122", iliketomoveit: "0.0.0-alpha.16", ambiance: "0.0.0-alpha.22"]
def currentModules = targetModules + [redstoner: "0.0.0-alpha.13",
sanctuary: "0.0.0-alpha.124", iliketomoveit: "0.0.0-alpha.16", ambiance: "0.0.0-alpha.22"]
def requiredJars = currentModules.collect { id, version ->
"file = \"mods/${id}-${version}.jar\""
}
def obsoleteJars = sourceModules.collect { id, version ->
"file = \"mods/${id}-${version}.jar\""
}
if (rootProject.pack_version != "26.2.0-alpha.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.redstoner_version != "0.0.0-alpha.13"
|| currentModules.findAll { id, version -> id != "redstoner" && id != "sanctuary" }.any {
id, version -> rootProject.property("${id}_version") != version
@@ -6481,13 +6481,13 @@ tasks.register("verifyAlpha218Release") {
|| !onlyFunPolicy.contains('namespace.equals("redstoner") && path.equals("storage_terminal")')
|| !blackMarketPolicy.contains('namespace.equals("redstoner") && path.equals("storage_terminal")')
|| release.pack_version != rootProject.pack_version
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != rootProject.pack_version
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| requiredJars.any { !packwizIndex.contains(it) }
|| obsoleteJars.any { packwizIndex.contains(it) }
|| !changelog.contains("## `26.2.0-alpha.218`")
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.221`**")) {
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.222`**")) {
throw new GradleException("The alpha.218 Storage Terminal release is incomplete")
}
}
@@ -6531,7 +6531,8 @@ tasks.register("verifyAlpha219Release") {
sanctuary: "0.0.0-alpha.121", iliketomoveit: "0.0.0-alpha.15", ambiance: "0.0.0-alpha.20"]
def targetModules = [
sanctuary: "0.0.0-alpha.122", iliketomoveit: "0.0.0-alpha.16", ambiance: "0.0.0-alpha.21"]
def currentModules = targetModules + [ambiance: "0.0.0-alpha.22"]
def currentModules = targetModules + [
ambiance: "0.0.0-alpha.22", sanctuary: "0.0.0-alpha.124"]
def requiredJars = currentModules.collect { id, version ->
"file = \"mods/${id}-${version}.jar\""
}
@@ -6546,11 +6547,8 @@ tasks.register("verifyAlpha219Release") {
include "**/*golden*days*.zip", "**/*golden*days*.jar"
exclude "**/build/**", "**/.gradle/**", "**/.git/**"
}.files
if (rootProject.pack_version != "26.2.0-alpha.221"
|| currentModules.findAll { id, version -> id != "sanctuary" }.any {
id, version -> rootProject.property("${id}_version") != version
}
|| rootProject.sanctuary_version != "0.0.0-alpha.124"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| currentModules.any { id, version -> rootProject.property("${id}_version") != version }
|| migration.source?.pack_version != "26.2.0-alpha.218"
|| migration.source?.modules != sourceModules
|| migration.target?.pack_version != "26.2.0-alpha.219"
@@ -6581,15 +6579,15 @@ tasks.register("verifyAlpha219Release") {
|| manifests.ambiance.custom?.sanctuary26?.data_version != 2
|| manifests.ambiance.custom?.sanctuary26?.network_protocol != 6
|| release.pack_version != rootProject.pack_version
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != rootProject.pack_version
|| prism.files.any { it.path.toLowerCase().contains("golden-days") }
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| requiredJars.any { !packwizIndex.contains(it) }
|| obsoleteJars.any { packwizIndex.contains(it) }
|| !forbiddenGoldenArchives.isEmpty()
|| !changelog.contains("## `26.2.0-alpha.219`")
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.221`**")) {
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.222`**")) {
throw new GradleException("The alpha.219 finite Alpha/Indev release is incomplete")
}
}
@@ -6628,7 +6626,7 @@ tasks.register("verifyAlpha220Release") {
"redstoner/src/main/java/fr/koka99cab/sanctuary26/redstoner/client/gui/StorageTerminalScreen.java").text
def networking = file(
"redstoner/src/main/java/fr/koka99cab/sanctuary26/redstoner/network/RedStonerNetworking.java").text
if (rootProject.pack_version != "26.2.0-alpha.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.redstoner_version != "0.0.0-alpha.13"
|| migration.source?.pack_version != "26.2.0-alpha.219"
|| migration.source?.modules != [redstoner: "0.0.0-alpha.11"]
@@ -6669,13 +6667,13 @@ tasks.register("verifyAlpha220Release") {
|| networking.contains("storage_terminal_snapshot")
|| networking.contains("storage_terminal_action")
|| release.pack_version != rootProject.pack_version
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != rootProject.pack_version
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwizIndex.contains('file = "mods/redstoner-0.0.0-alpha.12.jar"')
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/redstoner-0.0.0-alpha.13.jar"')
|| packwizIndex.contains('file = "mods/redstoner-0.0.0-alpha.11.jar"')
|| !changelog.contains("## `26.2.0-alpha.220`")
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.221`**")) {
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.222`**")) {
throw new GradleException("The alpha.220 Storage Terminal menu release is incomplete")
}
}
@@ -6723,7 +6721,7 @@ tasks.register("verifyAlpha221Release") {
def playbackSmoke = file(
"ambiance/src/test/java/fr/koka99cab/sanctuary26/ambiance/client/audio/WhiteDiscPlaybackSmoke.java").text
def contract = migration.white_disc_native_rate
if (rootProject.pack_version != "26.2.0-alpha.221"
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.ambiance_version != "0.0.0-alpha.22"
|| migration.source?.pack_version != "26.2.0-alpha.220"
|| migration.source?.modules != [ambiance: "0.0.0-alpha.21"]
@@ -6772,26 +6770,31 @@ tasks.register("verifyAlpha221Release") {
|| !playbackSmoke.contains("PCM cadence: 100%% speed")
|| !whiteDiscDocumentation.contains("48 000 Hz")
|| release.pack_version != rootProject.pack_version
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != rootProject.pack_version
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.22.jar"')
|| packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.21.jar"')
|| !changelog.contains("## `26.2.0-alpha.221`")
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.221`**")) {
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.222`**")) {
throw new GradleException("The alpha.221 native-rate white-disc release is incomplete")
}
}
}
tasks.register("verifyStorageTerminalSearchFeature") {
tasks.register("verifyAlpha222Release") {
group = "verification"
description = "Checks the unreleased Storage Terminal keyboard-search feature."
description = "Checks the Sanctuary 26.2.0-alpha.222 terminal-search and quest-tracker release."
inputs.file(file("pack/migrations/26.2.0-alpha.221-terminal-search-quest-tracker-to-alpha.222.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("pack/packwiz/mods/jei.pw.toml"))
inputs.file(file("CHANGELOG.md"))
inputs.file(file("README.md"))
inputs.file(file("redstoner/src/main/resources/fabric.mod.json"))
inputs.file(file("sanctuary/src/main/resources/fabric.mod.json"))
inputs.file(file("redstoner/src/main/java/fr/koka99cab/sanctuary26/redstoner/storage/StorageTerminalMenu.java"))
inputs.file(file("redstoner/src/main/java/fr/koka99cab/sanctuary26/redstoner/storage/StorageTerminalNetwork.java"))
inputs.file(file("redstoner/src/main/java/fr/koka99cab/sanctuary26/redstoner/storage/StorageTerminalRules.java"))
@@ -6800,12 +6803,25 @@ tasks.register("verifyStorageTerminalSearchFeature") {
inputs.file(file("redstoner/src/main/java/fr/koka99cab/sanctuary26/redstoner/client/gui/StorageTerminalScreen.java"))
inputs.file(file("redstoner/src/main/java/fr/koka99cab/sanctuary26/redstoner/network/RedStonerNetworking.java"))
inputs.file(file("redstoner/src/test/java/fr/koka99cab/sanctuary26/redstoner/storage/StorageTerminalSmoke.java"))
inputs.file(file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/QuestTrackerHud.java"))
inputs.file(file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/SanctuaryClient.java"))
inputs.file(file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/QuestRequestEditorScreen.java"))
inputs.file(file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/network/QuestTrackerSnapshotPayload.java"))
inputs.file(file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/shop/QuestTrackerSync.java"))
inputs.file(file("sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/shop/QuestIdSuggestions.java"))
doLast {
def migration = new JsonSlurper().parse(file(
"pack/migrations/26.2.0-alpha.221-terminal-search-quest-tracker-to-alpha.222.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 manifest = new JsonSlurper().parse(file("redstoner/src/main/resources/fabric.mod.json"))
def packwizJei = file("pack/packwiz/mods/jei.pw.toml").text
def changelog = file("CHANGELOG.md").text
def readme = file("README.md").text
def manifests = ["redstoner", "sanctuary"].collectEntries { id ->
[(id): new JsonSlurper().parse(file("${id}/src/main/resources/fabric.mod.json"))]
}
def menu = file(
"redstoner/src/main/java/fr/koka99cab/sanctuary26/redstoner/storage/StorageTerminalMenu.java").text
def network = file(
@@ -6822,10 +6838,69 @@ tasks.register("verifyStorageTerminalSearchFeature") {
"redstoner/src/main/java/fr/koka99cab/sanctuary26/redstoner/network/RedStonerNetworking.java").text
def smoke = file(
"redstoner/src/test/java/fr/koka99cab/sanctuary26/redstoner/storage/StorageTerminalSmoke.java").text
if (rootProject.pack_version != "26.2.0-alpha.221"
def questHud = file(
"sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/QuestTrackerHud.java").text
def sanctuaryClient = file(
"sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/SanctuaryClient.java").text
def questEditor = file(
"sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/client/QuestRequestEditorScreen.java").text
def questPayload = file(
"sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/network/QuestTrackerSnapshotPayload.java").text
def questSync = file(
"sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/shop/QuestTrackerSync.java").text
def suggestions = file(
"sanctuary/src/main/java/fr/koka99cab/sanctuary26/sanctuary/shop/QuestIdSuggestions.java").text
def terminalContract = migration.storage_terminal_search
def questContract = migration.quest_tracker
def jeiFiles = prism.files.findAll {
it.path == "mods/jei-26.2-fabric-30.29.0.196.jar"
}
if (rootProject.pack_version != "26.2.0-alpha.222"
|| rootProject.redstoner_version != "0.0.0-alpha.13"
|| manifest.custom?.sanctuary26?.data_version != 3
|| manifest.custom?.sanctuary26?.network_protocol != 7
|| rootProject.sanctuary_version != "0.0.0-alpha.124"
|| migration.source?.pack_version != "26.2.0-alpha.221"
|| migration.source?.modules != [
redstoner: "0.0.0-alpha.12", sanctuary: "0.0.0-alpha.122"]
|| migration.target?.pack_version != "26.2.0-alpha.222"
|| migration.target?.modules != [
redstoner: "0.0.0-alpha.13", sanctuary: "0.0.0-alpha.124"]
|| terminalContract?.owner != "redstoner"
|| terminalContract?.maximum_search_length != 32
|| terminalContract?.searches_display_name_item_id_and_translation != true
|| terminalContract?.accent_and_unicode_folding != true
|| terminalContract?.compact_quantity_labels != true
|| terminalContract?.exact_quantity_tooltip != true
|| terminalContract?.empty_slots_remain_stable_until_new_search_or_reopen != true
|| terminalContract?.server_authoritative_transfers != true
|| questContract?.owner != "sanctuary"
|| questContract?.default_key != "J"
|| questContract?.maximum_entries != 8
|| questContract?.accepted_quests_only != true
|| questContract?.reserved_contracts_included != true
|| questContract?.own_published_requests_excluded != true
|| questContract?.transparent_text_only_hud != true
|| questContract?.item_and_mob_id_suggestions != true
|| questContract?.server_authoritative_snapshot != true
|| migration.compatibility?.new_world_required != false
|| migration.compatibility?.save_reset_required != false
|| migration.compatibility?.existing_saves_supported != true
|| migration.compatibility?.registry_ids_changed != false
|| migration.compatibility?.redstoner_data_version != 3
|| migration.compatibility?.redstoner_network_protocol != 7
|| migration.compatibility?.sanctuary_data_version != 11
|| migration.compatibility?.sanctuary_network_protocol != 22
|| migration.distribution?.pack_release_updated != true
|| migration.distribution?.packwiz_index_refreshed != true
|| migration.distribution?.prism_modrinth_index_updated != true
|| migration.distribution?.shared_client_server_mrpack != true
|| migration.distribution?.jei?.source != "30.28.0.193"
|| migration.distribution?.jei?.target != "30.29.0.196"
|| migration.distribution?.jei?.modrinth_version_id != "vvwsu2BR"
|| migration.distribution?.jei?.packwiz_and_prism_synchronized != true
|| manifests.redstoner.custom?.sanctuary26?.data_version != 3
|| manifests.redstoner.custom?.sanctuary26?.network_protocol != 7
|| manifests.sanctuary.custom?.sanctuary26?.data_version != 11
|| manifests.sanctuary.custom?.sanctuary26?.network_protocol != 22
|| !rules.contains("MAX_SEARCH_LENGTH = 32")
|| !rules.contains("compactCount(int count)")
|| !layout.contains("Keeps terminal slot identities stable")
@@ -6842,13 +6917,35 @@ tasks.register("verifyStorageTerminalSearchFeature") {
|| !smoke.contains("verifyStableLayout()")
|| !networking.contains("PROTOCOL_VERSION = 7")
|| networking.contains("storage_terminal_search")
|| release.pack_version != "26.2.0-alpha.221"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.221.mrpack"
|| prism.versionId != "26.2.0-alpha.221"
|| !packwiz.contains('version = "26.2.0-alpha.221"')
|| !packwizIndex.contains('file = "mods/redstoner-0.0.0-alpha.12.jar"')
|| packwizIndex.contains('file = "mods/redstoner-0.0.0-alpha.13.jar"')) {
throw new GradleException("The unreleased Storage Terminal keyboard-search feature is incomplete")
|| !questPayload.contains("MAX_ENTRIES = 8")
|| !questPayload.contains('SanctuaryMod.id("s2c/quest_tracker")')
|| !questSync.contains("tracksAcceptedRequest(request, playerId)")
|| !questSync.contains("SOURCE_BOARD")
|| !questHud.contains("Transparent, toggleable text overlay")
|| !questHud.contains("entries.isEmpty()) return")
|| questHud.contains("graphics.fill(")
|| !sanctuaryClient.contains("GLFW.GLFW_KEY_J")
|| !sanctuaryClient.contains("QuestTrackerSnapshotPayload.ID")
|| !questEditor.contains("QuestIdSuggestions.suggest")
|| !suggestions.contains("Normalizer.Form.NFD")
|| !suggestions.contains("public static final int LIMIT = 5")
|| release.pack_version != "26.2.0-alpha.222"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.222.mrpack"
|| prism.versionId != "26.2.0-alpha.222"
|| !packwiz.contains('version = "26.2.0-alpha.222"')
|| !packwizIndex.contains('file = "mods/redstoner-0.0.0-alpha.13.jar"')
|| !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.124.jar"')
|| packwizIndex.contains('file = "mods/redstoner-0.0.0-alpha.12.jar"')
|| packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.122.jar"')
|| !packwizJei.contains('filename = "jei-26.2-fabric-30.29.0.196.jar"')
|| !packwizJei.contains('version = "vvwsu2BR"')
|| jeiFiles.size() != 1
|| jeiFiles[0].hashes?.sha1 != "c2f2c6b5822a560fe9872921b908ffc2f3297d00"
|| jeiFiles[0].hashes?.sha512 != "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7"
|| !changelog.contains("## `26.2.0-alpha.222`")
|| changelog.contains("## Non distribué")
|| !readme.contains("Version courante du pack distribué : **`26.2.0-alpha.222`**")) {
throw new GradleException("The alpha.222 terminal-search and quest-tracker release is incomplete")
}
}
}
@@ -6863,7 +6960,7 @@ tasks.named("verifyWorkspace") {
dependsOn tasks.named("verifyAlpha219Release")
dependsOn tasks.named("verifyAlpha220Release")
dependsOn tasks.named("verifyAlpha221Release")
dependsOn tasks.named("verifyStorageTerminalSearchFeature")
dependsOn tasks.named("verifyAlpha222Release")
}
tasks.named("check") {
+1 -1
View File
@@ -30,5 +30,5 @@ onlyfun_version=0.0.0-alpha.25
onlyfun_lifecycle=active
sanctuary_version=0.0.0-alpha.124
sanctuary_lifecycle=active
pack_version=26.2.0-alpha.221
pack_version=26.2.0-alpha.222
maven_group=fr.koka99cab.sanctuary26
@@ -0,0 +1,60 @@
{
"schema_version": 1,
"source": {
"pack_version": "26.2.0-alpha.221",
"modules": {
"redstoner": "0.0.0-alpha.12",
"sanctuary": "0.0.0-alpha.122"
}
},
"target": {
"pack_version": "26.2.0-alpha.222",
"modules": {
"redstoner": "0.0.0-alpha.13",
"sanctuary": "0.0.0-alpha.124"
}
},
"storage_terminal_search": {
"owner": "redstoner",
"maximum_search_length": 32,
"searches_display_name_item_id_and_translation": true,
"accent_and_unicode_folding": true,
"compact_quantity_labels": true,
"exact_quantity_tooltip": true,
"empty_slots_remain_stable_until_new_search_or_reopen": true,
"server_authoritative_transfers": true
},
"quest_tracker": {
"owner": "sanctuary",
"default_key": "J",
"maximum_entries": 8,
"accepted_quests_only": true,
"reserved_contracts_included": true,
"own_published_requests_excluded": true,
"transparent_text_only_hud": true,
"item_and_mob_id_suggestions": true,
"server_authoritative_snapshot": true
},
"compatibility": {
"new_world_required": false,
"save_reset_required": false,
"existing_saves_supported": true,
"registry_ids_changed": false,
"redstoner_data_version": 3,
"redstoner_network_protocol": 7,
"sanctuary_data_version": 11,
"sanctuary_network_protocol": 22
},
"distribution": {
"pack_release_updated": true,
"packwiz_index_refreshed": true,
"prism_modrinth_index_updated": true,
"shared_client_server_mrpack": true,
"jei": {
"source": "30.28.0.193",
"target": "30.29.0.196",
"modrinth_version_id": "vvwsu2BR",
"packwiz_and_prism_synchronized": true
}
}
}
+13 -13
View File
@@ -14,15 +14,15 @@ hash = "41f4f4c88c71d0a23446d5014f7407d55ad477441847099cad24492b032335a0"
[[files]]
file = "mods/ambiance-0.0.0-alpha.22.jar"
hash = "4d5c31315c436c716a48e7d563fd179be2f39951c24bf4641f83a05a24323a3e"
hash = "a6b7d98971f411b202f5679aae05c1bc93754ee9a42d10dc903413b17ba97a63"
[[files]]
file = "mods/anotherworld-0.0.0-alpha.55.jar"
hash = "7fbe2ac0d2ece62285aa8277ff92284760f2ccfd6d08159015661978bd0cde9a"
hash = "cac322006ad9a724bb656b400cf47d84a18e76cd1a35f4bd13c112f443d89275"
[[files]]
file = "mods/events-0.0.0-alpha.0.jar"
hash = "cbf8d47fb82ca06c438b75fd72f805acc9813dffc6168d6786d54644ef8bb387"
hash = "8d2566ceb838a486fe9d8539acd127446e51d7085dcbefa86ee3c1aea4630a6d"
[[files]]
file = "mods/fabric-api.pw.toml"
@@ -31,7 +31,7 @@ metafile = true
[[files]]
file = "mods/iliketomoveit-0.0.0-alpha.16.jar"
hash = "26156014813bfa4384194ac0f20395b6df590a5bc29cd91a32114ced988bbaf3"
hash = "94e5afefab9485c40a47342dc84f401fa126be40064832929601e781b3a03738"
[[files]]
file = "mods/iris.pw.toml"
@@ -40,32 +40,32 @@ metafile = true
[[files]]
file = "mods/itsalive-0.0.0-alpha.36.jar"
hash = "5673ab7d605f2f1d18d807f0939f90ecedc13c892d03991fd60f7d02d74f9404"
hash = "94899dba383aff41c39f7f25ee1a6b7998aa1e9889e7b9e9039a984e0bc0882f"
[[files]]
file = "mods/jei.pw.toml"
hash = "a213ae237f9b3934bdcd0d282119d4166d0ccbb7c7223daa8d7ed956c69a0e3f"
hash = "115d2239bc86ecdad88705dbc215d27ddb6a08d94f74fa538abb6a67a00bf71e"
metafile = true
[[files]]
file = "mods/masterkey-0.0.0-alpha.8.jar"
hash = "202b159fd04b7447cda7fa9f7360693106927904819e834956ab46f6e07f658e"
hash = "102c3da5d201452be23ab84338e023c284f4770270ca945b0c63b6a996fb2922"
[[files]]
file = "mods/onlyfun-0.0.0-alpha.25.jar"
hash = "6551d75cb3cb7be220b2aa6033d4eb533fa28a39ee88d66bbb0c40244c08c259"
hash = "2676072de7dbc9b27c4fd0e50e797832356fbc903e80c5bd9a5bd55c1a5aff1b"
[[files]]
file = "mods/ouch-0.0.0-alpha.10.jar"
hash = "0c2e0e2ef7f6c944d0b6d5609c42431a0a31f1d92087c3b5c28b67f76795d8cf"
hash = "59815a0415c48c92acfc7c18bd2399780bab9b0b5eee69c2b35a66cb1474109b"
[[files]]
file = "mods/redstoner-0.0.0-alpha.12.jar"
hash = "fee65e8d865f918ec8174b7a808762658ed91b566af590d99a3448f9d237175a"
file = "mods/redstoner-0.0.0-alpha.13.jar"
hash = "0bd3888b13c894aed806696a5e73e076c7ed985eff2c242f0df9ec64ff3fcb37"
[[files]]
file = "mods/sanctuary-0.0.0-alpha.122.jar"
hash = "9183652d13fd3c15663ca645f96f2a70026cb4d3a82f62e92fc3c72aea72d589"
file = "mods/sanctuary-0.0.0-alpha.124.jar"
hash = "39a3db3d1d9876ac5c7a7135a3b524c82508d0ee2e0c5c410c6515ff8931c6fb"
[[files]]
file = "mods/simple-voice-chat.pw.toml"
+4 -4
View File
@@ -1,14 +1,14 @@
name = "Just Enough Items (JEI)"
filename = "jei-26.2-fabric-30.28.0.193.jar"
filename = "jei-26.2-fabric-30.29.0.196.jar"
side = "both"
pin = true
[download]
url = "https://cdn.modrinth.com/data/u6dRKJwZ/versions/qaCQ7LGO/jei-26.2-fabric-30.28.0.193.jar"
url = "https://cdn.modrinth.com/data/u6dRKJwZ/versions/vvwsu2BR/jei-26.2-fabric-30.29.0.196.jar"
hash-format = "sha512"
hash = "0869f4d5840a732a04bedc7684b40140f087f3d759066c206d9d1ec710007f7c9585e4f5ebb04f10e56bef1cf2eddc6978bb2b2c93541cff5fcf7e1609859468"
hash = "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7"
[update]
[update.modrinth]
mod-id = "u6dRKJwZ"
version = "qaCQ7LGO"
version = "vvwsu2BR"
+2 -2
View File
@@ -1,12 +1,12 @@
name = "Sanctuary 26.2"
author = "KOKA99CAB"
version = "26.2.0-alpha.221"
version = "26.2.0-alpha.222"
pack-format = "packwiz:1.1.0"
[index]
file = "index.toml"
hash-format = "sha256"
hash = "60e8342eef216dd225488fe4225a28c9b9940858642cbfc8025541affd150ab0"
hash = "53b5bec1b113ab2b353e6a142e3dbc4617ea7d27003bcbb09b668938dd262ddd"
[versions]
fabric = "0.19.3"
+6 -6
View File
@@ -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.221",
"versionId": "26.2.0-alpha.222",
"files": [
{
"path": "mods/fabric-api-0.158.0+26.2.jar",
@@ -21,19 +21,19 @@
"fileSize": 2535765
},
{
"path": "mods/jei-26.2-fabric-30.28.0.193.jar",
"path": "mods/jei-26.2-fabric-30.29.0.196.jar",
"hashes": {
"sha1": "494f9dc787d6c9cd9d32793da2784ab16834faf3",
"sha512": "0869f4d5840a732a04bedc7684b40140f087f3d759066c206d9d1ec710007f7c9585e4f5ebb04f10e56bef1cf2eddc6978bb2b2c93541cff5fcf7e1609859468"
"sha1": "c2f2c6b5822a560fe9872921b908ffc2f3297d00",
"sha512": "c62a3e264d4b0ec398b9aa717a4832eecb8663bbcec4483dc58a9999d5e4e55ca4f5bca285a0d4a003220c698c3e87c8a3294366e085e72545e4afe84aec92c7"
},
"env": {
"client": "required",
"server": "required"
},
"downloads": [
"https://cdn.modrinth.com/data/u6dRKJwZ/versions/qaCQ7LGO/jei-26.2-fabric-30.28.0.193.jar"
"https://cdn.modrinth.com/data/u6dRKJwZ/versions/vvwsu2BR/jei-26.2-fabric-30.29.0.196.jar"
],
"fileSize": 1822836
"fileSize": 1838353
},
{
"path": "mods/voicechat-fabric-2.6.22+26.2.jar",
+2 -2
View File
@@ -1,6 +1,6 @@
{
"schema_version": 1,
"pack_version": "26.2.0-alpha.221",
"pack_version": "26.2.0-alpha.222",
"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.221.mrpack",
"primary_file": "sanctuary-26.2.0-alpha.222.mrpack",
"shared_client_server_pack": true,
"update_owner": "packwiz-installer",
"check_on_launch": true,