@@ -3,7 +3,6 @@ package net.kernelpanicsoft.archie
33import net.fabricmc.loom.api.LoomGradleExtensionAPI
44import net.fabricmc.loom.util.ModPlatform
55import net.kernelpanicsoft.archie.plugin.ModResourcesExtension
6- import net.kernelpanicsoft.archie.plugin.patchedFMLModType
76import org.jetbrains.kotlin.konan.file.file
87import java.nio.file.FileSystem
98import java.nio.file.FileSystems
@@ -13,7 +12,7 @@ val extension = extensions.create<ModResourcesExtension>("modResources")
1312val loom = extensions.getByType<LoomGradleExtensionAPI >()
1413
1514val versionCatalog = extensions.getByType<VersionCatalogsExtension >().named(" libs" )
16- extension.versions.convention( provider {
15+ extension.versions = provider {
1716 val ret = versionCatalog.versionAliases.associate {
1817 // both "." and "-" cause issues with expand :/
1918 it.replace(" ." , " _" ) to versionCatalog.findVersion(it).get().requiredVersion
@@ -32,12 +31,12 @@ extension.versions.convention(provider {
3231
3332 else -> ret
3433 }
35- })
36- extension.properties.convention( provider {
34+ }
35+ extension.properties = provider {
3736 project.properties.mapKeys {
3837 it.key.replace(" ." , " _" )
3938 }.mapValues { it.value.toString() }
40- })
39+ }
4140
4241// build logic
4342
@@ -105,6 +104,19 @@ abstract class PatchFMLModType : TransformAction<PatchFMLModType.Parameters>
105104}
106105
107106val artifactType: Attribute <String > = Attribute .of(" artifactType" , String ::class .java)
107+ val patchedFMLModType = Attribute .of(" patchedFMLModType" , Boolean ::class .javaObjectType)
108+
109+ val bundleRuntimeLibraryConfiguration: Configuration by configurations.creating {
110+ exclude(group = " com.mojang" )
111+ exclude(group = " org.jetbrains.kotlin" )
112+ exclude(group = " org.jetbrains.kotlinx" )
113+ }
114+
115+ val runtimeLibraryConfiguration: Configuration by configurations.creating {
116+ exclude(group = " com.mojang" )
117+ exclude(group = " org.jetbrains.kotlin" )
118+ exclude(group = " org.jetbrains.kotlinx" )
119+ }
108120
109121dependencies {
110122 attributesSchema {
@@ -120,6 +132,37 @@ dependencies {
120132 to.attribute(patchedFMLModType, true ).attribute(artifactType, " jar" )
121133 }
122134
123- extensions.add(" loom" , project.extensions.getByName(" loom" ))
135+ // extensions.add("loom", project.extensions.getByName("loom"))
124136}
125137
138+ afterEvaluate {
139+ dependencies {
140+ bundleRuntimeLibraryConfiguration.resolvedConfiguration.resolvedArtifacts.forEach {
141+ " include" (it.moduleVersion.id.toString())
142+ when (project.extensions.getByType<LoomGradleExtensionAPI >().platform.get())
143+ {
144+ ModPlatform .NEOFORGE ->
145+ " localRuntime" (it.moduleVersion.id.toString()) {
146+ attributes {
147+ attribute(patchedFMLModType, true )
148+ }
149+ }
150+
151+ else -> Unit
152+ }
153+ }
154+ runtimeLibraryConfiguration.resolvedConfiguration.resolvedArtifacts.forEach {
155+ when (project.extensions.getByType<LoomGradleExtensionAPI >().platform.get())
156+ {
157+ ModPlatform .NEOFORGE ->
158+ " localRuntime" (it.moduleVersion.id.toString()) {
159+ attributes {
160+ attribute(patchedFMLModType, true )
161+ }
162+ }
163+
164+ else -> Unit
165+ }
166+ }
167+ }
168+ }
0 commit comments