@@ -16,56 +16,70 @@ java {
16
16
withSourcesJar()
17
17
}
18
18
19
+ sourceSets {
20
+ main {
21
+ resources.srcDir(file(" src/generated/resources" ))
22
+ }
23
+
24
+ val addons = create(" addons" ) {
25
+ val main = main.get()
26
+ compileClasspath + = main.compileClasspath + main.output
27
+ runtimeClasspath + = main.runtimeClasspath + main.output
28
+ }
29
+
30
+ create(" data" ) {
31
+ compileClasspath + = addons.compileClasspath + addons.output
32
+ runtimeClasspath + = addons.runtimeClasspath + addons.output
33
+ }
34
+ }
35
+
19
36
dependencies {
20
- api(libs .ae2)
37
+ api(core .ae2)
21
38
22
- compileOnly(libs .ae2wtlibapi)
23
- runtimeOnly(libs .ae2wtlib)
39
+ compileOnly(integration .ae2wtlibapi)
40
+ " addonsRuntimeOnly " (integration .ae2wtlib)
24
41
25
- implementation(libs.appmek)
26
- compileOnly(libs.mekanism)
27
- compileOnly(variantOf(libs.mekanism) { classifier(" generators" ) })
28
- runtimeOnly(variantOf(libs.mekanism) { classifier(" all" ) })
42
+ compileOnly(integration.appmek)
43
+ compileOnly(integration.mekanism)
44
+ " addonsRuntimeOnly" (integration.appmek)
45
+ " dataCompileOnly" (variantOf(integration.mekanism) { classifier(" generators" ) })
46
+ " addonsRuntimeOnly" (variantOf(integration.mekanism) { classifier(" all" ) })
29
47
30
- implementation(libs .arseng)
31
- implementation(libs.arsnouveau) { exclude( " mezz.jei " ) }
48
+ compileOnly(integration .arseng)
49
+ " addonsRuntimeOnly " (integration.arseng)
32
50
33
- implementation(libs.appflux)
34
- runtimeOnly(libs.glodium)
51
+ @Suppress(" UnstableApiUsage" )
52
+ " dataCompileOnly" (integration.arsnouveau) { exclude(" mezz.jei" ) }
53
+ @Suppress(" UnstableApiUsage" )
54
+ " addonsRuntimeOnly" (integration.arsnouveau) { exclude(" mezz.jei" ) }
35
55
36
- implementation(libs.appex)
37
- runtimeOnly(libs.explib)
56
+ compileOnly(integration.appflux)
57
+ " addonsRuntimeOnly" (integration.appflux)
58
+ " addonsRuntimeOnly" (integration.glodium)
38
59
39
- implementation(libs.appliede)
40
- runtimeOnly(libs.projecte)
60
+ compileOnly(integration.appex)
61
+ " addonsRuntimeOnly" (integration.appex)
62
+ " addonsRuntimeOnly" (integration.explib)
41
63
42
- compileOnly(libs.appbot)
43
- compileOnly(libs.botania)
64
+ compileOnly(integration.appliede)
65
+ " addonsRuntimeOnly" (integration.appliede)
66
+ " addonsRuntimeOnly" (integration.projecte)
67
+
68
+ compileOnly(integration.appbot)
69
+ " addonsCompileOnly" (integration.botania)
44
70
45
71
testImplementation(testlibs.junit.jupiter)
46
72
testImplementation(testlibs.assertj)
47
73
testImplementation(testlibs.neoforge.test)
48
74
testRuntimeOnly(testlibs.junit.platform)
49
75
}
50
76
51
- sourceSets {
52
- main {
53
- resources.srcDir(file(" src/generated/resources" ))
54
- }
55
-
56
- create(" data" ) {
57
- val main = main.get()
58
- compileClasspath + = main.compileClasspath + main.output
59
- runtimeClasspath + = main.runtimeClasspath + main.output
60
- }
61
- }
62
-
63
77
neoForge {
64
- version = libs .versions.neoforge.get()
78
+ version = core .versions.neoforge.get()
65
79
66
80
parchment {
67
- minecraftVersion = libs .versions.minecraft.get()
68
- mappingsVersion = libs .versions.parchment.get()
81
+ minecraftVersion = core .versions.minecraft.get()
82
+ mappingsVersion = core .versions.parchment.get()
69
83
}
70
84
71
85
mods {
@@ -78,11 +92,12 @@ neoForge {
78
92
runs {
79
93
configureEach {
80
94
logLevel = org.slf4j.event.Level .DEBUG
81
- gameDirectory = file( " run " )
95
+ sourceSet = sourceSets.getByName( " addons " )
82
96
}
83
97
84
98
create(" client" ) {
85
99
client()
100
+ gameDirectory = file(" run/client" )
86
101
}
87
102
88
103
create(" server" ) {
@@ -92,6 +107,7 @@ neoForge {
92
107
93
108
create(" data" ) {
94
109
data()
110
+ gameDirectory = file(" run/data" )
95
111
logLevel = org.slf4j.event.Level .INFO
96
112
programArguments.addAll(
97
113
" --mod" , modId,
0 commit comments