From 66e4ce10a3fa9307c4433aeef100a4f94d30f4c4 Mon Sep 17 00:00:00 2001 From: Acuadragon100 <30689683+Acuadragon100@users.noreply.github.com> Date: Fri, 3 Apr 2026 23:18:23 +0200 Subject: [PATCH 1/2] Update AsmFabricLoader --- build.gradle.kts | 8 ++++++-- gradle.properties | 4 ++-- loader | 2 +- .../kilt/loader/asm/KiltInstrumentationHandler.kt | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index de6ef0011..684a2e4f7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -100,6 +100,10 @@ allprojects { name = "devOS Maven" } + maven("https://maven.florianreuth.de/snapshots") { + name = "AsmFabricLoader" + } + maven("https://mvn.devos.one/snapshots/") { name = "devOS Maven (Snapshots)" } @@ -223,7 +227,7 @@ allprojects { implementation(annotationProcessor("com.github.bawnorton.mixinsquared:mixinsquared-fabric:${rootProject.property("mixin_squared_version")}") { exclude("org.ow2.asm") }) - modApi("xyz.bluspring:AsmFabricLoader:${property("asmfabricloader_version")}") { + modApi("de.florianreuth:asmfabricloader:${property("asmfabricloader_version")}") { exclude("org.ow2.asm") } } @@ -242,7 +246,7 @@ dependencies { include("com.github.FabricCompatibilityLayers.CursedMixinExtensions:CursedMixinExtensions:${property("cursedmixinextensions_version")}") include("com.github.Chocohead:Fabric-ASM:v${property("fabric_asm_version")}") include("com.github.bawnorton.mixinsquared:mixinsquared-fabric:${rootProject.property("mixin_squared_version")}") - include("xyz.bluspring:AsmFabricLoader:${property("asmfabricloader_version")}") + include("de.florianreuth:asmfabricloader:${property("asmfabricloader_version")}") include("com.moulberry:mixinconstraints:${rootProject.property("mixinconstraints_version")}") { exclude("org.spongepowered", "mixin") } diff --git a/gradle.properties b/gradle.properties index 6314cd972..b111e35b5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -49,8 +49,8 @@ fabric_asm_version=2.3 # https://github.com/Bawnorton/MixinSquared/releases mixin_squared_version=0.3.3 -# custom fork https://mvn.devos.one/#/snapshots/xyz/bluspring/AsmFabricLoader -asmfabricloader_version=2.0.2-SNAPSHOT +# https://maven.florianreuth.de/#/snapshots/de/florianreuth/asmfabricloader +asmfabricloader_version=2.1.1-SNAPSHOT # https://github.com/Moulberry/MixinConstraints mixinconstraints_version=1.0.8 diff --git a/loader b/loader index 721d0e15d..5ff160d7a 160000 --- a/loader +++ b/loader @@ -1 +1 @@ -Subproject commit 721d0e15dca7b6b562a495ea4d278d3e4d226566 +Subproject commit 5ff160d7a3243a355dddf5ceda009675b2da2041 diff --git a/src/main/kotlin/xyz/bluspring/kilt/loader/asm/KiltInstrumentationHandler.kt b/src/main/kotlin/xyz/bluspring/kilt/loader/asm/KiltInstrumentationHandler.kt index ec1b2a670..b2efe3a60 100644 --- a/src/main/kotlin/xyz/bluspring/kilt/loader/asm/KiltInstrumentationHandler.kt +++ b/src/main/kotlin/xyz/bluspring/kilt/loader/asm/KiltInstrumentationHandler.kt @@ -1,6 +1,6 @@ package xyz.bluspring.kilt.loader.asm -import de.florianmichael.asmfabricloader.api.event.InstrumentationEntrypoint +import de.florianreuth.asmfabricloader.api.event.InstrumentationEntrypoint import org.objectweb.asm.ClassReader import org.objectweb.asm.ClassWriter import org.objectweb.asm.Opcodes From d87abd1340096c50bf16dddd04584be9b2300307 Mon Sep 17 00:00:00 2001 From: Acuadragon100 <30689683+Acuadragon100@users.noreply.github.com> Date: Sun, 29 Mar 2026 21:24:30 +0200 Subject: [PATCH 2/2] Add KnitAPI implementation for handling AutoModpack. --- compat/fabric-compats/build.gradle.kts | 2 ++ compat/fabric-compats/gradle.properties | 5 ++++- .../fabric/KiltFabricCompatsKnitExtension.kt | 20 +++++++++++++++++++ .../automodpack/KiltAutoModpackCompat.kt | 11 ++++++++++ ...it.loader.api.KnitNativeModCompatExtension | 1 + 5 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 compat/fabric-compats/src/main/kotlin/xyz/bluspring/kilt/compat/fabric/KiltFabricCompatsKnitExtension.kt create mode 100644 compat/fabric-compats/src/main/kotlin/xyz/bluspring/kilt/compat/fabric/automodpack/KiltAutoModpackCompat.kt create mode 100644 compat/fabric-compats/src/main/resources/META-INF/services/xyz.bluspring.knit.loader.api.KnitNativeModCompatExtension diff --git a/compat/fabric-compats/build.gradle.kts b/compat/fabric-compats/build.gradle.kts index 324d61b4a..b7e355eeb 100644 --- a/compat/fabric-compats/build.gradle.kts +++ b/compat/fabric-compats/build.gradle.kts @@ -36,6 +36,8 @@ dependencies { modCompileOnly("maven.modrinth:pehkui:${property("pehkui_version")}") modCompileOnly("dev.architectury:architectury-fabric:${property("architectury_version")}") + + modCompileOnly("maven.modrinth:automodpack:${property("automodpack_version")}") } tasks { diff --git a/compat/fabric-compats/gradle.properties b/compat/fabric-compats/gradle.properties index 804a97ee7..e173dc8e8 100644 --- a/compat/fabric-compats/gradle.properties +++ b/compat/fabric-compats/gradle.properties @@ -39,4 +39,7 @@ invmove_version = 0.9.2+1.21.1-fabric pehkui_version = 3.8.3+1.14.4-1.21 # https://modrinth.com/mod/architectury-api/versions?g=1.21.1 -architectury_version = 13.0.8 \ No newline at end of file +architectury_version = 13.0.8 + +# https://modrinth.com/mod/automodpack/versions?g=1.21.1 +automodpack_version=4.0.5-fabric,1.21.1 \ No newline at end of file diff --git a/compat/fabric-compats/src/main/kotlin/xyz/bluspring/kilt/compat/fabric/KiltFabricCompatsKnitExtension.kt b/compat/fabric-compats/src/main/kotlin/xyz/bluspring/kilt/compat/fabric/KiltFabricCompatsKnitExtension.kt new file mode 100644 index 000000000..fdf4c3ebf --- /dev/null +++ b/compat/fabric-compats/src/main/kotlin/xyz/bluspring/kilt/compat/fabric/KiltFabricCompatsKnitExtension.kt @@ -0,0 +1,20 @@ +package xyz.bluspring.kilt.compat.fabric + +import net.fabricmc.loader.api.FabricLoader +import xyz.bluspring.kilt.compat.fabric.automodpack.KiltAutoModpackCompat +import xyz.bluspring.knit.loader.api.KnitNativeModCompatExtension +import xyz.bluspring.knit.loader.api.KnitModScanSetupApi + +class KiltFabricCompatsKnitExtension : KnitNativeModCompatExtension { + + override fun setupModScanning(api: KnitModScanSetupApi) { + if (FabricLoader.getInstance().isModLoaded("automodpack")) { + KiltAutoModpackCompat.modpackDir?.let { path -> + for (modDir in api.loader.modDirs) { + if (modDir.isAbsolute) continue + api.addModDirectory(path.resolve(modDir)) + } + } + } + } +} \ No newline at end of file diff --git a/compat/fabric-compats/src/main/kotlin/xyz/bluspring/kilt/compat/fabric/automodpack/KiltAutoModpackCompat.kt b/compat/fabric-compats/src/main/kotlin/xyz/bluspring/kilt/compat/fabric/automodpack/KiltAutoModpackCompat.kt new file mode 100644 index 000000000..bc37c0d5f --- /dev/null +++ b/compat/fabric-compats/src/main/kotlin/xyz/bluspring/kilt/compat/fabric/automodpack/KiltAutoModpackCompat.kt @@ -0,0 +1,11 @@ +package xyz.bluspring.kilt.compat.fabric.automodpack + +import pl.skidam.automodpack_core.GlobalVariables +import java.nio.file.Path + +object KiltAutoModpackCompat { + + val modpackDir: Path? + get() = GlobalVariables.selectedModpackDir + +} \ No newline at end of file diff --git a/compat/fabric-compats/src/main/resources/META-INF/services/xyz.bluspring.knit.loader.api.KnitNativeModCompatExtension b/compat/fabric-compats/src/main/resources/META-INF/services/xyz.bluspring.knit.loader.api.KnitNativeModCompatExtension new file mode 100644 index 000000000..c61467959 --- /dev/null +++ b/compat/fabric-compats/src/main/resources/META-INF/services/xyz.bluspring.knit.loader.api.KnitNativeModCompatExtension @@ -0,0 +1 @@ +xyz.bluspring.kilt.compat.fabric.KiltFabricCompatsKnitExtension \ No newline at end of file