-
Notifications
You must be signed in to change notification settings - Fork 2
/
build.gradle
107 lines (97 loc) · 3.5 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
103
104
105
106
107
plugins {
id 'idea'
id 'maven-publish'
id 'net.minecraftforge.gradle' version "${forgegradle_version}"
id 'org.spongepowered.mixin' version "${mixingradle_version}"
id 'org.parchmentmc.librarian.forgegradle' version "${librarian_version}"
}
version = "${mc_version}-${mod_version}"
group = "com.foozey.${modid}"
archivesBaseName = "${modid}"
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch'))
minecraft {
mappings channel: "${mapping_type}", version: "${mapping_version}-${mc_version}"
accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
runs {
configureEach {
workingDirectory project.file('run')
property 'forge.logging.markers', 'REGISTRIES'
property 'forge.logging.console.level', 'debug'
property 'mixin.env.remapRefMap', 'true'
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
mods {
"${modid}" {
source sourceSets.main
}
}
}
client {
property 'forge.enabledGameTestNamespaces', modid
}
server {
property 'forge.enabledGameTestNamespaces', modid
args '--nogui'
}
data {
args '--mod', 'gems', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
}
}
}
sourceSets.main.resources {
srcDir 'src/generated/resources'
}
repositories {
maven {
name = "Illusive Soulworks"
url = "https://maven.theillusivec4.top"
}
}
dependencies {
minecraft "net.minecraftforge:forge:${mc_version}-${forge_version}"
annotationProcessor "org.spongepowered:mixin:0.8.5:processor"
compileOnly fg.deobf("top.theillusivec4.curios:curios-forge:${curios_version}:api")
runtimeOnly fg.deobf("top.theillusivec4.curios:curios-forge:${curios_version}")
}
mixin {
add sourceSets.main, "mixins.${modid}.refmap.json"
config "mixins.${modid}.json"
}
tasks.named('processResources', ProcessResources).configure {
var replaceProperties = [
modid: modid, mod_version: mod_version,
mc_version: mc_version, mc_version_range: mc_version_range,
forge_version: forge_version, forge_version_range: forge_version_range,
curios_version: curios_version, curios_version_range: curios_version_range,
]
inputs.properties replaceProperties
filesMatching(['META-INF/mods.toml', 'pack.mcmeta']) {
expand replaceProperties + [project: project]
}
}
tasks.named('jar', Jar).configure {
manifest {
attributes([
"Specification-Title": "${modid}",
"Specification-Vendor": "Fooze",
"Specification-Version": "1",
"Implementation-Title": "${modid}",
"Implementation-Version": "${mc_version}-${mod_version}",
"Implementation-Vendor" :"Fooze",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
])
}
finalizedBy 'reobfJar'
}
publishing {
publications {
mavenJava(MavenPublication) {
artifact jar
}
}
repositories {
maven {
url "file:///${project.projectDir}/mcmodsrepo"
}
}
}