From e9bb036ba03f743317c5577ca06cac492187ba88 Mon Sep 17 00:00:00 2001 From: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> Date: Wed, 20 Apr 2022 16:02:00 -0300 Subject: [PATCH 01/15] Rework the template mod --- .gitignore | 31 ++++++- README.md | 24 ++++-- build.gradle | 77 ++++++++++-------- gradle.properties | 25 ++---- gradle/libs.versions.toml | 21 +++++ gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 59821 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 10 +-- settings.gradle | 28 +++++-- .../example_mod}/ExampleMod.java | 9 +- .../example_mod}/mixin/TitleScreenMixin.java | 6 +- .../resources/assets/example_mod/icon.png | Bin 0 -> 2545 bytes ...od.mixins.json => example_mod.mixins.json} | 4 +- src/main/resources/quilt.mod.json | 24 ++---- 14 files changed, 165 insertions(+), 96 deletions(-) create mode 100644 gradle/libs.versions.toml rename src/main/java/com/{examplemod => example/example_mod}/ExampleMod.java (55%) rename src/main/java/com/{examplemod => example/example_mod}/mixin/TitleScreenMixin.java (77%) create mode 100644 src/main/resources/assets/example_mod/icon.png rename src/main/resources/{examplemod.mixins.json => example_mod.mixins.json} (72%) diff --git a/.gitignore b/.gitignore index a7ded9c..2dea676 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,27 @@ -.idea -.gradle -build -run \ No newline at end of file +# Gradle +.gradle/ +build/ +out/ +classes/ + +# Quilt Loom +run/ + +# Eclipse +*.launch + +# IntelliJ Idea +.idea/ +*.iml +*.ipr +*.iws + +# Visual Studio Code +.settings/ +.vscode/ +bin/ +.classpath +.project + +# MacOS +*.DS_Store diff --git a/README.md b/README.md index b2eeb28..b2537d8 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,24 @@ -# quilt-example-mod -Official Quilt example mod. +# Quilt Example Mod +The official Quilt example mod. You can use it as a template for you own mods! ## To use this template -1. Click on `Use this Template` -2. Clone the resulted repo on your pc -3. Enjoy! + +1. Create a new repository from this template with `Use this Template` +2. Clone the recently-created repo on your PC +3. Make the necessary changes in order to make it yours: + - Update `gradle.properties` in order to use your Maven group and mod ID + - If you don't know which Maven group to use, and you are planning to host the mod's source code on GitHub, use `com.github.` + - Update `quilt.mod.json` in order to reflect your mod's metadata + - If you are planning to include a mod, don't forget to declare its dependency on it! + - The icon provided here is a placeholder one. If you aren't able to replace it yet, you can delete it and remove the "icon" property + - Create a LICENSE file for this mod! If you don't know which license to use, check out [here](https://choosealicense.com/). + - If you use `LICENSE.md`, don't forget to update the buildscript in order to use that file name! + - Update the Java sub-directory structure so it reflects your Maven group +4. The mod is now ready to be worked on! ## License -This template on the QuiltMC GitHub is licensed under the CC0 license. + +This template on the QuiltMC GitHub is licensed under the [Creative Common Zero v1.0 license](./LICENSE-TEMPLATE.md). + Mods created with this template are not automatically licensed under the CC0, and are not required to give any kind of credit back to QuiltMC for this template. diff --git a/build.gradle b/build.gradle index def6136..d17aaae 100644 --- a/build.gradle +++ b/build.gradle @@ -1,76 +1,87 @@ plugins { - id 'org.quiltmc.loom' version '0.12-SNAPSHOT' id 'maven-publish' + alias(libs.plugins.quilt.loom) } -group = maven_group +// Still required by IDEs such as Eclipse and Visual Studio Code +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 + +archivesBaseName = project.archives_base_name version = project.version -archivesBaseName = archives_base_name +group = project.maven_group repositories { + // Add repositories to retrieve artifacts from in here. + // You should only use this when depending on other mods because + // Loom adds the essential maven repositories to download Minecraft and libraries from automatically. + // See https://docs.gradle.org/current/userguide/declaring_repositories.html + // for more information about repositories. } +// All the dependencies are declared at "./gradle/libs.version.toml" and referenced with "libs." +// See https://docs.gradle.org/current/userguide/platforms.html for information on how version catalogs work. dependencies { - // To change the versions see the gradle.properties file - minecraft "com.mojang:minecraft:$minecraft_version" - mappings( loom.layered { - addLayer quiltMappings.mappings( "org.quiltmc:quilt-mappings:$minecraft_version+build.$quilt_mappings:v2" ) -// addLayer loom.officialMojangMappings() // uncomment if you want mojmap too - }) - modImplementation "org.quiltmc:quilt-loader:$loader_version" + minecraft libs.minecraft + mappings loom.layered { + addLayer quiltMappings.mappings("org.quiltmc:quilt-mappings:${libs.versions.quilt.mappings.get()}:v2") + // addLayer loom.officialMojangMappings() // Uncomment if you want to use Mojang Mappings as a fallback + } + modImplementation libs.quilt.loader - modImplementation "org.quiltmc:qsl:$qsl_version" - - // QSL is not a complete API; you need Quilted Fabric API to fill in the gaps. - modImplementation "org.quiltmc.quilted-fabric-api:quilted-fabric-api:$quilted_fapi_version-$minecraft_version" + // QSL is not a complete API; You will need Quilted Fabric API to fill in the gaps. + // Quilted Fabric API will automatically pull in the correct QSL version. + modImplementation libs.quilted.fabric.api } processResources { - inputs.property 'version', version - inputs.property 'maven_group', maven_group - inputs.property 'loader_version', loader_version - inputs.property 'minecraft_version', minecraft_version + inputs.property "version", version + inputs.property "group", group filesMatching('quilt.mod.json') { - expand([ - 'version': version, - 'maven_group': maven_group, - 'loader_version': loader_version, - 'minecraft_version': minecraft_version, - 'quilted_fabric_api_version': quilted_fapi_version - ]) + expand( + "version": version, + "group": group + ) } } tasks.withType(JavaCompile).configureEach { - it.sourceCompatibility = 17 // for the IDE support - it.options.encoding = 'UTF-8' + it.options.encoding = "UTF-8" + // Minecraft 1.18 (1.18-pre2) upwards uses Java 17. it.options.release.set(17) } java { - // if this mod is gonna be a library, its better to generate javadocs too, uncomment this line to generate them - //withJavadocJar() // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task if it is present. // If you remove this line, sources will not be generated. withSourcesJar() + + // If this mod is going to be a library, then it should also generate Javadocs in order to aid with developement. + // Uncomment this line to generate them. + // withJavadocJar() } +// If you plan to use a different file for the license, don't forget to change the file name here! jar { - from('LICENSE') { - rename { "$it_$archivesBaseName"} + from("LICENSE") { + rename { "${it}_${archivesBaseName}" } } } +// Configure the maven publication publishing { publications { mavenJava(MavenPublication) { - group 'com.examplemod' from components.java } } + // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. repositories { - mavenLocal() + // Add repositories to publish to here. + // Notice: This block does NOT have the same function as the block in the top level. + // The repositories here will be used for publishing your artifact, not for + // retrieving dependencies. } } diff --git a/gradle.properties b/gradle.properties index cdb28e7..3c9abde 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,18 +1,9 @@ -# gradle stuff - org.gradle.jvmargs=-Xmx3G - org.gradle.parallel=true - org.gradle.caching=true - # uncomment this is gradle doesn't want to use more workers - #org.gradle.workers.max=4 -# Quilt Properties - # check these on https://lambdaurora.dev/tools/import_quilt.html - minecraft_version=1.18.2 - quilt_mappings=22 - loader_version=0.16.0-beta.7 +# Gradle Properties +org.gradle.jvmargs = -Xmx1G +org.gradle.parallel = true +org.gradle.caching = true + # Mod Properties - version=1.0.0 - maven_group=com.example - archives_base_name=example-mod -# Dependencies - qsl_version=1.1.0-beta.2+1.18.2 - quilted_fapi_version=1.0.0-beta.5+0.48.0 +version = 1.0.0 +maven_group = com.example +archives_base_name = example_mod diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000..e29e61f --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,21 @@ +[versions] +# The latest versions are available at https://lambdaurora.dev/tools/import_quilt.html +minecraft = "1.18.2" +quilt_mappings = "1.18.2+build.22" +quilt_loader = "0.16.0-beta.7" + +quilted_fabric_api = "1.0.0-beta.5+0.48.0-1.18.2" + +[libraries] +minecraft = { module = "com.mojang:minecraft", version.ref = "minecraft" } +quilt_mappings = { module = "org.quiltmc:quilt-mappings", version.ref = "quilt_mappings" } +quilt_loader = { module = "org.quiltmc:quilt-loader", version.ref = "quilt_loader" } + +quilted_fabric_api = { module = "org.quiltmc.quilted-fabric-api:quilted-fabric-api", version.ref = "quilted_fabric_api" } + +# If you have multiple similar dependencies, you can declare a dependency bundle and reference it on the build script with "libs.bundles.example". +# [bundles] +# example = ["example-a", "example-b", "example-c"] + +[plugins] +quilt_loom = { id = "org.quiltmc.loom", version = "0.12-SNAPSHOT" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..41d9927a4d4fb3f96a785543079b8df6723c946b 100644 GIT binary patch delta 8958 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ffed3a2..aa991fc 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index c53aefa..1b6c787 100755 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ #!/bin/sh # -# Copyright © 2015-2021 the original authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -32,10 +32,10 @@ # Busybox and similar reduced shells will NOT work, because this script # requires all of these POSIX shell features: # * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». # # Important for patching: # diff --git a/settings.gradle b/settings.gradle index ba90265..62676fb 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,9 +1,23 @@ pluginManagement { - repositories { - maven { url 'https://maven.fabricmc.net' } - maven { url 'https://maven.quiltmc.org/repository/release' } - maven { url 'https://maven.quiltmc.org/repository/snapshot' } - gradlePluginPortal() - mavenCentral() - } + repositories { + maven { + name = 'Quilt' + url = 'https://maven.quiltmc.org/repository/release' + } + maven { + name = 'Quilt Snapshot' + url = 'https://maven.quiltmc.org/repository/snapshot' + } + // Currently needed for Intermediary and other temporary dependencies + maven { + name = 'Fabric' + url = 'https://maven.fabricmc.net/' + } + // Temporarily required until we update Loom Quiltflower + maven { + name = 'Cotton' + url = 'https://server.bbkr.space/artifactory/libs-release/' + } + gradlePluginPortal() + } } diff --git a/src/main/java/com/examplemod/ExampleMod.java b/src/main/java/com/example/example_mod/ExampleMod.java similarity index 55% rename from src/main/java/com/examplemod/ExampleMod.java rename to src/main/java/com/example/example_mod/ExampleMod.java index e7fb014..acc77ee 100644 --- a/src/main/java/com/examplemod/ExampleMod.java +++ b/src/main/java/com/example/example_mod/ExampleMod.java @@ -1,4 +1,4 @@ -package com.examplemod; +package com.example.example_mod; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -6,10 +6,13 @@ import org.quiltmc.loader.api.ModContainer; import org.quiltmc.qsl.base.api.entrypoint.ModInitializer; public class ExampleMod implements ModInitializer { - public static final Logger LOGGER = LogManager.getLogger("ExampleMod"); + // This logger is used to write text to the console and the log file. + // It is considered best practice to use your mod id as the logger's name. + // That way, it's clear which mod wrote info, warnings, and errors. + public static final Logger LOGGER = LogManager.getLogger("Example Mod"); @Override public void onInitialize(ModContainer mod) { - LOGGER.info( "Hello Quilt world from ExampleMod v{}!", mod.metadata().version().raw() ); + LOGGER.info("Hello Quilted world!"); } } diff --git a/src/main/java/com/examplemod/mixin/TitleScreenMixin.java b/src/main/java/com/example/example_mod/mixin/TitleScreenMixin.java similarity index 77% rename from src/main/java/com/examplemod/mixin/TitleScreenMixin.java rename to src/main/java/com/example/example_mod/mixin/TitleScreenMixin.java index c76ceed..070f855 100644 --- a/src/main/java/com/examplemod/mixin/TitleScreenMixin.java +++ b/src/main/java/com/example/example_mod/mixin/TitleScreenMixin.java @@ -1,6 +1,6 @@ -package com.examplemod.mixin; +package com.example.example_mod.mixin; -import com.examplemod.ExampleMod; +import com.example.example_mod.ExampleMod; import net.minecraft.client.gui.screen.TitleScreen; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -9,7 +9,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(TitleScreen.class) public class TitleScreenMixin { - @Inject( method = "init", at = @At("TAIL") ) + @Inject(method = "init", at = @At("TAIL")) public void onInit(CallbackInfo ci) { ExampleMod.LOGGER.info("This line is printed by an example mod mixin!"); } diff --git a/src/main/resources/assets/example_mod/icon.png b/src/main/resources/assets/example_mod/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4c539a428138317ec5f98b72734f1ae91b3c3b09 GIT binary patch literal 2545 zcmVC00009a7bBm000id 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" + "versions": ">=0.16.0-" }, { "id": "quilted_fabric_api", - "versions": "${quilted_fabric_api_version}" + "versions": ">=1.0.0-" }, { "id": "minecraft", - "versions": ">=${minecraft_version}" + "versions": ">=1.18.2" } ] }, - "mixin": [ - "examplemod.mixins.json" - ], - "minecraft": { - "environment": "*" - } + "mixin": "example_mod.mixins.json" } From be5306894c82cac5bf46f0e6fe3862a5b2fbc9f3 Mon Sep 17 00:00:00 2001 From: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> Date: Wed, 20 Apr 2022 16:04:10 -0300 Subject: [PATCH 02/15] Update README --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b2537d8..29cb314 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,9 @@ The official Quilt example mod. You can use it as a template for you own mods! -## To use this template +## Usage + +In order to use this mod as a template: 1. Create a new repository from this template with `Use this Template` 2. Clone the recently-created repo on your PC From 0068b2d93f8faa44ba6ad36a6c78bc86d1922815 Mon Sep 17 00:00:00 2001 From: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> Date: Wed, 20 Apr 2022 16:08:58 -0300 Subject: [PATCH 03/15] Mention dependencies and their need to be updated --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 29cb314..4479745 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ In order to use this mod as a template: - Create a LICENSE file for this mod! If you don't know which license to use, check out [here](https://choosealicense.com/). - If you use `LICENSE.md`, don't forget to update the buildscript in order to use that file name! - Update the Java sub-directory structure so it reflects your Maven group + - If the dependencies on `gradle/libs.versions.toml` isn't up-to-date, feel free to update them! The linked utility should help you in this easy and quick process. 4. The mod is now ready to be worked on! ## License From 0a9b240074f2d2d0ad40a9b2e58754bf9f17ed75 Mon Sep 17 00:00:00 2001 From: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> Date: Wed, 20 Apr 2022 16:23:53 -0300 Subject: [PATCH 04/15] Apply suggestions from code review Co-authored-by: Emma C. Pointer-Null --- .gitignore | 2 +- README.md | 7 ++++--- src/main/java/com/example/example_mod/ExampleMod.java | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 2dea676..785c6a7 100644 --- a/.gitignore +++ b/.gitignore @@ -23,5 +23,5 @@ bin/ .classpath .project -# MacOS +# macOS *.DS_Store diff --git a/README.md b/README.md index 4479745..09fea01 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Quilt Example Mod -The official Quilt example mod. You can use it as a template for you own mods! +The official Quilt example mod. You can use it as a template for your own mods! ## Usage @@ -10,12 +10,13 @@ In order to use this mod as a template: 2. Clone the recently-created repo on your PC 3. Make the necessary changes in order to make it yours: - Update `gradle.properties` in order to use your Maven group and mod ID - - If you don't know which Maven group to use, and you are planning to host the mod's source code on GitHub, use `com.github.` + - If you don't know which Maven group to use, and you are planning to host the mod's source code on GitHub, use `io.github.` - Update `quilt.mod.json` in order to reflect your mod's metadata - - If you are planning to include a mod, don't forget to declare its dependency on it! + - If you are planning to include (jar-in-jar) a mod, don't forget to declare its dependency on it! - The icon provided here is a placeholder one. If you aren't able to replace it yet, you can delete it and remove the "icon" property - Create a LICENSE file for this mod! If you don't know which license to use, check out [here](https://choosealicense.com/). - If you use `LICENSE.md`, don't forget to update the buildscript in order to use that file name! + - The GPLv3 and AGPLv3 are not valid mod licenses, so you can use almost any license except for those. - Update the Java sub-directory structure so it reflects your Maven group - If the dependencies on `gradle/libs.versions.toml` isn't up-to-date, feel free to update them! The linked utility should help you in this easy and quick process. 4. The mod is now ready to be worked on! diff --git a/src/main/java/com/example/example_mod/ExampleMod.java b/src/main/java/com/example/example_mod/ExampleMod.java index acc77ee..efa94a3 100644 --- a/src/main/java/com/example/example_mod/ExampleMod.java +++ b/src/main/java/com/example/example_mod/ExampleMod.java @@ -7,7 +7,7 @@ import org.quiltmc.qsl.base.api.entrypoint.ModInitializer; public class ExampleMod implements ModInitializer { // This logger is used to write text to the console and the log file. - // It is considered best practice to use your mod id as the logger's name. + // It is considered best practice to use your mod name as the logger's name. // That way, it's clear which mod wrote info, warnings, and errors. public static final Logger LOGGER = LogManager.getLogger("Example Mod"); From 38f4f94d7e8a7b1d91b33d4aa3f33c24cc2f661b Mon Sep 17 00:00:00 2001 From: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> Date: Wed, 20 Apr 2022 16:31:43 -0300 Subject: [PATCH 05/15] Manually apply changes --- gradle/libs.versions.toml | 2 +- settings.gradle | 4 ---- src/main/java/com/example/example_mod/ExampleMod.java | 2 +- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e29e61f..1a92c3e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -18,4 +18,4 @@ quilted_fabric_api = { module = "org.quiltmc.quilted-fabric-api:quilted-fabric-a # example = ["example-a", "example-b", "example-c"] [plugins] -quilt_loom = { id = "org.quiltmc.loom", version = "0.12-SNAPSHOT" } +quilt_loom = { id = "org.quiltmc.loom", version = "0.12.+" } diff --git a/settings.gradle b/settings.gradle index 62676fb..b4a8854 100644 --- a/settings.gradle +++ b/settings.gradle @@ -3,10 +3,6 @@ pluginManagement { maven { name = 'Quilt' url = 'https://maven.quiltmc.org/repository/release' - } - maven { - name = 'Quilt Snapshot' - url = 'https://maven.quiltmc.org/repository/snapshot' } // Currently needed for Intermediary and other temporary dependencies maven { diff --git a/src/main/java/com/example/example_mod/ExampleMod.java b/src/main/java/com/example/example_mod/ExampleMod.java index acc77ee..053ca0f 100644 --- a/src/main/java/com/example/example_mod/ExampleMod.java +++ b/src/main/java/com/example/example_mod/ExampleMod.java @@ -13,6 +13,6 @@ public class ExampleMod implements ModInitializer { @Override public void onInitialize(ModContainer mod) { - LOGGER.info("Hello Quilted world!"); + LOGGER.info("Hello Quilt world from Example Mod v{}!", mod.metadata().version().raw()); } } From b685600ca09e5eed7abf12793de277f34f84061e Mon Sep 17 00:00:00 2001 From: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> Date: Wed, 20 Apr 2022 16:42:31 -0300 Subject: [PATCH 06/15] Apply suggestions from code review Co-authored-by: Emma C. Pointer-Null --- README.md | 2 +- build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 09fea01..0cc391a 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ The official Quilt example mod. You can use it as a template for your own mods! In order to use this mod as a template: -1. Create a new repository from this template with `Use this Template` +1. Create a new repository from this template with `Use this template` 2. Clone the recently-created repo on your PC 3. Make the necessary changes in order to make it yours: - Update `gradle.properties` in order to use your Maven group and mod ID diff --git a/build.gradle b/build.gradle index d17aaae..af7d381 100644 --- a/build.gradle +++ b/build.gradle @@ -25,7 +25,7 @@ dependencies { minecraft libs.minecraft mappings loom.layered { addLayer quiltMappings.mappings("org.quiltmc:quilt-mappings:${libs.versions.quilt.mappings.get()}:v2") - // addLayer loom.officialMojangMappings() // Uncomment if you want to use Mojang Mappings as a fallback + // addLayer loom.officialMojangMappings() // Uncomment if you want to use Mojang Mappings as your primary mappings, falling back on QM for parameters and Javadocs } modImplementation libs.quilt.loader From a723e353335b1540b186c12409585eb03122b773 Mon Sep 17 00:00:00 2001 From: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> Date: Wed, 20 Apr 2022 16:43:29 -0300 Subject: [PATCH 07/15] Removed you --- settings.gradle | 5 ----- 1 file changed, 5 deletions(-) diff --git a/settings.gradle b/settings.gradle index b4a8854..79c5c08 100644 --- a/settings.gradle +++ b/settings.gradle @@ -8,11 +8,6 @@ pluginManagement { maven { name = 'Fabric' url = 'https://maven.fabricmc.net/' - } - // Temporarily required until we update Loom Quiltflower - maven { - name = 'Cotton' - url = 'https://server.bbkr.space/artifactory/libs-release/' } gradlePluginPortal() } From 9546c6216884e71be09a8d2c815d0dda15d42bed Mon Sep 17 00:00:00 2001 From: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> Date: Wed, 20 Apr 2022 17:01:00 -0300 Subject: [PATCH 08/15] Add .editorconfig --- .editorconfig | 34 ++++++++++++++++++++++ build.gradle | 8 ++--- src/main/resources/example_mod.mixins.json | 2 +- 3 files changed, 39 insertions(+), 5 deletions(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..0908154 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,34 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +tab_width = 4 +trim_trailing_whitespace = true + +[*.gradle] +indent_style = tab + +[*.java] +indent_style = tab + +[*.json] +indent_style = space +indent_size = 2 + +[quilt.mod.json] +indent_style = tab +tab_width = 2 + +[*.toml] +indent_style = tab +tab_width = 2 + +[*.properties] +indent_style = space +indent_size = 2 + +[.editorconfig] +indent_style = space +indent_size = 4 diff --git a/build.gradle b/build.gradle index af7d381..cf2956a 100644 --- a/build.gradle +++ b/build.gradle @@ -3,10 +3,6 @@ plugins { alias(libs.plugins.quilt.loom) } -// Still required by IDEs such as Eclipse and Visual Studio Code -sourceCompatibility = JavaVersion.VERSION_17 -targetCompatibility = JavaVersion.VERSION_17 - archivesBaseName = project.archives_base_name version = project.version group = project.maven_group @@ -53,6 +49,10 @@ tasks.withType(JavaCompile).configureEach { } java { + // Still required by IDEs such as Eclipse and Visual Studio Code + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task if it is present. // If you remove this line, sources will not be generated. withSourcesJar() diff --git a/src/main/resources/example_mod.mixins.json b/src/main/resources/example_mod.mixins.json index d525ffd..a92cc78 100644 --- a/src/main/resources/example_mod.mixins.json +++ b/src/main/resources/example_mod.mixins.json @@ -10,4 +10,4 @@ "injectors": { "defaultRequire": 1 } -} \ No newline at end of file +} From 3496e04a2fdc14d0c2c2f69472677bc9543b7817 Mon Sep 17 00:00:00 2001 From: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> Date: Wed, 20 Apr 2022 17:09:52 -0300 Subject: [PATCH 09/15] Update build.gradle Co-authored-by: NoComment <67918617+NoComment1105@users.noreply.github.com> --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index cf2956a..539ec12 100644 --- a/build.gradle +++ b/build.gradle @@ -21,7 +21,7 @@ dependencies { minecraft libs.minecraft mappings loom.layered { addLayer quiltMappings.mappings("org.quiltmc:quilt-mappings:${libs.versions.quilt.mappings.get()}:v2") - // addLayer loom.officialMojangMappings() // Uncomment if you want to use Mojang Mappings as your primary mappings, falling back on QM for parameters and Javadocs + // officialMojangMappings() // Uncomment if you want to use Mojang Mappings as your primary mappings, falling back on QM for parameters and Javadocs } modImplementation libs.quilt.loader From 1b54cf709c435c58e168cf72cbd72b79270b6d61 Mon Sep 17 00:00:00 2001 From: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> Date: Wed, 20 Apr 2022 17:11:34 -0300 Subject: [PATCH 10/15] Apply more suggestions --- build.gradle | 2 +- settings.gradle | 22 +++++++++---------- .../com/example/example_mod/ExampleMod.java | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/build.gradle b/build.gradle index cf2956a..539ec12 100644 --- a/build.gradle +++ b/build.gradle @@ -21,7 +21,7 @@ dependencies { minecraft libs.minecraft mappings loom.layered { addLayer quiltMappings.mappings("org.quiltmc:quilt-mappings:${libs.versions.quilt.mappings.get()}:v2") - // addLayer loom.officialMojangMappings() // Uncomment if you want to use Mojang Mappings as your primary mappings, falling back on QM for parameters and Javadocs + // officialMojangMappings() // Uncomment if you want to use Mojang Mappings as your primary mappings, falling back on QM for parameters and Javadocs } modImplementation libs.quilt.loader diff --git a/settings.gradle b/settings.gradle index 79c5c08..d969e34 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,14 +1,14 @@ pluginManagement { - repositories { - maven { - name = 'Quilt' - url = 'https://maven.quiltmc.org/repository/release' - } + repositories { + maven { + name = 'Quilt' + url = 'https://maven.quiltmc.org/repository/release' + } // Currently needed for Intermediary and other temporary dependencies - maven { - name = 'Fabric' - url = 'https://maven.fabricmc.net/' - } - gradlePluginPortal() - } + maven { + name = 'Fabric' + url = 'https://maven.fabricmc.net/' + } + gradlePluginPortal() + } } diff --git a/src/main/java/com/example/example_mod/ExampleMod.java b/src/main/java/com/example/example_mod/ExampleMod.java index 9db5f50..d1a71b2 100644 --- a/src/main/java/com/example/example_mod/ExampleMod.java +++ b/src/main/java/com/example/example_mod/ExampleMod.java @@ -13,6 +13,6 @@ public class ExampleMod implements ModInitializer { @Override public void onInitialize(ModContainer mod) { - LOGGER.info("Hello Quilt world from Example Mod v{}!", mod.metadata().version().raw()); + LOGGER.info("Hello Quilt world from {} v{}!", mod.metadata().name(), mod.metadata().version().raw()); } } From 35caf7e2bb6bc543cfa280f7e22c1ab9e97799d9 Mon Sep 17 00:00:00 2001 From: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> Date: Wed, 20 Apr 2022 17:53:20 -0300 Subject: [PATCH 11/15] Mojmap is all lowercase iirc --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 539ec12..f15ff34 100644 --- a/build.gradle +++ b/build.gradle @@ -21,7 +21,7 @@ dependencies { minecraft libs.minecraft mappings loom.layered { addLayer quiltMappings.mappings("org.quiltmc:quilt-mappings:${libs.versions.quilt.mappings.get()}:v2") - // officialMojangMappings() // Uncomment if you want to use Mojang Mappings as your primary mappings, falling back on QM for parameters and Javadocs + // officialMojangMappings() // Uncomment if you want to use Mojang mappings as your primary mappings, falling back on QM for parameters and Javadocs } modImplementation libs.quilt.loader From 86571533ebcbf66681b495a3708f5445829a606c Mon Sep 17 00:00:00 2001 From: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> Date: Wed, 20 Apr 2022 17:54:18 -0300 Subject: [PATCH 12/15] Add a helpful migration note, changes --- build.gradle | 2 +- gradle.properties | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index f15ff34..8634b42 100644 --- a/build.gradle +++ b/build.gradle @@ -15,7 +15,7 @@ repositories { // for more information about repositories. } -// All the dependencies are declared at "./gradle/libs.version.toml" and referenced with "libs." +// All the dependencies are declared at gradle/libs.version.toml and referenced with "libs." // See https://docs.gradle.org/current/userguide/platforms.html for information on how version catalogs work. dependencies { minecraft libs.minecraft diff --git a/gradle.properties b/gradle.properties index 3c9abde..6cc5884 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,3 +7,5 @@ org.gradle.caching = true version = 1.0.0 maven_group = com.example archives_base_name = example_mod + +# Dependencies are managed at gradle/libs.versions.toml From cb3b99397d7dbb6a1b634ab709319b66fc8426ec Mon Sep 17 00:00:00 2001 From: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> Date: Wed, 20 Apr 2022 19:21:17 -0300 Subject: [PATCH 13/15] Hopefully finish everything --- README.md | 1 + build.gradle | 6 +----- gradle/libs.versions.toml | 2 +- src/main/java/com/example/example_mod/ExampleMod.java | 6 +++--- src/main/resources/quilt.mod.json | 3 +-- 5 files changed, 7 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 0cc391a..022f983 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ In order to use this mod as a template: - The icon provided here is a placeholder one. If you aren't able to replace it yet, you can delete it and remove the "icon" property - Create a LICENSE file for this mod! If you don't know which license to use, check out [here](https://choosealicense.com/). - If you use `LICENSE.md`, don't forget to update the buildscript in order to use that file name! + - On `quilt.mod.json`, don't forget to put in `"metadata"` a `"license"` property that contains the license's [SPDX identifier](https://spdx.org/licenses/). - The GPLv3 and AGPLv3 are not valid mod licenses, so you can use almost any license except for those. - Update the Java sub-directory structure so it reflects your Maven group - If the dependencies on `gradle/libs.versions.toml` isn't up-to-date, feel free to update them! The linked utility should help you in this easy and quick process. diff --git a/build.gradle b/build.gradle index 8634b42..99b2b7c 100644 --- a/build.gradle +++ b/build.gradle @@ -32,13 +32,9 @@ dependencies { processResources { inputs.property "version", version - inputs.property "group", group filesMatching('quilt.mod.json') { - expand( - "version": version, - "group": group - ) + expand "version": version } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1a92c3e..ed1a21e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ minecraft = "1.18.2" quilt_mappings = "1.18.2+build.22" quilt_loader = "0.16.0-beta.7" -quilted_fabric_api = "1.0.0-beta.5+0.48.0-1.18.2" +quilted_fabric_api = "1.0.0-beta.6+0.51.1-1.18.2" [libraries] minecraft = { module = "com.mojang:minecraft", version.ref = "minecraft" } diff --git a/src/main/java/com/example/example_mod/ExampleMod.java b/src/main/java/com/example/example_mod/ExampleMod.java index d1a71b2..27b6648 100644 --- a/src/main/java/com/example/example_mod/ExampleMod.java +++ b/src/main/java/com/example/example_mod/ExampleMod.java @@ -1,15 +1,15 @@ package com.example.example_mod; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; import org.quiltmc.loader.api.ModContainer; import org.quiltmc.qsl.base.api.entrypoint.ModInitializer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class ExampleMod implements ModInitializer { // This logger is used to write text to the console and the log file. // It is considered best practice to use your mod name as the logger's name. // That way, it's clear which mod wrote info, warnings, and errors. - public static final Logger LOGGER = LogManager.getLogger("Example Mod"); + public static final Logger LOGGER = LoggerFactory.getLogger("Example Mod"); @Override public void onInitialize(ModContainer mod) { diff --git a/src/main/resources/quilt.mod.json b/src/main/resources/quilt.mod.json index 4b72dfc..5206e5a 100644 --- a/src/main/resources/quilt.mod.json +++ b/src/main/resources/quilt.mod.json @@ -1,7 +1,7 @@ { "schema_version": 1, "quilt_loader": { - "group": "${group}", + "group": "com.example", "id": "example_mod", "version": "${version}", "metadata": { @@ -10,7 +10,6 @@ "contributors": { "Me!": "Owner" }, - "license": "ARR", "icon": "assets/example_mod/icon.png" }, "intermediate_mappings": "net.fabricmc:intermediary", From 837be28ec2a2b66785924ca21d2066098b7e7651 Mon Sep 17 00:00:00 2001 From: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> Date: Wed, 20 Apr 2022 19:26:28 -0300 Subject: [PATCH 14/15] Clean up this bit --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 99b2b7c..c4826ff 100644 --- a/build.gradle +++ b/build.gradle @@ -41,7 +41,7 @@ processResources { tasks.withType(JavaCompile).configureEach { it.options.encoding = "UTF-8" // Minecraft 1.18 (1.18-pre2) upwards uses Java 17. - it.options.release.set(17) + it.options.release = 17 } java { From 00a74d868bc1cbd1b30044fe98fcd16420a43619 Mon Sep 17 00:00:00 2001 From: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> Date: Wed, 20 Apr 2022 19:57:22 -0300 Subject: [PATCH 15/15] Remove caching The "the cache will now be global!" seems way too risky --- gradle.properties | 1 - 1 file changed, 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 6cc5884..0f3bd13 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,6 @@ # Gradle Properties org.gradle.jvmargs = -Xmx1G org.gradle.parallel = true -org.gradle.caching = true # Mod Properties version = 1.0.0