11plugins {
2- id ' net.fabricmc.fabric-loom' version ' 1.15-SNAPSHOT'
2+ id ' fabric-loom' version ' 1.15-SNAPSHOT'
3+ id ' me.modmuss50.mod-publish-plugin' version ' 2.1.1'
34 id ' maven-publish'
45}
56
6- version = project. version
77group = project. maven_group
88
9+ def modVersion = project. version
10+ def minecraftVersion = project. minecraft_version
11+ def loaderVersion = project. loader_version
12+ def archivesBaseName = project. archives_base_name
13+ def releaseVersion = modVersion. toString(). split(' \\ +' , 2 )[0 ]
14+
915base {
10- archivesName = project . archives_base_name
16+ archivesName = archivesBaseName
1117}
1218
13-
14-
1519repositories {
16- // Add repositories to retrieve artifacts from in here.
17- // You should only use this when depending on other mods because
18- // Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
19- // See https://docs.gradle.org/current/userguide/declaring_repositories.html
20- // for more information about repositories.
21-
2220 maven { url = " https://maven.terraformersmc.com/releases" }
2321 maven { url = " https://maven.isxander.dev/releases" }
2422
2523 maven {
26- url " https://maven.siphalor.de/"
27- name " Siphalor's Maven"
28- }
29- }
30-
31- loom {
32- runs {
33- client {
34- vmArg " --enable-native-access=ALL-UNNAMED"
35- vmArg " --sun-misc-unsafe-memory-access=allow"
36- property " joml.nounsafe" , " true"
37- }
24+ url = " https://maven.siphalor.de/"
25+ name = " Siphalor's Maven"
3826 }
3927}
4028
@@ -45,75 +33,88 @@ tasks.withType(JavaExec).configureEach {
4533}
4634
4735dependencies {
48- // To change the versions see the gradle.properties file
4936 minecraft " com.mojang:minecraft:${ project.minecraft_version} "
37+ mappings loom. officialMojangMappings()
5038
51- implementation " net.fabricmc:fabric-loader:${ project.loader_version} "
52- implementation " net.fabricmc.fabric-api:fabric-api:${ project.fabric_version} "
53- implementation " dev.isxander:yet-another-config-lib:${ project.yacl_version} "
54- implementation " com.terraformersmc:modmenu:${ project.modmenu_version} "
55- implementation " de.siphalor.amecs.amecs-key-modifiers:${ project.amecs_version} "
56-
39+ modImplementation " net.fabricmc:fabric-loader:${ project.loader_version} "
40+ modImplementation " net.fabricmc.fabric-api:fabric-api:${ project.fabric_version} "
41+ modImplementation " dev.isxander:yet-another-config-lib:${ project.yacl_version} "
42+ modImplementation " de.siphalor.amecs.amecs-key-modifiers:${ project.amecs_version} "
43+ modImplementation " com.terraformersmc:modmenu:${ project.modmenu_version} "
5744
58- include( " de.siphalor.amecs.amecs-key-modifiers:${ project.amecs_version} " )
45+ include " de.siphalor.amecs.amecs-key-modifiers:${ project.amecs_version} "
5946}
6047
6148processResources {
62- inputs. property " version" , project . version
63- inputs. property " minecraft_version" , project . minecraft_version
64- inputs. property " loader_version" , project . loader_version
65- filteringCharset " UTF-8"
49+ inputs. property " version" , modVersion
50+ inputs. property " minecraft_version" , minecraftVersion
51+ inputs. property " loader_version" , loaderVersion
52+ filteringCharset = " UTF-8"
6653
6754 filesMatching(" fabric.mod.json" ) {
68- expand " version" : project . version ,
69- " minecraft_version" : project . minecraft_version ,
70- " loader_version" : project . loader_version
55+ expand " version" : modVersion ,
56+ " minecraft_version" : minecraftVersion ,
57+ " loader_version" : loaderVersion
7158 }
7259}
7360
74- def targetJavaVersion = 25
61+ def targetJavaVersion = 21
7562tasks. withType(JavaCompile ). configureEach {
76- // ensure that the encoding is set to UTF-8, no matter what the system default is
77- // this fixes some edge cases with special characters not displaying correctly
78- // see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
79- // If Javadoc is generated, this must be specified in that task too.
8063 it. options. encoding = " UTF-8"
81- if (targetJavaVersion >= 10 || JavaVersion . current(). isJava10Compatible()) {
82- it. options. release. set(targetJavaVersion)
83- }
64+ it. options. release. set(targetJavaVersion)
8465}
8566
8667java {
8768 def javaVersion = JavaVersion . toVersion(targetJavaVersion)
8869 if (JavaVersion . current() < javaVersion) {
8970 toolchain. languageVersion = JavaLanguageVersion . of(targetJavaVersion)
9071 }
91- // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
92- // if it is present.
93- // If you remove this line, sources will not be generated.
9472 withSourcesJar()
9573}
9674
9775jar {
98- from(" LICENSE" ) {
99- rename { " ${ it} _${ project.archives_base_name} " }
76+ from(" LICENSE.txt" ) {
77+ rename { " LICENSE_${ archivesBaseName} " }
78+ }
79+ from(" CHANGELOG.md" )
80+ }
81+
82+ publishMods {
83+ file = remapJar. archiveFile
84+ changelog = providers. fileContents(layout. projectDirectory. file(" CHANGELOG.md" )). asText
85+ type = STABLE
86+ displayName = " Enhanced Keybinds v${ releaseVersion} for ${ minecraftVersion} "
87+ modLoaders. add(" fabric" )
88+ dryRun = providers. environmentVariable(" PUBLISH_DRY_RUN" )
89+ .map { it. toBoolean() }
90+ .orElse(false )
91+
92+ modrinth {
93+ projectId = " enhanced-keybinds"
94+ accessToken = providers. environmentVariable(" MODRINTH_TOKEN" )
95+ minecraftVersions. add(minecraftVersion)
96+ environment = CLIENT_ONLY
97+ requires(" fabric-api" , " yacl" )
98+ embeds(" amecs" )
99+ }
100+
101+ curseforge {
102+ projectId = " 1207805"
103+ projectSlug = " enhancedkeybinds"
104+ accessToken = providers. environmentVariable(" CURSEFORGE_TOKEN" )
105+ minecraftVersions. add(minecraftVersion)
106+ client = true
107+ requires(" fabric-api" , " yacl" )
108+ embeds(" amecs" )
100109 }
101110}
102111
103- // configure the maven publication
104112publishing {
105113 publications {
106114 create(" mavenJava" , MavenPublication ) {
107- artifactId = project . archives_base_name
115+ artifactId = archivesBaseName
108116 from components. java
109117 }
110118 }
111119
112- // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
113- repositories {
114- // Add repositories to publish to here.
115- // Notice: This block does NOT have the same function as the block in the top level.
116- // The repositories here will be used for publishing your artifact, not for
117- // retrieving dependencies.
118- }
119- }
120+ }
0 commit comments