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/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 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