11import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
2- import ru.astrainteractive.gradleplugin.property.model.Developer
3- import ru.astrainteractive.gradleplugin.property.util.requireJinfo
42import ru.astrainteractive.gradleplugin.property.util.requireProjectInfo
53
64plugins {
7- kotlin(" jvm" )
8- kotlin(" plugin.serialization" )
5+ id(" org.jetbrains.kotlin.jvm" )
6+ id(" org.jetbrains.kotlin.plugin.serialization" )
7+ id(" ru.astrainteractive.gradleplugin.detekt" )
8+ id(" ru.astrainteractive.gradleplugin.java.version" )
99 alias(libs.plugins.gradle.forgegradle)
1010 alias(libs.plugins.gradle.forgerenamer)
1111 alias(libs.plugins.gradle.shadow)
12+ alias(libs.plugins.klibs.minecraft.resource.processor)
1213}
1314
1415repositories {
@@ -43,30 +44,14 @@ dependencies {
4344 shadow(projects.modules.service.forge)
4445 shadow(projects.modules.event.forge)
4546}
46- tasks.named<ProcessResources >(" processResources" ) {
47- filteringCharset = " UTF-8"
48- duplicatesStrategy = DuplicatesStrategy .WARN
49- val sourceSets = project.extensions.getByName(" sourceSets" ) as SourceSetContainer
50- val resDirs = sourceSets
51- .map(SourceSet ::getResources)
52- .map(SourceDirectorySet ::getSrcDirs)
53- from(resDirs) {
54- include(" META-INF/mods.toml" )
55- expand(
56- mapOf (
57- " minecraft_version" to libs.versions.minecraft.forgeversion.get().split(" -" )[0 ],
58- " forge_version" to libs.versions.minecraft.forgeversion.get().split(" -" )[1 ],
59- " mod_id" to requireProjectInfo.name.lowercase(),
60- " mod_name" to requireProjectInfo.name,
61- " mod_license" to " mod_license" ,
62- " mod_version" to requireProjectInfo.versionString,
63- " mod_authors" to requireProjectInfo.developersList
64- .map(Developer ::id)
65- .joinToString(" ," ),
66- " mod_description" to requireProjectInfo.description
67- )
47+
48+ minecraftProcessResource {
49+ forge(
50+ customProperties = mapOf (
51+ " minecraft_version" to libs.versions.minecraft.forgeversion.get().split(" -" )[0 ],
52+ " forge_version" to libs.versions.minecraft.forgeversion.get().split(" -" )[1 ],
6853 )
69- }
54+ )
7055}
7156
7257val shadowJar by tasks.getting(ShadowJar ::class ) {
@@ -221,7 +206,6 @@ val shadowJar by tasks.getting(ShadowJar::class) {
221206 // Don't relocate on: [bukkit]
222207 add(" org.h2" )
223208 }
224-
225209 add(" org.intellij" )
226210 add(" org.jetbrains.annotations" )
227211// add("org.jetbrains.exposed") // Don't relocate on: [*]
@@ -239,21 +223,15 @@ val shadowJar by tasks.getting(ShadowJar::class) {
239223 }.forEach { pattern -> relocate(pattern, " ${requireProjectInfo.group} .shade.$pattern " ) }
240224}
241225
242- java.toolchain.languageVersion = JavaLanguageVersion .of(requireJinfo.jtarget.majorVersion)
243-
244226minecraft {
245- mappings(" official" , " 1.20.1 " )
227+ mappings(" official" , libs.versions.minecraft.mojang.version.get() )
246228 useDefaultAccessTransformer()
247229}
248230
249231dependencies {
250232 compileOnly(minecraft.dependency(libs.minecraft.forgeversion.get()))
251233}
252234
253- configurations.runtimeElements {
254- setExtendsFrom(emptySet())
255- }
256-
257235renamer {
258236 mappings.from(minecraft.dependency.toSrgFile)
259237}
0 commit comments