From daf60a7b2c25bc379cc2c6d4cfde8908df88f946 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 1/3] 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 | 12 +++++++++++ ...it.loader.api.KnitNativeModCompatExtension | 1 + loader | 2 +- 6 files changed, 40 insertions(+), 2 deletions(-) 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 7bfe0778f..0bbfe3bd3 100644 --- a/compat/fabric-compats/build.gradle.kts +++ b/compat/fabric-compats/build.gradle.kts @@ -37,6 +37,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 cfe243457..7fb2ffa5b 100644 --- a/compat/fabric-compats/gradle.properties +++ b/compat/fabric-compats/gradle.properties @@ -41,4 +41,7 @@ invmove_version = 0.9.0+1.20.1-fabric pehkui_version = 3.8.3+1.14.4-1.21 # https://modrinth.com/mod/architectury-api/versions?g=1.20.1 -architectury_version=9.2.14 \ No newline at end of file +architectury_version=9.2.14 + +# https://modrinth.com/mod/automodpack/versions?g=1.20.1 +automodpack_version=4.0.5-fabric,1.20.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..e1c08a5bd --- /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.getModpackDir()?.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..a6cd8d8a6 --- /dev/null +++ b/compat/fabric-compats/src/main/kotlin/xyz/bluspring/kilt/compat/fabric/automodpack/KiltAutoModpackCompat.kt @@ -0,0 +1,12 @@ +package xyz.bluspring.kilt.compat.fabric.automodpack + +import pl.skidam.automodpack_core.GlobalVariables +import java.nio.file.Path + +object KiltAutoModpackCompat { + + fun getModpackDir(): Path? { + return 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/loader b/loader index b7b812afb..9f5c75e98 160000 --- a/loader +++ b/loader @@ -1 +1 @@ -Subproject commit b7b812afbeade060c8d8a83abce4b78efbf3909d +Subproject commit 9f5c75e98658304c0d97e8f79124c6faf32fa228 From 413bf758ecbcfb9c7cb80405b2c7518369f24d2e Mon Sep 17 00:00:00 2001 From: Acuadragon100 <30689683+Acuadragon100@users.noreply.github.com> Date: Mon, 30 Mar 2026 18:13:18 +0200 Subject: [PATCH 2/3] Accept vanilla connections when AutoModpack is installed. --- .../xyz/bluspring/kilt/compat/fabric/KiltFabricCompats.kt | 4 ++++ forge | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/compat/fabric-compats/src/main/kotlin/xyz/bluspring/kilt/compat/fabric/KiltFabricCompats.kt b/compat/fabric-compats/src/main/kotlin/xyz/bluspring/kilt/compat/fabric/KiltFabricCompats.kt index c2103b193..afc9f3afb 100644 --- a/compat/fabric-compats/src/main/kotlin/xyz/bluspring/kilt/compat/fabric/KiltFabricCompats.kt +++ b/compat/fabric-compats/src/main/kotlin/xyz/bluspring/kilt/compat/fabric/KiltFabricCompats.kt @@ -2,6 +2,7 @@ package xyz.bluspring.kilt.compat.fabric import net.fabricmc.api.ModInitializer import net.fabricmc.loader.api.FabricLoader +import net.minecraftforge.network.NetworkRegistry import xyz.bluspring.kilt.compat.fabric.architectury.KiltArchitecturyApiCompat class KiltFabricCompats : ModInitializer { @@ -9,5 +10,8 @@ class KiltFabricCompats : ModInitializer { if (FabricLoader.getInstance().isModLoaded("architectury")) { KiltArchitecturyApiCompat.initCommon() } + if (FabricLoader.getInstance().isModLoaded("automodpack")) { + NetworkRegistry.`kilt$enableVanillaConnections`() + } } } \ No newline at end of file diff --git a/forge b/forge index 3e8980080..66ea10cfa 160000 --- a/forge +++ b/forge @@ -1 +1 @@ -Subproject commit 3e898008035002a7a6e7bc9e218ad195ba6f2a9f +Subproject commit 66ea10cfa069d54a95fdb9842968013cedd09e2a From 843575970f5523f509e9507b6f73c732f3f8c0c5 Mon Sep 17 00:00:00 2001 From: Acuadragon100 <30689683+Acuadragon100@users.noreply.github.com> Date: Tue, 31 Mar 2026 14:03:02 +0200 Subject: [PATCH 3/3] val --- .../kilt/compat/fabric/KiltFabricCompatsKnitExtension.kt | 2 +- .../kilt/compat/fabric/automodpack/KiltAutoModpackCompat.kt | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) 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 index e1c08a5bd..fdf4c3ebf 100644 --- 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 @@ -9,7 +9,7 @@ class KiltFabricCompatsKnitExtension : KnitNativeModCompatExtension { override fun setupModScanning(api: KnitModScanSetupApi) { if (FabricLoader.getInstance().isModLoaded("automodpack")) { - KiltAutoModpackCompat.getModpackDir()?.let { path -> + KiltAutoModpackCompat.modpackDir?.let { path -> for (modDir in api.loader.modDirs) { if (modDir.isAbsolute) continue api.addModDirectory(path.resolve(modDir)) 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 index a6cd8d8a6..bc37c0d5f 100644 --- 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 @@ -5,8 +5,7 @@ import java.nio.file.Path object KiltAutoModpackCompat { - fun getModpackDir(): Path? { - return GlobalVariables.selectedModpackDir - } + val modpackDir: Path? + get() = GlobalVariables.selectedModpackDir } \ No newline at end of file