forked from Geforce132/SecurityCraft
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
102 lines (84 loc) · 2.91 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 'net.neoforged.gradle.userdev' version '7.0.+'
}
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
version = '1.9.10-beta9'
group = 'net.geforcemods.securitycraft'
base {
archivesName = 'securitycraft'
}
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch'))
processResources {
exclude ".cache"
duplicatesStrategy = 'include'
//minify json resources
doLast {
fileTree(dir: outputs.files.asPath, include: "**/*.json").each {
File file -> file.text = JsonOutput.toJson(new JsonSlurper().parse(file))
}
}
}
sourceSets.main.resources {
srcDir 'src/generated/resources' //include generated files
}
minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer.cfg')
runs {
configureEach {
systemProperty 'forge.logging.console.level', 'debug'
modSource project.sourceSets.main
}
client {
workingDirectory project.file('run/client')
}
server {
workingDirectory project.file('run/server')
argument '-nogui'
}
data {
workingDirectory project.file('run/data')
arguments.addAll '--mod', 'securitycraft', '--all', '--output', file('src/generated/resources/').getAbsolutePath()
}
}
repositories {
maven {
url "https://cursemaven.com/"
content {
includeGroup "curse.maven"
}
}
}
dependencies {
implementation 'net.neoforged:neoforge:21.1.1'
implementation "curse.maven:architectury-api-419699:5553800" //ftb teams dependency
implementation "curse.maven:ftb-library-forge-404465:5557408" //ftb teams dependency
implementation "curse.maven:ftb-teams-forge-404468:5448371"
implementation "curse.maven:jei-238222:5567933"
implementation "curse.maven:the-one-probe-245211:5502323"
implementation "curse.maven:jade-324717:5572926"
implementation "curse.maven:betterf3-401648:5439910"
implementation "curse.maven:cloth-config-348521:5553805" //betterf3 dependency
implementation "curse.maven:wthit-forge-455982:5568827"
implementation "curse.maven:badpackets-615134:5430629" //wthit dependency
// implementation "curse.maven:projecte-226410:3955047"
implementation "curse.maven:embeddium-908741:5556146"
}
tasks.named('jar', Jar).configure {
exclude('net/geforcemods/securitycraft/datagen/**') //exclude files from the built jar that are only used to generate the assets & data
manifest {
attributes(["Specification-Title": "SecurityCraft",
"Specification-Vendor": "Geforce, bl4ckscor3, Redstone_Dubstep",
"Specification-Version": "${version}",
"Implementation-Title": "SecurityCraft",
"Implementation-Version": "${version}",
"Implementation-Vendor": "Geforce, bl4ckscor3, Redstone_Dubstep"],)
}
}
tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8'
options.release = 21
}