generated from kikugie/stonecutter-template-fabric
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle.kts
123 lines (108 loc) · 4.06 KB
/
build.gradle.kts
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
121
122
123
plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.fabric.loom)
alias(libs.plugins.yamlang)
alias(libs.plugins.mpp)
}
class ModData {
val id: String = project.property("id").toString()
val name: String = project.property("name").toString()
val group: String = project.property("group").toString()
val version: String = project.property("version").toString()
}
val mod = ModData()
version = "${mod.version}+${libs.versions.minecraft.get()}"
group = mod.group
base { archivesName.set(mod.id) }
allprojects {
repositories {
fun strictMaven(url: String, vararg groups: String) = exclusiveContent {
forRepository { maven(url) }
filter { groups.forEach(::includeGroup) }
}
mavenCentral()
maven("https://jitpack.io")
strictMaven("https://api.modrinth.com/maven", "maven.modrinth")
strictMaven("https://maven.wispforest.io", "io.wispforest", "io.wispforest.endec")
strictMaven("https://maven.terraformersmc.com/", "com.terraformersmc")
strictMaven("https://maven.maxhenkel.de/releases", "de.maxhenkel.voicechat")
strictMaven("https://repo.plasmoverse.com/snapshots", "su.plo.voice", "su.plo.voice.api", "su.plo.slib")
strictMaven("https://repo.plasmoverse.com/releases", "su.plo.config")
}
}
dependencies {
implementation(project(path = "kowoui", configuration = "namedElements"))
fun modules(vararg modules: String) {
modules.forEach { modApi(fabricApi.module("fabric-$it", libs.versions.fabric.api.get())) }
}
minecraft(libs.minecraft)
mappings(variantOf(libs.yarn.mappings) { classifier("v2") })
modImplementation(libs.fabric.loader)
modImplementation(libs.fabric.kotlin)
include(libs.okio)
include(libs.okhttp)
include(libs.owo.sentinel)
api(libs.okhttp)
modApi(libs.fabric.api)
modApi(libs.modmenu)
modApi(libs.owo) {
exclude(group = "net.fabricmc")
}
}
loom {
accessWidenerPath = rootProject.file("src/main/resources/soundboard.accesswidener")
runConfigs.configureEach {
ideConfigGenerated(false)
vmArgs("-Dmixin.debug.export=true", "-Dfabric.log.level=debug")
}
decompilers {
get("vineflower").apply {
options.put("mark-corresponding-synthetics", "1")
}
}
}
tasks.processResources {
inputs.property("version", mod.version)
inputs.property("minecraft", project.property("mcdep").toString())
inputs.property("flk", project.property("flk").toString())
inputs.property("owolib", project.property("owolib").toString())
val map = mapOf(
"version" to mod.version,
"minecraft" to project.property("mcdep").toString(),
"flk" to project.property("flk").toString(),
"owolib" to project.property("owolib").toString(),
)
filesMatching("fabric.mod.json") { expand(map) }
}
yamlang {
targetSourceSets.set(mutableListOf(sourceSets["main"]))
inputDir.set("assets/${mod.id}/lang")
owolibRichTranslations = true
}
java {
withSourcesJar()
}
//publishMods {
// val files = mutableListOf<Provider<RegularFile>>()
// subprojects.mapTo(files) { it.tasks.remapJar.get().archiveFile }
// subprojects.mapTo(files) { it.tasks.remapSourcesJar.get().archiveFile }
// file = files.first()
// additionalFiles.from(*files.drop(1).toTypedArray())
// displayName = "${mod.name} ${mod.version}"
// version = mod.version
// changelog = rootProject.file("CHANGELOG.md").readText()
// type = ReleaseType.of(project.property("release").toString())
// modLoaders.add("fabric")
//
// dryRun = providers.environmentVariable("MODRINTH_TOKEN").getOrNull() == null ||
// providers.environmentVariable("CURSEFORGE_TOKEN").getOrNull() == null ||
// providers.environmentVariable("GITHUB_TOKEN").getOrNull() == null
// dryRun = true
//
// github {
// repository = "kikugie/voicechat-soundboard"
// accessToken = providers.environmentVariable("GITHUB_TOKEN")
// commitish = "multiaddon"
// }
//}