From 9a8b7e6030ec6152d9d2e740ac45e07c0aaea969 Mon Sep 17 00:00:00 2001 From: JXSnack Date: Sat, 12 Jul 2025 18:58:41 +0200 Subject: [PATCH 1/3] add injection points --- fabric/1.21.3/files/build.gradle | 10 +++++++++- fabric/1.21.3/files/gradle.properties | 5 ++++- fabric/1.21.3/files/java/Main.java | 4 ++++ fabric/1.21.3/files/java/MainDataGenerator.java | 5 ++++- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/fabric/1.21.3/files/build.gradle b/fabric/1.21.3/files/build.gradle index 929f46d..773244e 100644 --- a/fabric/1.21.3/files/build.gradle +++ b/fabric/1.21.3/files/build.gradle @@ -1,13 +1,16 @@ plugins { id 'fabric-loom' version '1.10-SNAPSHOT' id 'maven-publish' + :: plugins :: } version = project.mod_version group = project.maven_group +:: top :: base { archivesName = project.archives_base_name + :: base :: } repositories { @@ -16,10 +19,12 @@ repositories { // 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. + :: repositories :: } fabricApi { configureDataGeneration() + :: fabricApi :: } dependencies { @@ -30,7 +35,7 @@ dependencies { // Fabric API. This is technically optional, but you probably want it anyway. modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - + :: dependencies :: } processResources { @@ -53,12 +58,14 @@ java { sourceCompatibility = JavaVersion.VERSION_%mkmod:javaVersion% targetCompatibility = JavaVersion.VERSION_%mkmod:javaVersion% + :: java :: } jar { from("LICENSE") { rename { "${it}_${project.base.archivesName.get()}"} } + :: jar :: } // configure the maven publication @@ -76,5 +83,6 @@ publishing { // 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. + :: publishing-repositories :: } } \ No newline at end of file diff --git a/fabric/1.21.3/files/gradle.properties b/fabric/1.21.3/files/gradle.properties index 215a890..38d5053 100644 --- a/fabric/1.21.3/files/gradle.properties +++ b/fabric/1.21.3/files/gradle.properties @@ -4,11 +4,14 @@ org.gradle.parallel=true minecraft_version=%mkmod:version% yarn_mappings=%mkmod:version%+%mkmod:yarn% loader_version=%mkmod:loader% +:: loader :: # Mod Properties mod_version=1.0.0 maven_group=%mkmod:package% archives_base_name=%mkmod:id% +:: properties :: # Dependencies -fabric_version=%mkmod:fabricApi%+%mkmod:version% \ No newline at end of file +fabric_version=%mkmod:fabricApi%+%mkmod:version% +:: dependencies :: diff --git a/fabric/1.21.3/files/java/Main.java b/fabric/1.21.3/files/java/Main.java index be35221..81becf1 100644 --- a/fabric/1.21.3/files/java/Main.java +++ b/fabric/1.21.3/files/java/Main.java @@ -1,6 +1,7 @@ package %mkmod:package%; import net.fabricmc.api.ModInitializer; +:: imports :: import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -12,6 +13,7 @@ public class %mkmod:main% implements ModInitializer { // 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 = LoggerFactory.getLogger(MOD_ID); + :: TOP :: @Override public void onInitialize() { @@ -20,5 +22,7 @@ public void onInitialize() { // Proceed with mild caution. LOGGER.info("Hello Fabric world!"); + :: init :: } + :: TAIL :: } \ No newline at end of file diff --git a/fabric/1.21.3/files/java/MainDataGenerator.java b/fabric/1.21.3/files/java/MainDataGenerator.java index c252670..80ad8ca 100644 --- a/fabric/1.21.3/files/java/MainDataGenerator.java +++ b/fabric/1.21.3/files/java/MainDataGenerator.java @@ -2,10 +2,13 @@ import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint; import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; +:: imports :: public class %mkmod:main%DataGenerator implements DataGeneratorEntrypoint { + :: TOP :: @Override public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) { - + :: init :: } + :: TAIL :: } From 20219fd470c98044010e98f0cb8d417aac97e64b Mon Sep 17 00:00:00 2001 From: JXSnack Date: Sat, 12 Jul 2025 18:58:51 +0200 Subject: [PATCH 2/3] update latest --- update.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/update.json b/update.json index bab314f..174dd8f 100644 --- a/update.json +++ b/update.json @@ -1,3 +1,3 @@ { - "latest": "1.1.2" + "latest": "1.2.0" } \ No newline at end of file From 66283f62d2302108d614a32cd56e508d5a56555f Mon Sep 17 00:00:00 2001 From: JXSnack Date: Sat, 12 Jul 2025 19:04:27 +0200 Subject: [PATCH 3/3] add extension info to README.md --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 3c25974..76118ff 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,13 @@ the latest Minecraft version. Example:\ `mkmod -name "Example Mod" examplemod me.jxsnack.example ExampleMod` +**With extensions**\ +If you want to add an extension, for example the Create Addon template extension, you can use the `-extension` +parameter. + +Example:\ +`mkmod -name "Example Mod" -extension "create-addon" examplemod me.jxsnack.example ExampleMod` + --- If you want to change platform or version, first make sure mkmod supports it. If it doesn't, but you want it to support