release: Sanctuary 26.2.0-alpha.208 — Canaplia #55

Merged
koka merged 1 commits from release/26.2.0-alpha.208 into main 2026-08-29 06:42:27 +00:00
11 changed files with 261 additions and 113 deletions
+1 -1
View File
@@ -55,4 +55,4 @@ Les IDs historiques, les clés et le namespace sont inchangés. L'ancien format
La source historique 2.0.0 demeure **All Rights Reserved**, copyright KOKA99CAB. Aucun fichier Java, modèle, texture, son ou JSON historique n'a été copié. Le code et les palettes 16×16 de cette implémentation sont originaux et restent sous GPL-3.0-or-later.
Les inventaires machine sont dans pack/migrations/canaplia-foundation-alpha32.json et pack/migrations/canaplia-gameplay-alpha33.json. Le pack distribué reste en 26.2.0-alpha.207 jusqu'à une release dédiée.
Les inventaires machine sont dans pack/migrations/canaplia-foundation-alpha32.json et pack/migrations/canaplia-gameplay-alpha33.json. La release `26.2.0-alpha.208` distribue ces contrats via pack/migrations/26.2.0-alpha.207-canaplia-to-alpha.208.json.
+4 -2
View File
@@ -6,9 +6,9 @@ Ce journal suit les **versions du modpack**. Lorsqu'un seul module change, sa ve
- Depuis `26.2.0-alpha.6`, le pack et les modules ont des versions indépendantes. I Like To Move It et Only Fun deviennent les cinquième et sixième modules actifs dans l'alpha 46.
- Les versions ci-dessous ont été reconstituées à partir des JAR archivés, des packs locaux et du code source actuel. Les dates n'étant pas enregistrées de manière fiable, elles ne sont pas inventées.
## En développement — Canaplia complet
## `26.2.0-alpha.208`
Modules modifiés : **It's Alive `0.0.0-alpha.33`**, **Ambiance `0.0.0-alpha.14`** et **Only Fun `0.0.0-alpha.20`**. Le pack distribué reste en **`26.2.0-alpha.207`** jusqu'à la prochaine release.
Modules modifiés : **It's Alive `0.0.0-alpha.33`**, **Ambiance `0.0.0-alpha.14`** et **Only Fun `0.0.0-alpha.20`**. Les sept autres modules conservent leur version issue de lalpha.207.
- enregistre sous les IDs historiques les seize cultures Canaplia, leurs graines, têtes, résines et joints, avec ressources originales 16×16 et traductions FR/EN/RU ;
- transforme de façon déterministe dix têtes identiques en résine correspondante, migre l'ancien suivi de composteur et fait persister l'aura de résine pendant 90 secondes ;
@@ -18,6 +18,8 @@ Modules modifiés : **It's Alive `0.0.0-alpha.33`**, **Ambiance `0.0.0-alpha.14
- fait composer par Ambiance un seul profil normal et un seul bad trip, sans shader concurrent, avec intensité, réduction des mouvements, wobble et ghosting configurables depuis les contrôles ;
- ajoute un Codex partageable qui conserve les découvertes personnelles et communautaires, révèle ses indices progressivement et préserve les futures clés inconnues ;
- exclut tout le namespace Canaplia du Shop et des lootboxes ordinaires, conserve les IDs historiques et ne copie aucun fichier de la source 2.0.0 All Rights Reserved.
- distribue les trois JAR mis à jour dans Packwiz, Prism et le `.mrpack` partagé client/serveur, sans exiger de nouveau monde.
- actualise JEI de `30.27.0.189` à la bêta compatible `30.28.0.191` dans les manifestes Packwiz et Modrinth.
## `26.2.0-alpha.207`
+4 -2
View File
@@ -22,9 +22,11 @@ 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.207`**. Cette release distribue Another World **`0.0.0-alpha.55`** avec les soldes 64 bits pratiquement illimités du coffre-fort.
Version courante du pack distribué : **`26.2.0-alpha.208`**. Cette release distribue Canaplia complet avec It's Alive **`0.0.0-alpha.33`**, Ambiance **`0.0.0-alpha.14`** et Only Fun **`0.0.0-alpha.20`**.
Dans le workspace en développement, [CANA-01 à CANA-09](CANAPLIA.md) portent Canaplia vers Minecraft 26.2. It's Alive **`0.0.0-alpha.33`** enregistre les seize familles, les découvertes, hybridations, résines, effets serveur et le Codex. 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.20`** exclut explicitement Canaplia du Shop et des récompenses ordinaires. Le pack distribué reste en **`26.2.0-alpha.207`** jusqu'à la prochaine release.
La migration [CANA-01 à CANA-09](CANAPLIA.md) porte Canaplia vers Minecraft 26.2. It's Alive **`0.0.0-alpha.33`** enregistre les seize familles, les découvertes, hybridations, résines, effets serveur et le Codex. 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.20`** exclut explicitement Canaplia du Shop et des récompenses ordinaires. Ces trois modules sont inclus dans l'alpha.208 pour les clients et les serveurs.
Lalpha.208 ajoute Canaplia aux packs Modrinth, Prism et Packwiz sans exiger de nouveau monde. Les sources sauvages fonctionnent dans les chunks existants, tandis que les nouvelles données de compostage et de Codex sont créées ou migrées automatiquement à leur première utilisation.
Lalpha.207 rend le stockage du coffre-fort pratiquement illimité : rubis, saphirs et émeraudes utilisent chacun un solde 64 bits. Les 27 anciennes piles sont additionnées automatiquement lors du chargement, le Shop continue de consommer directement ces soldes et les 20 % pillés sont crédités dans le coffre-fort de lattaquant sans créer des millions dentités ou de piles dobjets.
+157 -79
View File
@@ -230,6 +230,7 @@ tasks.register("verifyWorkspace") {
inputs.file(file("pack/migrations/26.2.0-alpha.187-sulfur-density-cobble-placement-to-alpha.188.json"))
inputs.file(file("pack/migrations/26.2.0-alpha.188-beta-climate-provinces-to-alpha.189.json"))
inputs.file(file("pack/migrations/26.2.0-alpha.189-fair-shop-progression-to-alpha.190.json"))
inputs.file(file("pack/migrations/26.2.0-alpha.207-canaplia-to-alpha.208.json"))
inputs.files(fileTree("masterkey/src/main/java"))
inputs.files(fileTree("masterkey/src/main/resources/assets/masterkey/lang"))
inputs.files(fileTree("masterkey/tools"))
@@ -329,7 +330,7 @@ tasks.register("verifyWorkspace") {
}
def progressionJeiMigration = new JsonSlurper().parse(file(
"pack/migrations/26.2.0-alpha.87-progression-jei-audio-to-alpha.88.json"))
def jeiFiles = prismIndex.files.findAll { it.path == "mods/jei-26.2-fabric-30.27.0.189.jar" }
def jeiFiles = prismIndex.files.findAll { it.path == "mods/jei-26.2-fabric-30.28.0.191.jar" }
if (progressionJeiMigration.source?.pack_version != "26.2.0-alpha.87"
|| progressionJeiMigration.target?.pack_version != "26.2.0-alpha.88"
|| progressionJeiMigration.target?.modules?.sanctuary != "0.0.0-alpha.38"
@@ -344,8 +345,8 @@ tasks.register("verifyWorkspace") {
|| progressionJeiMigration.compatibility?.network_protocol != 10
|| progressionJeiMigration.compatibility?.network_protocol_changed != true
|| jeiFiles.size() != 1
|| jeiFiles[0].hashes?.sha1 != "821b8b69e67226539328de77e4445d0dec791231"
|| jeiFiles[0].hashes?.sha512 != "1227f2b24e0f8745140b35b34de0ade146babe3b85ea57c49b08b05d2ef6a1ee5f9358f5795505904ddbbd1e359bc478e0c67b2115ce697996b95f9516f9ebbb"
|| jeiFiles[0].hashes?.sha1 != "35353e18b1cf2a61339463447fce1f3e2f716b80"
|| jeiFiles[0].hashes?.sha512 != "aa7dca89026fea2293a2e25fa4a84faf0eeaa6407b7e84991e69626ff1ee0f9df9ba3a5e096cbf631d08842693b115653c5c8373e5ef3953318a892dbdc0a33d"
|| jeiFiles[0].env?.client != "required" || jeiFiles[0].env?.server != "required") {
throw new GradleException("The alpha.88 progression, JEI and Minecrafter audio contract is incomplete")
}
@@ -3427,7 +3428,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.207"
if (rootProject.pack_version != "26.2.0-alpha.208"
|| rootProject.sanctuary_version != "0.0.0-alpha.117"
|| rootProject.onlyfun_version != "0.0.0-alpha.20"
|| release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version
@@ -3477,7 +3478,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.207"
if (rootProject.pack_version != "26.2.0-alpha.208"
|| rootProject.anotherworld_version != "0.0.0-alpha.55"
|| rootProject.redstoner_version != "0.0.0-alpha.10"
|| release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version
@@ -4125,7 +4126,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.207"
if (rootProject.pack_version != "26.2.0-alpha.208"
|| rootProject.onlyfun_version != "0.0.0-alpha.20"
|| rootProject.sanctuary_version != "0.0.0-alpha.117"
|| release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version
@@ -4170,7 +4171,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.207"
if (rootProject.pack_version != "26.2.0-alpha.208"
|| rootProject.itsalive_version != "0.0.0-alpha.33"
|| release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version
|| migration.source?.pack_version != "26.2.0-alpha.193"
@@ -4219,7 +4220,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.207"
if (rootProject.pack_version != "26.2.0-alpha.208"
|| rootProject.onlyfun_version != "0.0.0-alpha.20"
|| rootProject.sanctuary_version != "0.0.0-alpha.117"
|| release.pack_version != rootProject.pack_version || index.versionId != rootProject.pack_version
@@ -4265,7 +4266,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.207"
if (rootProject.pack_version != "26.2.0-alpha.208"
|| migration.source?.pack_version != "26.2.0-alpha.195"
|| migration.target?.pack_version != "26.2.0-alpha.196"
|| migration.target?.modules != [
@@ -4283,10 +4284,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.207"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.207.mrpack"
|| prism.versionId != "26.2.0-alpha.207"
|| !packwiz.contains('version = "26.2.0-alpha.207"')) {
|| release.pack_version != "26.2.0-alpha.208"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.208.mrpack"
|| prism.versionId != "26.2.0-alpha.208"
|| !packwiz.contains('version = "26.2.0-alpha.208"')) {
throw new GradleException("The alpha.196 culinary, mailbox and grapple release contract is incomplete")
}
}
@@ -4311,7 +4312,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.207"
if (rootProject.pack_version != "26.2.0-alpha.208"
|| rootProject.itsalive_version != "0.0.0-alpha.33"
|| rootProject.sanctuary_version != "0.0.0-alpha.117"
|| migration.source?.pack_version != "26.2.0-alpha.196"
@@ -4331,10 +4332,10 @@ tasks.register("verifyQuestRequestsCauldronBatchesRelease") {
|| migration.distribution?.jei?.target != "30.26.0.186"
|| migration.compatibility?.sanctuary_target_network_protocol != 19
|| sanctuaryManifest.custom?.sanctuary26?.network_protocol != 21
|| release.pack_version != "26.2.0-alpha.207"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.207.mrpack"
|| prism.versionId != "26.2.0-alpha.207"
|| !packwiz.contains('version = "26.2.0-alpha.207"')) {
|| release.pack_version != "26.2.0-alpha.208"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.208.mrpack"
|| prism.versionId != "26.2.0-alpha.208"
|| !packwiz.contains('version = "26.2.0-alpha.208"')) {
throw new GradleException("The alpha.197 quest-request and cauldron-batch release contract is incomplete")
}
}
@@ -4361,7 +4362,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.207"
if (rootProject.pack_version != "26.2.0-alpha.208"
|| rootProject.itsalive_version != "0.0.0-alpha.33"
|| migration.source?.pack_version != "26.2.0-alpha.197"
|| migration.target?.pack_version != "26.2.0-alpha.198"
@@ -4380,11 +4381,11 @@ tasks.register("verifyFermentationBarrelAutomationRelease") {
|| migration.distribution?.packwiz_index_refreshed != true
|| itsAliveManifest.custom?.sanctuary26?.data_version != 2
|| itsAliveManifest.custom?.sanctuary26?.network_protocol != 4
|| release.pack_version != "26.2.0-alpha.207"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.207.mrpack"
|| prism.versionId != "26.2.0-alpha.207"
|| !packwiz.contains('version = "26.2.0-alpha.207"')
|| !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.31.jar"')) {
|| release.pack_version != "26.2.0-alpha.208"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.208.mrpack"
|| prism.versionId != "26.2.0-alpha.208"
|| !packwiz.contains('version = "26.2.0-alpha.208"')
|| !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.33.jar"')) {
throw new GradleException("The alpha.198 fermentation barrel release contract is incomplete")
}
}
@@ -4411,7 +4412,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.207"
if (rootProject.pack_version != "26.2.0-alpha.208"
|| rootProject.itsalive_version != "0.0.0-alpha.33"
|| rootProject.sanctuary_version != "0.0.0-alpha.117"
|| migration.source?.pack_version != "26.2.0-alpha.198"
@@ -4425,11 +4426,11 @@ tasks.register("verifyQuestRequestContractsRelease") {
|| migration.quest_request_contracts?.chat_accept_revalidates_distance_owner_sign_and_claim != true
|| migration.compatibility?.sanctuary_target_network_protocol != 20
|| sanctuaryManifest.custom?.sanctuary26?.network_protocol != 21
|| release.pack_version != "26.2.0-alpha.207"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.207.mrpack"
|| prism.versionId != "26.2.0-alpha.207"
|| !packwiz.contains('version = "26.2.0-alpha.207"')
|| !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.31.jar"')
|| release.pack_version != "26.2.0-alpha.208"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.208.mrpack"
|| prism.versionId != "26.2.0-alpha.208"
|| !packwiz.contains('version = "26.2.0-alpha.208"')
|| !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.33.jar"')
|| !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.117.jar"')) {
throw new GradleException("The alpha.199 quest-request contract release is incomplete")
}
@@ -4466,7 +4467,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.207"
if (rootProject.pack_version != "26.2.0-alpha.208"
|| rootProject.ambiance_version != "0.0.0-alpha.14"
|| rootProject.ouch_version != "0.0.0-alpha.9"
|| migration.source?.pack_version != "26.2.0-alpha.199"
@@ -4500,11 +4501,11 @@ tasks.register("verifyWeatherTntAmbianceRelease") {
|| !weatherTnt.contains("AmbianceDailyWeather.CLEAR")
|| !weatherTnt.contains("CLEAR_WEATHER_TICKS = 864_000")
|| weatherTnt.contains("setWeatherParameters")
|| release.pack_version != "26.2.0-alpha.207"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.207.mrpack"
|| prism.versionId != "26.2.0-alpha.207"
|| !packwiz.contains('version = "26.2.0-alpha.207"')
|| !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.12.jar"')
|| release.pack_version != "26.2.0-alpha.208"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.208.mrpack"
|| prism.versionId != "26.2.0-alpha.208"
|| !packwiz.contains('version = "26.2.0-alpha.208"')
|| !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.14.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")
}
@@ -4532,7 +4533,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.207"
if (rootProject.pack_version != "26.2.0-alpha.208"
|| rootProject.sanctuary_version != "0.0.0-alpha.117"
|| migration.source?.pack_version != "26.2.0-alpha.200"
|| migration.source?.modules?.sanctuary != "0.0.0-alpha.115"
@@ -4547,10 +4548,10 @@ tasks.register("verifyQuestRequestEscrowRelease") {
|| migration.compatibility?.sanctuary_target_network_protocol != 21
|| sanctuaryManifest.custom?.sanctuary26?.data_version != 11
|| sanctuaryManifest.custom?.sanctuary26?.network_protocol != 21
|| release.pack_version != "26.2.0-alpha.207"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.207.mrpack"
|| prism.versionId != "26.2.0-alpha.207"
|| !packwiz.contains('version = "26.2.0-alpha.207"')
|| release.pack_version != "26.2.0-alpha.208"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.208.mrpack"
|| prism.versionId != "26.2.0-alpha.208"
|| !packwiz.contains('version = "26.2.0-alpha.208"')
|| !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.117.jar"')) {
throw new GradleException("The alpha.201 quest-request escrow release is incomplete")
}
@@ -4586,7 +4587,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.207"
if (rootProject.pack_version != "26.2.0-alpha.208"
|| rootProject.anotherworld_version != "0.0.0-alpha.55"
|| rootProject.itsalive_version != "0.0.0-alpha.33"
|| rootProject.iliketomoveit_version != "0.0.0-alpha.14"
@@ -4626,12 +4627,12 @@ tasks.register("verifyWaystoneShopCulinaryAlpha202Release") {
|| moveItManifest.custom?.sanctuary26?.network_protocol != 5
|| sanctuaryManifest.custom?.sanctuary26?.data_version != 11
|| sanctuaryManifest.custom?.sanctuary26?.network_protocol != 21
|| release.pack_version != "26.2.0-alpha.207"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.207.mrpack"
|| prism.versionId != "26.2.0-alpha.207"
|| !packwiz.contains('version = "26.2.0-alpha.207"')
|| release.pack_version != "26.2.0-alpha.208"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.208.mrpack"
|| prism.versionId != "26.2.0-alpha.208"
|| !packwiz.contains('version = "26.2.0-alpha.208"')
|| !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"')
|| !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.31.jar"')
|| !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.33.jar"')
|| !packwizIndex.contains('file = "mods/iliketomoveit-0.0.0-alpha.14.jar"')
|| !packwizIndex.contains('file = "mods/sanctuary-0.0.0-alpha.117.jar"')) {
throw new GradleException("The alpha.202 Waystone, Shop and culinary lectern release is incomplete")
@@ -4746,7 +4747,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.207"
if (rootProject.pack_version != "26.2.0-alpha.208"
|| rootProject.anotherworld_version != "0.0.0-alpha.55"
|| rootProject.sanctuary_version != "0.0.0-alpha.117"
|| migration.schema_version != 1
@@ -4937,8 +4938,8 @@ tasks.register("verifySafeVaultInterfaceAlpha203Release") {
def prism = new JsonSlurper().parse(file("pack/prism/modrinth.index.json"))
def packwiz = file("pack/packwiz/pack.toml").text
def packwizIndex = file("pack/packwiz/index.toml").text
def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.27.0.189.jar" }
if (rootProject.pack_version != "26.2.0-alpha.207"
def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.28.0.191.jar" }
if (rootProject.pack_version != "26.2.0-alpha.208"
|| 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"]
@@ -4956,14 +4957,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.207.mrpack"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.208.mrpack"
|| prism.versionId != rootProject.pack_version
|| !packwiz.contains('version = "26.2.0-alpha.207"')
|| !packwiz.contains('version = "26.2.0-alpha.208"')
|| !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"')
|| packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.50.jar"')
|| jeiFiles.size() != 1
|| jeiFiles[0].hashes?.sha1 != "821b8b69e67226539328de77e4445d0dec791231"
|| jeiFiles[0].hashes?.sha512 != "1227f2b24e0f8745140b35b34de0ade146babe3b85ea57c49b08b05d2ef6a1ee5f9358f5795505904ddbbd1e359bc478e0c67b2115ce697996b95f9516f9ebbb") {
|| jeiFiles[0].hashes?.sha1 != "35353e18b1cf2a61339463447fce1f3e2f716b80"
|| jeiFiles[0].hashes?.sha512 != "aa7dca89026fea2293a2e25fa4a84faf0eeaa6407b7e84991e69626ff1ee0f9df9ba3a5e096cbf631d08842693b115653c5c8373e5ef3953318a892dbdc0a33d") {
throw new GradleException("The alpha.203 upright safe-vault interface release is incomplete")
}
}
@@ -4983,8 +4984,8 @@ tasks.register("verifySafeVaultFixAlpha204Release") {
def prism = new JsonSlurper().parse(file("pack/prism/modrinth.index.json"))
def packwiz = file("pack/packwiz/pack.toml").text
def packwizIndex = file("pack/packwiz/index.toml").text
def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.27.0.189.jar" }
if (rootProject.pack_version != "26.2.0-alpha.207"
def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.28.0.191.jar" }
if (rootProject.pack_version != "26.2.0-alpha.208"
|| 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"]
@@ -5010,14 +5011,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.207.mrpack"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.208.mrpack"
|| prism.versionId != rootProject.pack_version
|| !packwiz.contains('version = "26.2.0-alpha.207"')
|| !packwiz.contains('version = "26.2.0-alpha.208"')
|| !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"')
|| packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.51.jar"')
|| jeiFiles.size() != 1
|| jeiFiles[0].hashes?.sha1 != "821b8b69e67226539328de77e4445d0dec791231"
|| jeiFiles[0].hashes?.sha512 != "1227f2b24e0f8745140b35b34de0ade146babe3b85ea57c49b08b05d2ef6a1ee5f9358f5795505904ddbbd1e359bc478e0c67b2115ce697996b95f9516f9ebbb") {
|| jeiFiles[0].hashes?.sha1 != "35353e18b1cf2a61339463447fce1f3e2f716b80"
|| jeiFiles[0].hashes?.sha512 != "aa7dca89026fea2293a2e25fa4a84faf0eeaa6407b7e84991e69626ff1ee0f9df9ba3a5e096cbf631d08842693b115653c5c8373e5ef3953318a892dbdc0a33d") {
throw new GradleException("The alpha.204 Safe Block finalization release is incomplete")
}
}
@@ -5037,8 +5038,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.27.0.189.jar" }
if (rootProject.pack_version != "26.2.0-alpha.207"
def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.28.0.191.jar" }
if (rootProject.pack_version != "26.2.0-alpha.208"
|| 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"]
@@ -5067,14 +5068,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.207.mrpack"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.208.mrpack"
|| prism.versionId != rootProject.pack_version
|| !packwiz.contains('version = "26.2.0-alpha.207"')
|| !packwiz.contains('version = "26.2.0-alpha.208"')
|| !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"')
|| packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.52.jar"')
|| jeiFiles.size() != 1
|| jeiFiles[0].hashes?.sha1 != "821b8b69e67226539328de77e4445d0dec791231"
|| jeiFiles[0].hashes?.sha512 != "1227f2b24e0f8745140b35b34de0ade146babe3b85ea57c49b08b05d2ef6a1ee5f9358f5795505904ddbbd1e359bc478e0c67b2115ce697996b95f9516f9ebbb") {
|| jeiFiles[0].hashes?.sha1 != "35353e18b1cf2a61339463447fce1f3e2f716b80"
|| jeiFiles[0].hashes?.sha512 != "aa7dca89026fea2293a2e25fa4a84faf0eeaa6407b7e84991e69626ff1ee0f9df9ba3a5e096cbf631d08842693b115653c5c8373e5ef3953318a892dbdc0a33d") {
throw new GradleException("The alpha.205 hollow safe-vault cube release is incomplete")
}
}
@@ -5095,8 +5096,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.27.0.189.jar" }
if (rootProject.pack_version != "26.2.0-alpha.207"
def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.28.0.191.jar" }
if (rootProject.pack_version != "26.2.0-alpha.208"
|| 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"]
@@ -5119,14 +5120,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.207.mrpack"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.208.mrpack"
|| prism.versionId != rootProject.pack_version
|| !packwiz.contains('version = "26.2.0-alpha.207"')
|| !packwiz.contains('version = "26.2.0-alpha.208"')
|| !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"')
|| packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.53.jar"')
|| jeiFiles.size() != 1
|| jeiFiles[0].hashes?.sha1 != "821b8b69e67226539328de77e4445d0dec791231"
|| jeiFiles[0].hashes?.sha512 != "1227f2b24e0f8745140b35b34de0ade146babe3b85ea57c49b08b05d2ef6a1ee5f9358f5795505904ddbbd1e359bc478e0c67b2115ce697996b95f9516f9ebbb") {
|| jeiFiles[0].hashes?.sha1 != "35353e18b1cf2a61339463447fce1f3e2f716b80"
|| jeiFiles[0].hashes?.sha512 != "aa7dca89026fea2293a2e25fa4a84faf0eeaa6407b7e84991e69626ff1ee0f9df9ba3a5e096cbf631d08842693b115653c5c8373e5ef3953318a892dbdc0a33d") {
throw new GradleException("The alpha.206 Safe Block CTM column release is incomplete")
}
}
@@ -5147,8 +5148,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.27.0.189.jar" }
if (rootProject.pack_version != "26.2.0-alpha.207"
def jeiFiles = prism.files.findAll { it.path == "mods/jei-26.2-fabric-30.28.0.191.jar" }
if (rootProject.pack_version != "26.2.0-alpha.208"
|| 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"]
@@ -5178,14 +5179,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.207.mrpack"
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.208.mrpack"
|| prism.versionId != rootProject.pack_version
|| !packwiz.contains('version = "26.2.0-alpha.207"')
|| !packwiz.contains('version = "26.2.0-alpha.208"')
|| !packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.55.jar"')
|| packwizIndex.contains('file = "mods/anotherworld-0.0.0-alpha.54.jar"')
|| jeiFiles.size() != 1
|| jeiFiles[0].hashes?.sha1 != "821b8b69e67226539328de77e4445d0dec791231"
|| jeiFiles[0].hashes?.sha512 != "1227f2b24e0f8745140b35b34de0ade146babe3b85ea57c49b08b05d2ef6a1ee5f9358f5795505904ddbbd1e359bc478e0c67b2115ce697996b95f9516f9ebbb") {
|| jeiFiles[0].hashes?.sha1 != "35353e18b1cf2a61339463447fce1f3e2f716b80"
|| jeiFiles[0].hashes?.sha512 != "aa7dca89026fea2293a2e25fa4a84faf0eeaa6407b7e84991e69626ff1ee0f9df9ba3a5e096cbf631d08842693b115653c5c8373e5ef3953318a892dbdc0a33d") {
throw new GradleException("The alpha.207 unlimited safe-vault balance release is incomplete")
}
}
@@ -5236,7 +5237,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.207"
if (rootProject.pack_version != "26.2.0-alpha.208"
|| rootProject.itsalive_version != "0.0.0-alpha.33"
|| rootProject.ambiance_version != "0.0.0-alpha.14"
|| migration.issue != 35
@@ -5301,6 +5302,7 @@ tasks.register("verifyCanapliaFoundation") {
tasks.named("verifyWorkspace") {
dependsOn "verifyCanapliaGameplay"
dependsOn "verifyCanapliaAlpha208Release"
dependsOn tasks.named("verifyWaystoneShopCulinaryAlpha202Release")
dependsOn tasks.named("verifySafeVaultFeature")
dependsOn tasks.named("verifySafeVaultInterfaceAlpha203Release")
@@ -5425,6 +5427,82 @@ tasks.register("verifyCanapliaGameplay") {
}
}
tasks.register("verifyCanapliaAlpha208Release") {
group = "verification"
description = "Checks the Sanctuary 26.2.0-alpha.208 Canaplia distribution release."
inputs.file(file("pack/migrations/26.2.0-alpha.207-canaplia-to-alpha.208.json"))
inputs.file(file("pack/release.json"))
inputs.file(file("pack/prism/modrinth.index.json"))
inputs.file(file("pack/packwiz/pack.toml"))
inputs.file(file("pack/packwiz/index.toml"))
doLast {
def migration = new JsonSlurper().parse(file(
"pack/migrations/26.2.0-alpha.207-canaplia-to-alpha.208.json"))
def release = new JsonSlurper().parse(file("pack/release.json"))
def prism = new JsonSlurper().parse(file("pack/prism/modrinth.index.json"))
def packwiz = file("pack/packwiz/pack.toml").text
def packwizIndex = file("pack/packwiz/index.toml").text
def jeiFiles = prism.files.findAll {
it.path == "mods/jei-26.2-fabric-30.28.0.191.jar"
}
def expectedSource = [
ambiance: "0.0.0-alpha.12",
itsalive: "0.0.0-alpha.31",
onlyfun: "0.0.0-alpha.19"]
def expectedTarget = [
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.208"
|| rootProject.ambiance_version != expectedTarget.ambiance
|| rootProject.itsalive_version != expectedTarget.itsalive
|| rootProject.onlyfun_version != expectedTarget.onlyfun
|| migration.source?.pack_version != "26.2.0-alpha.207"
|| migration.source?.modules != expectedSource
|| migration.target?.pack_version != "26.2.0-alpha.208"
|| migration.target?.modules != expectedTarget
|| migration.canaplia?.namespace != "canaplia"
|| migration.canaplia?.provided_by != "itsalive"
|| migration.canaplia?.variant_count != 16
|| migration.canaplia?.existing_chunks_supported != true
|| migration.canaplia?.server_authoritative_hybridization != true
|| migration.canaplia?.deterministic_composting != true
|| migration.canaplia?.codex_personal_and_shared != true
|| migration.canaplia?.visual_owner != "ambiance"
|| migration.canaplia?.shop_and_lootbox_excluded != true
|| migration.compatibility?.new_world_required != false
|| migration.compatibility?.historical_registry_ids_preserved != true
|| migration.compatibility?.save_reset_required != false
|| migration.compatibility?.itsalive_target_data_version != 2
|| migration.compatibility?.itsalive_target_network_protocol != 4
|| migration.compatibility?.ambiance_target_network_protocol != 5
|| migration.compatibility?.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.27.0.189"
|| migration.distribution?.jei?.target != "30.28.0.191"
|| migration.distribution?.jei?.release_type != "beta"
|| migration.distribution?.jei?.modrinth_version_id != "FQUVLzeD"
|| migration.distribution?.jei?.packwiz_and_prism_synchronized != true
|| release.pack_version != rootProject.pack_version
|| release.modrinth?.primary_file != "sanctuary-26.2.0-alpha.208.mrpack"
|| prism.versionId != rootProject.pack_version
|| !packwiz.contains('version = "26.2.0-alpha.208"')
|| !packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.14.jar"')
|| !packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.33.jar"')
|| !packwizIndex.contains('file = "mods/onlyfun-0.0.0-alpha.20.jar"')
|| packwizIndex.contains('file = "mods/ambiance-0.0.0-alpha.12.jar"')
|| packwizIndex.contains('file = "mods/itsalive-0.0.0-alpha.31.jar"')
|| packwizIndex.contains('file = "mods/onlyfun-0.0.0-alpha.19.jar"')
|| jeiFiles.size() != 1
|| jeiFiles[0].hashes?.sha1 != "35353e18b1cf2a61339463447fce1f3e2f716b80"
|| jeiFiles[0].hashes?.sha512 != "aa7dca89026fea2293a2e25fa4a84faf0eeaa6407b7e84991e69626ff1ee0f9df9ba3a5e096cbf631d08842693b115653c5c8373e5ef3953318a892dbdc0a33d") {
throw new GradleException("The alpha.208 Canaplia distribution release is incomplete")
}
}
}
tasks.named("check") {
dependsOn tasks.named("verifyWorkspace")
dependsOn tasks.named("verifyTransport")
+1 -1
View File
@@ -30,5 +30,5 @@ onlyfun_version=0.0.0-alpha.20
onlyfun_lifecycle=active
sanctuary_version=0.0.0-alpha.117
sanctuary_lifecycle=active
pack_version=26.2.0-alpha.207
pack_version=26.2.0-alpha.208
maven_group=fr.koka99cab.sanctuary26
@@ -0,0 +1,66 @@
{
"schema_version": 1,
"source": {
"pack_version": "26.2.0-alpha.207",
"modules": {
"ambiance": "0.0.0-alpha.12",
"itsalive": "0.0.0-alpha.31",
"onlyfun": "0.0.0-alpha.19"
}
},
"target": {
"pack_version": "26.2.0-alpha.208",
"modules": {
"ambiance": "0.0.0-alpha.14",
"itsalive": "0.0.0-alpha.33",
"onlyfun": "0.0.0-alpha.20"
}
},
"canaplia": {
"namespace": "canaplia",
"provided_by": "itsalive",
"variant_count": 16,
"wild_discovery_data_driven": true,
"existing_chunks_supported": true,
"server_authoritative_hybridization": true,
"deterministic_composting": true,
"resin_aura_seconds": 90,
"codex_personal_and_shared": true,
"visual_owner": "ambiance",
"shop_and_lootbox_excluded": true
},
"compatibility": {
"new_world_required": false,
"historical_registry_ids_preserved": true,
"save_reset_required": false,
"composter_legacy_data_migrated": true,
"codex_unknown_future_keys_preserved": true,
"itsalive_source_data_version": 1,
"itsalive_target_data_version": 2,
"itsalive_source_network_protocol": 3,
"itsalive_target_network_protocol": 4,
"ambiance_data_version": 2,
"ambiance_source_network_protocol": 4,
"ambiance_target_network_protocol": 5,
"onlyfun_data_version": 2,
"onlyfun_network_protocol": 2,
"pack_release_updated": true
},
"distribution": {
"packwiz_index_refreshed": true,
"prism_modrinth_index_updated": true,
"shared_client_server_mrpack": true,
"modules_present_on_client_and_server": [
"ambiance",
"itsalive",
"onlyfun"
],
"jei": {
"source": "30.27.0.189",
"target": "30.28.0.191",
"release_type": "beta",
"modrinth_version_id": "FQUVLzeD",
"packwiz_and_prism_synchronized": true
}
}
}
+14 -14
View File
@@ -13,16 +13,16 @@ file = "instance-icon.png"
hash = "41f4f4c88c71d0a23446d5014f7407d55ad477441847099cad24492b032335a0"
[[files]]
file = "mods/ambiance-0.0.0-alpha.12.jar"
hash = "9ddc7a915ade2c8ea2794843ffdcaa14c3f71175c6dbf340edbb81b24e947de1"
file = "mods/ambiance-0.0.0-alpha.14.jar"
hash = "f011bc89fb65d921e2478e42f0ff2c8b9beca08c09f2b81400d2189902c568bf"
[[files]]
file = "mods/anotherworld-0.0.0-alpha.55.jar"
hash = "9a06d500dd481f9186cd5927cb4b5186b1403cf295da6b5faa221191ac622e95"
hash = "156a9b265866cbc5844ad798bad3fc5947151805cf72faf7f02a6b117a60e99c"
[[files]]
file = "mods/events-0.0.0-alpha.0.jar"
hash = "f23618c8bb917b47c2e2b5ad2f7d25ae337d58309571b896ec5a3f10ccf01641"
hash = "b103e85156caa23f47b23f151490d2c74580e7d4a0af60da788dd54390554378"
[[files]]
file = "mods/fabric-api.pw.toml"
@@ -31,7 +31,7 @@ metafile = true
[[files]]
file = "mods/iliketomoveit-0.0.0-alpha.14.jar"
hash = "532a847a29a693fb761979802b5014fb2c76c98f648db84e4fa73c20ddcf34ca"
hash = "b800e3d67deb7aede32cdb6bed2b4dbf22e081361d34ad3313c865123a0e2e04"
[[files]]
file = "mods/iris.pw.toml"
@@ -39,33 +39,33 @@ hash = "84a3cef87679c0d21dceb4641167dc0368b9a3593698f6a3632485e9b3a8d5da"
metafile = true
[[files]]
file = "mods/itsalive-0.0.0-alpha.31.jar"
hash = "b159c873dedbebe2957589bdb093bf00bc47e777fe8ccd4ef3223c6f20df3cae"
file = "mods/itsalive-0.0.0-alpha.33.jar"
hash = "12e5bc4576915d6c779f2cc05bed68a27c028eb8ca2a0d6c7a64271c1dd346f1"
[[files]]
file = "mods/jei.pw.toml"
hash = "375a4ae6ec814a9597a41974e981e6f2d127417a576aa44faf3dff6e4ddc1831"
hash = "a6f7f6eaec2aa5842c54f8c9c4a228b028e99b680eb4e9112291763692027fd4"
metafile = true
[[files]]
file = "mods/masterkey-0.0.0-alpha.8.jar"
hash = "cb505c9c3373b501ec9bc86cc7ce8ca6eaed6ec84e6f5368c4aa49a7a4d5256d"
hash = "d073fec06ceb577b3d3b06c14a439864d36504505bec36f111df984231cf91e7"
[[files]]
file = "mods/onlyfun-0.0.0-alpha.19.jar"
hash = "08bba338f18f41dd0e74127568b4b6a9e0a8120f828d3e29a794316fc7cc2c9c"
file = "mods/onlyfun-0.0.0-alpha.20.jar"
hash = "742f32d22ca2620fb53003adfe129c6d5fd75bfe8a2fbcf18d72196b68f6f411"
[[files]]
file = "mods/ouch-0.0.0-alpha.9.jar"
hash = "6010171e2ad336ad055ccd018d8b4091393163dccbc0d0ee93a34a028b80477a"
hash = "5885626adb81c7abbcda940d36d1eefc18a2c84c4ec3482ec6b11bbea44ef392"
[[files]]
file = "mods/redstoner-0.0.0-alpha.10.jar"
hash = "a081a3f7b9364a438b9aa52ce2641b1e322ee74397aa8ab9aabcf132da8c1073"
hash = "74af62ddf8848eb1dbcc8010dd25b8dfa53cb4bdea9344a8ff8c7bcf8cc0fb60"
[[files]]
file = "mods/sanctuary-0.0.0-alpha.117.jar"
hash = "3743309c249941c905c6b40b1b9f72dfed30805b359775fb53d6e70ec1df24b6"
hash = "5b7a50949e8a5587d169ee7d75fb7f71d4db8ca7c8e334c1146430b60d4b72c1"
[[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.27.0.189.jar"
filename = "jei-26.2-fabric-30.28.0.191.jar"
side = "both"
pin = true
[download]
url = "https://cdn.modrinth.com/data/u6dRKJwZ/versions/NtfJDMhk/jei-26.2-fabric-30.27.0.189.jar"
url = "https://cdn.modrinth.com/data/u6dRKJwZ/versions/FQUVLzeD/jei-26.2-fabric-30.28.0.191.jar"
hash-format = "sha512"
hash = "1227f2b24e0f8745140b35b34de0ade146babe3b85ea57c49b08b05d2ef6a1ee5f9358f5795505904ddbbd1e359bc478e0c67b2115ce697996b95f9516f9ebbb"
hash = "aa7dca89026fea2293a2e25fa4a84faf0eeaa6407b7e84991e69626ff1ee0f9df9ba3a5e096cbf631d08842693b115653c5c8373e5ef3953318a892dbdc0a33d"
[update]
[update.modrinth]
mod-id = "u6dRKJwZ"
version = "NtfJDMhk"
version = "FQUVLzeD"
+2 -2
View File
@@ -1,12 +1,12 @@
name = "Sanctuary 26.2"
author = "KOKA99CAB"
version = "26.2.0-alpha.207"
version = "26.2.0-alpha.208"
pack-format = "packwiz:1.1.0"
[index]
file = "index.toml"
hash-format = "sha256"
hash = "651f85fb1745d6455a713dd53e0edd1aa052797fb64f4a73e5ec2c6e4efb3321"
hash = "cda9e778609d6f9ddce0bf8d5ef9ba820c29268e888e51053fffbc7887d51232"
[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.207",
"versionId": "26.2.0-alpha.208",
"files": [
{
"path": "mods/fabric-api-0.158.0+26.2.jar",
@@ -21,19 +21,19 @@
"fileSize": 2535765
},
{
"path": "mods/jei-26.2-fabric-30.27.0.189.jar",
"path": "mods/jei-26.2-fabric-30.28.0.191.jar",
"hashes": {
"sha1": "821b8b69e67226539328de77e4445d0dec791231",
"sha512": "1227f2b24e0f8745140b35b34de0ade146babe3b85ea57c49b08b05d2ef6a1ee5f9358f5795505904ddbbd1e359bc478e0c67b2115ce697996b95f9516f9ebbb"
"sha1": "35353e18b1cf2a61339463447fce1f3e2f716b80",
"sha512": "aa7dca89026fea2293a2e25fa4a84faf0eeaa6407b7e84991e69626ff1ee0f9df9ba3a5e096cbf631d08842693b115653c5c8373e5ef3953318a892dbdc0a33d"
},
"env": {
"client": "required",
"server": "required"
},
"downloads": [
"https://cdn.modrinth.com/data/u6dRKJwZ/versions/NtfJDMhk/jei-26.2-fabric-30.27.0.189.jar"
"https://cdn.modrinth.com/data/u6dRKJwZ/versions/FQUVLzeD/jei-26.2-fabric-30.28.0.191.jar"
],
"fileSize": 1818140
"fileSize": 1822520
},
{
"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.207",
"pack_version": "26.2.0-alpha.208",
"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.207.mrpack",
"primary_file": "sanctuary-26.2.0-alpha.208.mrpack",
"shared_client_server_pack": true,
"update_owner": "packwiz-installer",
"check_on_launch": true,