-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbuild.gradle.kts
115 lines (102 loc) · 3.17 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
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import dev.architectury.pack200.java.Pack200Adapter
import net.fabricmc.loom.task.RemapJarTask
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
kotlin("jvm") version "1.7.10"
id("com.github.johnrengelman.shadow") version "7.1.2"
id("gg.essential.loom") version "0.10.0.+"
id("dev.architectury.architectury-pack200") version "0.1.3"
idea
java
}
version = "0.0.3"
group = "chatemotes"
repositories {
maven("https://repo.spongepowered.org/repository/maven-public/")
maven("https://repo.sk1er.club/repository/maven-public")
}
val packageLib by configurations.creating {
configurations.implementation.get().extendsFrom(this)
}
dependencies {
minecraft("com.mojang:minecraft:1.8.9")
mappings("de.oceanlabs.mcp:mcp_stable:22-1.8.9")
forge("net.minecraftforge:forge:1.8.9-11.15.1.2318-1.8.9")
annotationProcessor("org.spongepowered:mixin:0.8.5:processor")
compileOnly("org.spongepowered:mixin:0.8.5")
packageLib("gg.essential:loader-launchwrapper:1.1.3")
implementation("gg.essential:essential-1.8.9-forge:3662")
}
sourceSets {
main {
output.setResourcesDir(file("${buildDir}/classes/kotlin/main"))
}
}
loom {
launchConfigs {
getByName("client") {
property("mixin.debug", "true")
property("asmhelper.verbose", "true")
arg("--tweakClass", "org.spongepowered.asm.launch.MixinTweaker")
arg("--mixin", "mixins.chatemotes.json")
}
}
forge {
pack200Provider.set(Pack200Adapter())
mixinConfig("mixins.chatemotes.json")
}
mixin {
defaultRefmapName.set("mixins.chatemotes.refmap.json")
}
}
tasks {
processResources {
inputs.property("version", project.version)
inputs.property("mcversion", "1.8.9")
filesMatching("mcmod.info") {
expand(mapOf("version" to project.version, "mcversion" to "1.8.9"))
}
dependsOn(compileJava)
}
named<Jar>("jar") {
manifest.attributes(
"FMLCorePluginContainsFMLMod" to true,
"FMLCorePlugin" to "chatemotes.forge.FMLLoadingPlugin",
"ForceLoadAsMod" to true,
"MixinConfigs" to "mixins.chatemotes.json",
"ModSide" to "CLIENT",
"TweakClass" to "gg.essential.loader.stage0.EssentialSetupTweaker",
"TweakOrder" to "0"
)
dependsOn(shadowJar)
enabled = false
}
named<RemapJarTask>("remapJar") {
archiveBaseName.set("ChatEmotes")
input.set(shadowJar.get().archiveFile)
}
named<ShadowJar>("shadowJar") {
archiveBaseName.set("ChatEmotes")
archiveClassifier.set("dev")
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
configurations = listOf(packageLib)
mergeServiceFiles()
}
withType<JavaCompile> {
options.encoding = "UTF-8"
}
withType<KotlinCompile> {
kotlinOptions {
jvmTarget = "1.8"
}
}
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(8))
}
kotlin {
jvmToolchain {
languageVersion.set(JavaLanguageVersion.of(8))
}
}