11val forgeVersion = property(" forge_version" ).toString()
22val kotlinForgeVersion = property(" kotlin_forge_version" ).toString()
3+ val architecturyVersion = property(" architectury_version" ).toString()
34val mixinExtrasVersion = property(" mixinextras_version" ).toString()
45
56architectury {
@@ -36,6 +37,12 @@ repositories {
3637 maven(" https://cursemaven.com" )
3738}
3839
40+ val common: Configuration by configurations.creating {
41+ configurations.compileClasspath.get().extendsFrom(this )
42+ configurations.runtimeClasspath.get().extendsFrom(this )
43+ configurations[" developmentForge" ].extendsFrom(this )
44+ }
45+
3946val includeLib: Configuration by configurations.creating
4047val includeMod: Configuration by configurations.creating
4148
@@ -49,28 +56,32 @@ fun DependencyHandlerScope.setupConfigurations() {
4956 // https://docs.architectury.dev/loom/using_libraries/
5057 includeMod.dependencies.forEach {
5158 implementation(it)
52- forgeRuntimeLibrary(it) // Avoid mods not being found in dev environment
59+ forgeRuntimeLibrary(it)
5360 }
5461}
5562
5663dependencies {
5764 // Forge API
5865 forge(" net.minecraftforge:forge:$forgeVersion " )
5966
67+ // Architectury API
68+ modApi(" dev.architectury:architectury-forge:$architecturyVersion " )
69+
6070 // Add dependencies on the required Kotlin modules.
6171 includeLib(" org.reflections:reflections:0.10.2" )
6272 includeLib(" org.javassist:javassist:3.27.0-GA" )
6373
74+ implementation(" io.github.llamalad7:mixinextras-forge:$mixinExtrasVersion " )
75+ compileOnly(annotationProcessor(" io.github.llamalad7:mixinextras-common:$mixinExtrasVersion " )!! )
76+
6477 // Add mods to the mod jar
6578 includeMod(" thedarkcolour:kotlinforforge:$kotlinForgeVersion " )
66- includeMod(" io.github.llamalad7:mixinextras-forge:$mixinExtrasVersion " )
67- compileOnly(annotationProcessor(" io.github.llamalad7:mixinextras-common:$mixinExtrasVersion " )!! )
6879
6980 // Bugfixes
7081 compileOnly(kotlin(" stdlib" )) // Hack https://github.com/thedarkcolour/KotlinForForge/issues/93
7182
7283 // Common (Do not touch)
73- implementation (project(" :common" , configuration = " namedElements" )) { isTransitive = false } // We cannot common here because it is treated as a different mod and forge will panic
84+ common (project(" :common" , configuration = " namedElements" )) { isTransitive = false } // We cannot common here because it is treated as a different mod and forge will panic
7485 shadowCommon(project(path = " :common" , configuration = " transformProductionForge" )) { isTransitive = false }
7586
7687 // Finish the configuration
0 commit comments