-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
94 lines (80 loc) · 2.42 KB
/
build.gradle.kts
File metadata and controls
94 lines (80 loc) · 2.42 KB
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
plugins {
alias(libs.plugins.kotlin)
alias(libs.plugins.moddev)
alias(libs.plugins.mod.publish)
}
val id = project.property("mod_id") as String
group = project.property("maven_group") as String
version = project.property("mod_version") as String
base {
archivesName.set(project.property("archives_base_name") as String)
}
neoForge {
version = libs.versions.neoforge.asProvider().get()
parchment {
mappingsVersion = libs.versions.parchment.get()
minecraftVersion = libs.versions.minecraft.asProvider().get()
}
validateAccessTransformers = true
runs {
create("client") {
client()
gameDirectory = file("run")
}
}
mods {
create(id) {
sourceSet(sourceSets["main"])
}
}
}
repositories {
mavenLocal()
mavenCentral()
maven("https://thedarkcolour.github.io/KotlinForForge")
}
dependencies {
implementation(jarJar(libs.kotlin.neoforge.get())) { }
}
java {
toolchain.languageVersion = JavaLanguageVersion.of(21)
}
tasks.withType<JavaCompile> {
options.encoding = "UTF-8"
options.release.set(21)
}
tasks.processResources {
val properties = mapOf(
"id" to id,
"version" to project.version,
"name" to project.property("mod_name") as String,
"minecraft_version" to libs.versions.minecraft.range.get(),
"loader_version" to libs.versions.neoforge.range.get()
)
filteringCharset = "UTF-8"
inputs.properties(properties)
filesMatching("META-INF/neoforge.mods.toml") { expand(properties) }
}
publishMods {
displayName = "${project.property("mod_name")} ${project.version}"
changelog = providers.fileContents(layout.projectDirectory.file("changelog.md")).asText
file = tasks.jar.get().archiveFile
type = STABLE
modLoaders.add("neoforge")
modrinth {
projectId = project.property("modrinth_id") as String
accessToken = providers.environmentVariable("MODRINTH_TOKEN")
minecraftVersions.add("1.21.1")
}
curseforge {
projectId = project.property("curseforge_id") as String
accessToken = providers.environmentVariable("CURSEFORGE_TOKEN")
minecraftVersions.add("1.21.1")
}
github {
repository = project.property("repository") as String
accessToken = providers.environmentVariable("GITHUB_TOKEN")
commitish = "main"
tagName = "v${project.version}"
}
}