generated from thedarkcolour/KotlinModdingSkeleton
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
120 lines (97 loc) · 3.56 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
108
109
110
111
112
113
114
115
116
117
118
119
120
plugins {
id 'net.minecraftforge.gradle' version '5.1.+'
// Adds the Kotlin Gradle plugin
id 'org.jetbrains.kotlin.jvm' version '1.8.0'
// OPTIONAL Kotlin Serialization plugin
id 'org.jetbrains.kotlin.plugin.serialization' version '1.8.0'
}
version = '1.0.0'
group = 'example.examplemod'
archivesBaseName = 'examplemod'
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 {
// Change to your preferred mappings
mappings channel: 'official', version: '1.19.2'
// Add your AccessTransformer
// accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
runs {
client {
workingDirectory project.file('run')
property 'forge.logging.markers', 'REGISTRIES'
property 'forge.logging.console.level', 'debug'
property 'forge.enabledGameTestNamespaces', 'examplemod'
mods {
examplemod {
source sourceSets.main
}
}
}
server {
workingDirectory project.file('run/server')
property 'forge.logging.markers', 'REGISTRIES'
property 'forge.logging.console.level', 'debug'
property 'forge.enabledGameTestNamespaces', 'examplemod'
mods {
examplemod {
source sourceSets.main
}
}
}
gameTestServer {
workingDirectory project.file('run/server')
property 'forge.logging.markers', 'REGISTRIES'
property 'forge.logging.console.level', 'debug'
property 'forge.enabledGameTestNamespaces', 'examplemod'
mods {
examplemod {
source sourceSets.main
}
}
}
data {
workingDirectory project.file('run')
property 'forge.logging.markers', 'REGISTRIES'
property 'forge.logging.console.level', 'debug'
args '--mod', 'examplemod', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources')
mods {
examplemod {
source sourceSets.main
}
}
}
}
}
// Include assets and data from data generators
sourceSets.main.resources { srcDirs 'src/generated/resources/' }
repositories {
maven {
name = 'Kotlin for Forge'
url = 'https://thedarkcolour.github.io/KotlinForForge/'
content { includeGroup "thedarkcolour" }
}
}
dependencies {
// Use the latest version of Minecraft Forge
minecraft 'net.minecraftforge:forge:1.19.2-43.2.3'
implementation 'thedarkcolour:kotlinforforge:3.9.1'
}
compileKotlin {
kotlinOptions.jvmTarget = "17"
}
jar {
manifest {
attributes([
'Specification-Title': "examplemod",
'Specification-Vendor': "examplemodsareus",
'Specification-Version': "1", // We are version 1 of ourselves
'Implementation-Title': project.name,
'Implementation-Version': project.version,
'Implementation-Vendor' :"examplemodsareus",
'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
}
}
tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
}