-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathbuild.gradle
102 lines (83 loc) · 3.13 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
plugins {
id "java-library"
id "eclipse"
id "idea"
id "maven-publish"
id("net.neoforged.gradle.userdev") version("7.0.152")
}
tasks.named("wrapper", Wrapper).configure {
// (Verify by checking gradle/wrapper/gradle-wrapper.properties to see if distributionUrl now points to `-all`)
distributionType = Wrapper.DistributionType.BIN
}
group = mod_group_id
version = mod_version
base {
archivesName = mod_id
}
// Mojang ships Java 21 to end users starting in 1.20.5, so mods should target Java 21.
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
repositories {
mavenLocal()
maven { url "https://modmaven.dev/" }
maven { url = "https://maven.octo-studios.com/releases" }
maven { url = "https://maven.terraformersmc.com/" }
maven { url = "https://www.cursemaven.com" }
}
runs {
configureEach {
systemProperty "forge.logging.markers", "REGISTRIES"
systemProperty "forge.logging.console.level", "debug"
modSource project.sourceSets.main
}
client {
systemProperty "forge.enabledGameTestNamespaces", project.mod_id
}
server {
systemProperty "forge.enabledGameTestNamespaces", project.mod_id
programArgument "--nogui"
}
gameTestServer {
systemProperty "forge.enabledGameTestNamespaces", project.mod_id
}
data {
programArguments.addAll "--mod", project.mod_id, "--all", "--output", file("src/generated/resources/").getAbsolutePath(), "--existing", file("src/main/resources/").getAbsolutePath()
}
}
sourceSets.main.resources { srcDir "src/generated/resources" }
configurations {
runtimeClasspath.extendsFrom localRuntime
}
dependencies {
implementation "net.neoforged:neoforge:${neo_version}"
implementation "mekanism:Mekanism:${mekanism_version}"
compileOnly "mekanism:Mekanism:${mekanism_version}:api"
implementation "top.theillusivec4.curios:curios-neoforge:${curios_version}"
compileOnly 'org.projectlombok:lombok:1.18.34'
annotationProcessor 'org.projectlombok:lombok:1.18.34'
runtimeOnly "mekanism:Mekanism:${mekanism_version}" // Mekanism
runtimeOnly "dev.emi:emi-neoforge:${emi_version}+${minecraft_version}"
runtimeOnly "curse.maven:jade-324717:5493270"
annotationProcessor "org.jetbrains:annotations:24.0.0"
}
tasks.withType(ProcessResources).configureEach {
var replaceProperties = [
minecraft_version : minecraft_version,
minecraft_version_range: minecraft_version_range,
neo_version : neo_version,
neo_version_range : neo_version_range,
loader_version_range : loader_version_range,
mod_id : mod_id,
mod_name : mod_name,
mod_license : mod_license,
mod_version : mod_version,
mod_authors : mod_authors,
mod_description : mod_description
]
inputs.properties replaceProperties
filesMatching(["META-INF/neoforge.mods.toml"]) {
expand replaceProperties
}
}
tasks.withType(JavaCompile).configureEach {
options.encoding"UTF-8"
}