User: kyle wood Date: 01 Feb 26 23:17 Revision: eeeb98daa0d11163fcd9a2bff25127242e263305 Summary: Update templates submodule to v2 TeamCity URL: http://ci.mcdev.io:80/viewModification.html?tab=vcsModificationFiles&modId=10404&personal=false Index: templates/.gitattributes.ft =================================================================== --- templates/.gitattributes.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) +++ templates/.gitattributes.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -0,0 +1,11 @@ +# +# https://help.github.com/articles/dealing-with-line-endings/ +# +# Linux start script should use lf +/gradlew text eol=lf + +# These are Windows script files and should use crlf +*.bat text eol=crlf + +# Binary files should be left untouched +*.jar binary Index: templates/.gitignore =================================================================== --- templates/.gitignore (revision eeeb98daa0d11163fcd9a2bff25127242e263305) +++ templates/.gitignore (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -0,0 +1,1 @@ +.idea Index: templates/Gradle.gitignore.ft =================================================================== --- templates/Gradle.gitignore.ft (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/Gradle.gitignore.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -1,124 +1,21 @@ -# User-specific stuff -.idea/ +# MacOS DS_Store files +.DS_Store -*.iml -*.ipr -*.iws +# Gradle cache folder +.gradle +# Gradle build folder +build + # IntelliJ out/ +.idea +*.iml # mpeltonen/sbt-idea plugin .idea_modules/ -# JIRA plugin -atlassian-ide-plugin.xml - -# Compiled class file -*.class - -# Log file -*.log - -# BlueJ files -*.ctxt - -# Package Files # -*.jar -*.war -*.nar -*.ear -*.zip -*.tar.gz -*.rar - # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* -### Linux ### -*~ - -# temporary files which can be created if a process still has a handle open of a deleted file -.fuse_hidden* - -# KDE directory preferences -.directory - -# Linux trash folder which might appear on any partition or disk -.Trash-* - -# .nfs files are created when an open file is removed but is still being accessed -.nfs* - -### macOS ### -# General -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - -### Windows ### -# Windows thumbnail cache files -Thumbs.db -Thumbs.db:encryptable -ehthumbs.db -ehthumbs_vista.db - -# Dump file -*.stackdump - -# Folder config file -[Dd]esktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msix -*.msm -*.msp - -# Windows shortcuts -*.lnk - -### Gradle ### -.gradle -build/ - -# Ignore Gradle GUI config -gradle-app.setting - -# Cache of project -.gradletasknamecache - -### Gradle Patch ### -**/build/ - # Common working directory -run/ -runs/ - -# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) -!gradle-wrapper.jar +run Index: templates/architectury/.mcdev.template.json =================================================================== --- templates/architectury/.mcdev.template.json (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/architectury/.mcdev.template.json (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "group": "mod", "properties": [ { Index: templates/bukkit/BootstrapClass.java.ft =================================================================== --- templates/bukkit/BootstrapClass.java.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) +++ templates/bukkit/BootstrapClass.java.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -0,0 +1,12 @@ +package ${MAIN_CLASS.packageName}; + +import io.papermc.paper.plugin.bootstrap.BootstrapContext; +import io.papermc.paper.plugin.bootstrap.PluginBootstrap; + +class ${MAIN_CLASS.className}Bootstrap implements PluginBootstrap { + + @Override + public void bootstrap(final BootstrapContext context) { + // Plugin bootstrap logic + } +} Index: templates/bukkit/BootstrapClass.kt.ft =================================================================== --- templates/bukkit/BootstrapClass.kt.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) +++ templates/bukkit/BootstrapClass.kt.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -0,0 +1,11 @@ +package ${MAIN_CLASS.packageName} + +import io.papermc.paper.plugin.bootstrap.BootstrapContext +import io.papermc.paper.plugin.bootstrap.PluginBootstrap + +internal class ${MAIN_CLASS.className}Bootstrap : PluginBootstrap { + + override fun bootstrap(context: BootstrapContext) { + // Plugin bootstrap logic + } +} Index: templates/bukkit/LoaderClass.java.ft =================================================================== --- templates/bukkit/LoaderClass.java.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) +++ templates/bukkit/LoaderClass.java.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -0,0 +1,12 @@ +package ${MAIN_CLASS.packageName}; + +import io.papermc.paper.plugin.loader.PluginClasspathBuilder; +import io.papermc.paper.plugin.loader.PluginLoader; + +class ${MAIN_CLASS.className}Loader implements PluginLoader { + + @Override + public void classloader(final PluginClasspathBuilder builder) { + // Add dynamically loaded libraries here + } +} Index: templates/bukkit/LoaderClass.kt.ft =================================================================== --- templates/bukkit/LoaderClass.kt.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) +++ templates/bukkit/LoaderClass.kt.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -0,0 +1,11 @@ +package ${MAIN_CLASS.packageName} + +import io.papermc.paper.plugin.loader.PluginClasspathBuilder +import io.papermc.paper.plugin.loader.PluginLoader + +internal class ${MAIN_CLASS.className}Loader : PluginLoader { + + override fun classloader(builder: PluginClasspathBuilder) { + // Add dynamically loaded libraries here + } +} Index: templates/bukkit/MainClass.java.ft =================================================================== --- templates/bukkit/MainClass.java.ft (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/bukkit/MainClass.java.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -7,7 +7,6 @@ @Override public void onEnable() { // Plugin startup logic - } @Override Index: templates/bukkit/build.gradle.ft =================================================================== --- templates/bukkit/build.gradle.ft (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/bukkit/build.gradle.ft (revision 419823852f2350b939a6b5eef713e0482f83540c) @@ -1,71 +0,0 @@ -plugins { - id 'java' - id("xyz.jpenilla.run-paper") version "2.3.1" -} - -group = '${BUILD_COORDS.groupId}' -version = '${BUILD_COORDS.version}' - -repositories { - mavenCentral() -#if ($IS_SPIGOT) - maven { - name = "spigotmc-repo" - url = "https://hub.spigotmc.org/nexus/content/repositories/snapshots/" - } -#elseif ($IS_PAPER) - maven { - name = "papermc-repo" - url = "https://repo.papermc.io/repository/maven-public/" - } -#end -} - -dependencies { -#if ($IS_SPIGOT) - compileOnly("org.spigotmc:spigot-api:${MC_VERSION}-R0.1-SNAPSHOT") -#elseif ($IS_PAPER) - compileOnly("io.papermc.paper:paper-api:${MC_VERSION}-R0.1-SNAPSHOT") -#end -} - -tasks { - runServer { - // Configure the Minecraft version for our task. - // This is the only required configuration besides applying the plugin. - // Your plugin's jar (or shadowJar if present) will be used automatically. - minecraftVersion("${API_VERSION}") - } -} - -def targetJavaVersion = ${JAVA_VERSION} -java { - def javaVersion = JavaVersion.toVersion(targetJavaVersion) - sourceCompatibility = javaVersion - targetCompatibility = javaVersion - if (JavaVersion.current() < javaVersion) { - toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion) - } -} - -tasks.withType(JavaCompile).configureEach { - options.encoding = 'UTF-8' - - if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) { - options.release.set(targetJavaVersion) - } -} - -#if ($USE_PAPER_MANIFEST) - #set($MANIFEST_NAME = 'paper-plugin.yml') -#else - #set($MANIFEST_NAME = 'plugin.yml') -#end -processResources { - def props = [version: version] - inputs.properties props - filteringCharset 'UTF-8' - filesMatching('${MANIFEST_NAME}') { - expand props - } -} Index: templates/bukkit/build.gradle.kts.ft =================================================================== --- templates/bukkit/build.gradle.kts.ft (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/bukkit/build.gradle.kts.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -1,62 +1,188 @@ +#if ($RESOURCE_FACTORY_PLUGIN.enabled && $LOAD_AT != "POSTWORLD") +import xyz.jpenilla.resourcefactory.bukkit.BukkitPluginYaml + +#end plugins { - kotlin("jvm") version "${KOTLIN_VERSION}" - id("com.gradleup.shadow") version "8.3.0" - id("xyz.jpenilla.run-paper") version "2.3.1" +#if ($LANGUAGE=='Java') + id("java-library") +#elseif ($LANGUAGE == 'Kotlin') + kotlin("jvm") version #if ($USE_VERSION_CATALOG) libs.versions.kotlin.get() #else "${KOTLIN_VERSION}" #end +#end +#if ($USE_VERSION_CATALOG) +#if ($PAPERWEIGHT_USERDEV_PLUGIN.enabled) + alias(libs.plugins.paperweight.userdev) +#end +#if ($SHADOW_PLUGIN.enabled) + alias(libs.plugins.shadow) +#end +#if ($RUN_PAPER_PLUGIN.enabled) + alias(libs.plugins.run.paper) +#end +#if ($RESOURCE_FACTORY_PLUGIN.enabled && $USE_PAPER_MANIFEST) + alias(libs.plugins.resource.factory.paper) +#elseif ($RESOURCE_FACTORY_PLUGIN.enabled && !$USE_PAPER_MANIFEST) + alias(libs.plugins.resource.factory.bukkit) +#end +#if ($GREMLIN_PLUGIN.enabled) + alias(libs.plugins.gremlin.gradle) +#end +#else +#if ($PAPERWEIGHT_USERDEV_PLUGIN.enabled) + id("io.papermc.paperweight.userdev") version "$PAPERWEIGHT_USERDEV_PLUGIN.version" +#end +#if ($SHADOW_PLUGIN.enabled) + id("com.gradleup.shadow") version "$SHADOW_PLUGIN.version" +#end +#if ($RUN_PAPER_PLUGIN.enabled) + id("xyz.jpenilla.run-paper") version "$RUN_PAPER_PLUGIN.version" +#end +#if ($RESOURCE_FACTORY_PLUGIN.enabled && $USE_PAPER_MANIFEST) + id("xyz.jpenilla.resource-factory-paper-convention") version "$RESOURCE_FACTORY_PLUGIN.version" +#elseif ($RESOURCE_FACTORY_PLUGIN.enabled && !$USE_PAPER_MANIFEST) + id("xyz.jpenilla.resource-factory-bukkit-convention") version "$RESOURCE_FACTORY_PLUGIN.version" +#end +#if ($GREMLIN_PLUGIN.enabled) + id("xyz.jpenilla.gremlin-gradle") version "$GREMLIN_PLUGIN.version" +#end +#end } -group = "${BUILD_COORDS.groupId}" -version = "${BUILD_COORDS.version}" - repositories { mavenCentral() #if ($IS_SPIGOT) - maven("https://hub.spigotmc.org/nexus/content/repositories/snapshots/") { - name = "spigotmc-repo" + maven("https://hub.spigotmc.org/nexus/content/repositories/snapshots/") +#elseif ($IS_PAPER && !$PAPERWEIGHT_USERDEV_PLUGIN.enabled) + maven("https://repo.papermc.io/repository/maven-public/") +#end - } +} -#elseif ($IS_PAPER) - maven("https://repo.papermc.io/repository/maven-public/") { - name = "papermc-repo" +#if ($GREMLIN_PLUGIN.enabled) + +configurations.compileOnly { + extendsFrom(configurations.runtimeDownload.get()) - } +} #end -} dependencies { -#if ($IS_SPIGOT) +#if ($IS_SPIGOT && !$USE_VERSION_CATALOG) compileOnly("org.spigotmc:spigot-api:${MC_VERSION}-R0.1-SNAPSHOT") -#elseif ($IS_PAPER) +#elseif ($IS_SPIGOT && $USE_VERSION_CATALOG) + compileOnly(libs.spigot.api) +#elseif ($IS_PAPER && !$PAPERWEIGHT_USERDEV_PLUGIN.enabled && !$USE_VERSION_CATALOG) compileOnly("io.papermc.paper:paper-api:${MC_VERSION}-R0.1-SNAPSHOT") +#elseif ($IS_PAPER && !$PAPERWEIGHT_USERDEV_PLUGIN.enabled && $USE_VERSION_CATALOG) + compileOnly(libs.paper.api) +#elseif ($IS_PAPER && $PAPERWEIGHT_USERDEV_PLUGIN.enabled && !$USE_VERSION_CATALOG) + paperweight.paperDevBundle("${MC_VERSION}-R0.1-SNAPSHOT") +#elseif ($IS_PAPER && $PAPERWEIGHT_USERDEV_PLUGIN.enabled && $USE_VERSION_CATALOG) + paperweight.paperDevBundle(libs.versions.paper.api.get()) #end +#if ($GREMLIN_PLUGIN.enabled && !$USE_VERSION_CATALOG) + implementation("xyz.jpenilla:gremlin-runtime:$GREMLIN_PLUGIN.version") +#elseif ($GREMLIN_PLUGIN.enabled && $USE_VERSION_CATALOG) + implementation(libs.gremlin.runtime) +#end +#if ($LANGUAGE=='Kotlin' && !$USE_VERSION_CATALOG && !$GREMLIN_PLUGIN.enabled) implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") +#elseif ($LANGUAGE=='Kotlin' && $USE_VERSION_CATALOG && !$GREMLIN_PLUGIN.enabled) + implementation(libs.kotlin.stdlib) +#elseif ($LANGUAGE=='Kotlin' && !$USE_VERSION_CATALOG && $GREMLIN_PLUGIN.enabled) + runtimeDownload("org.jetbrains.kotlin:kotlin-stdlib-jdk8") +#elseif ($LANGUAGE=='Kotlin' && $USE_VERSION_CATALOG && $GREMLIN_PLUGIN.enabled) + runtimeDownload(libs.kotlin.stdlib) +#end } +#if ($RESOURCE_FACTORY_PLUGIN.enabled) -tasks { - runServer { - // Configure the Minecraft version for our task. - // This is the only required configuration besides applying the plugin. - // Your plugin's jar (or shadowJar if present) will be used automatically. - minecraftVersion("${API_VERSION}") +#if ($USE_PAPER_MANIFEST) +paperPluginYaml { +#else +bukkitPluginYaml { +#end + main = "${MAIN_CLASS}" +#if (${INCLUDE_PLUGIN_BOOTSTRAP}) + bootstrapper = "${MAIN_CLASS.packageName}.${MAIN_CLASS.className}Bootstrap" +#end +#if (${INCLUDE_PLUGIN_LOADER} && !${GREMLIN_PLUGIN.enabled} && !${USE_PAPER_MANIFEST}) + paperPluginLoader = "${MAIN_CLASS.packageName}.${MAIN_CLASS.className}Loader" +#elseif (${GREMLIN_PLUGIN.enabled} && !${USE_PAPER_MANIFEST}) + paperPluginLoader = "xyz.jpenilla.gremlin.runtime.platformsupport.DefaultsPaperPluginLoader" +#elseif (${INCLUDE_PLUGIN_LOADER} && !${GREMLIN_PLUGIN.enabled} && ${USE_PAPER_MANIFEST}) + loader = "${MAIN_CLASS.packageName}.${MAIN_CLASS.className}Loader" +#elseif (${GREMLIN_PLUGIN.enabled} && ${USE_PAPER_MANIFEST}) + loader = "xyz.jpenilla.gremlin.runtime.platformsupport.DefaultsPaperPluginLoader" +#end +#if ($API_VERSION) + apiVersion = "${API_VERSION}" +#end +#if ($AUTHORS || $WEBSITE || $LOG_PREFIX || $LOAD_AT != "POSTWORLD") + +#end +#if ($LOAD_AT != "POSTWORLD") + load = BukkitPluginYaml.PluginLoadOrder.$LOAD_AT +#end +#if ($AUTHORS) + authors.addAll(${AUTHORS.toStringQuoted()}) +#end +#if ($WEBSITE) + website = "${WEBSITE}" +#end +#if ($LOG_PREFIX) + prefix = "${LOG_PREFIX}" +#end - } +} -} +#end -val targetJavaVersion = ${JAVA_VERSION} +#if ($LANGUAGE=='Java') +java { + toolchain.languageVersion = JavaLanguageVersion.of(${JAVA_VERSION}) +} +#else kotlin { - jvmToolchain(targetJavaVersion) + jvmToolchain(${JAVA_VERSION}) } +#end -tasks.build { - dependsOn("shadowJar") +#if ($SHADOW_PLUGIN.enabled || $RUN_PAPER_PLUGIN.enabled || !$RESOURCE_FACTORY_PLUGIN.enabled) +tasks { +#if ($SHADOW_PLUGIN.enabled) + build { + dependsOn(shadowJar) -} + } +#end +#if ($RUN_PAPER_PLUGIN.enabled) +#if ($SHADOW_PLUGIN.enabled) +#end + runServer { +#if ($USE_VERSION_CATALOG) + minecraftVersion(libs.versions.minecraft.get()) +#else + // Configure the Minecraft version for our task. + // This is the only required configuration besides applying the plugin. + // Your plugin's jar (or shadowJar if present) will be used automatically. + minecraftVersion("${MC_VERSION}") +#end +#if ($ACCEPT_EULA) + jvmArgs("-Xms2G", "-Xmx2G", "-Dcom.mojang.eula.agree=true") +#else + jvmArgs("-Xms2G", "-Xmx2G") +#end + } +#end +#if (!$RESOURCE_FACTORY_PLUGIN.enabled) +#if ($SHADOW_PLUGIN.enabled || $RUN_PAPER_PLUGIN.enabled) + +#end + processResources { + val props = mapOf("version" to version #if ($DESCRIPTION), "description" to project.description #end) #if ($USE_PAPER_MANIFEST) - #set($MANIFEST_NAME = "paper-plugin.yml") + filesMatching("paper-plugin.yml") { #else - #set($MANIFEST_NAME = "plugin.yml") + filesMatching("plugin.yml") { #end -tasks.processResources { - val props = mapOf("version" to version) - inputs.properties(props) - filteringCharset = "UTF-8" - filesMatching("${MANIFEST_NAME}") { - expand(props) - } -} + expand(props) + } + } +#end +} +#end \ No newline at end of file Index: templates/bukkit/gradle.properties.ft =================================================================== --- templates/bukkit/gradle.properties.ft (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/bukkit/gradle.properties.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -1,0 +1,9 @@ +group=${BUILD_COORDS.groupId} +version=${BUILD_COORDS.version} +#if ($DESCRIPTION) +description=${DESCRIPTION} +#end + +org.gradle.configuration-cache=true +org.gradle.parallel=true +org.gradle.caching=true Index: templates/bukkit/libs.versions.toml.ft =================================================================== --- templates/bukkit/libs.versions.toml.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) +++ templates/bukkit/libs.versions.toml.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -0,0 +1,61 @@ +[versions] +#if ($LANGUAGE=='Kotlin') +kotlin = "$KOTLIN_VERSION" + +#end +#if ($IS_PAPER) +paper-api = "${MC_VERSION}-R0.1-SNAPSHOT" +#elseif ($IS_SPIGOT) +spigot-api = "${MC_VERSION}-R0.1-SNAPSHOT" +#end +#if ($RUN_PAPER_PLUGIN.enabled) +minecraft = "${MC_VERSION}" +#end + +#if ($PAPERWEIGHT_USERDEV_PLUGIN.enabled) +paperweight-userdev = "$PAPERWEIGHT_USERDEV_PLUGIN.version" +#end +#if ($SHADOW_PLUGIN.enabled) +shadow = "$SHADOW_PLUGIN.version" +#end +#if ($RUN_PAPER_PLUGIN.enabled) +run-task = "$RUN_PAPER_PLUGIN.version" +#end +#if ($RESOURCE_FACTORY_PLUGIN.enabled) +resource-factory = "$RESOURCE_FACTORY_PLUGIN.version" +#end +#if ($GREMLIN_PLUGIN.enabled) +gremlin = "$GREMLIN_PLUGIN.version" +#end + +[libraries] +#if ($IS_PAPER && !$PAPERWEIGHT_USERDEV_PLUGIN.enabled) +paper-api = { module = "io.papermc.paper:paper-api", version.ref = "paper-api" } +#elseif ($IS_SPIGOT) +spigot-api = { module = "org.spigotmc:spigot-api", version.ref = "spigot-api" } +#end +#if ($LANGUAGE=='Kotlin') +kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin" } +#end +#if ($GREMLIN_PLUGIN.enabled) +gremlin-runtime = { module = "xyz.jpenilla:gremlin-runtime", version.ref = "gremlin" } +#end + +[plugins] +#if ($PAPERWEIGHT_USERDEV_PLUGIN.enabled) +paperweight-userdev = { id = "io.papermc.paperweight.userdev", version.ref = "paperweight-userdev" } +#end +#if ($SHADOW_PLUGIN.enabled) +shadow = { id = "com.gradleup.shadow", version.ref = "shadow" } +#end +#if ($RUN_PAPER_PLUGIN.enabled) +run-paper = { id = "xyz.jpenilla.run-paper", version.ref = "run-task" } +#end +#if ($RESOURCE_FACTORY_PLUGIN.enabled && $USE_PAPER_MANIFEST) +resource-factory-paper = { id = "xyz.jpenilla.resource-factory-paper-convention", version.ref = "resource-factory" } +#elseif ($RESOURCE_FACTORY_PLUGIN.enabled && !$USE_PAPER_MANIFEST) +resource-factory-bukkit = { id = "xyz.jpenilla.resource-factory-bukkit-convention", version.ref = "resource-factory" } +#end +#if ($GREMLIN_PLUGIN.enabled) +gremlin-gradle = { id = "xyz.jpenilla.gremlin-gradle", version.ref = "gremlin" } +#end Index: templates/bukkit/paper-plugin.yml.ft =================================================================== --- templates/bukkit/paper-plugin.yml.ft (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/bukkit/paper-plugin.yml.ft (revision 419823852f2350b939a6b5eef713e0482f83540c) @@ -1,21 +0,0 @@ -name: ${PLUGIN_NAME} -version: '${BUILD_COORDS.version}' -main: ${MAIN_CLASS} -#if (${API_VERSION}) -api-version: '${API_VERSION}' -#end -#if (${LOG_PREFIX}) -prefix: ${LOG_PREFIX} -#end -#if (${LOAD_AT}) -load: ${LOAD_AT} -#end -#if (${AUTHORS}) -authors: ${AUTHORS.toString(", ", "[", "]")} -#end -#if (${DESCRIPTION}) -description: ${DESCRIPTION} -#end -#if (${WEBSITE}) -website: ${WEBSITE} -#end Index: templates/bukkit/paper.mcdev.template.json =================================================================== --- templates/bukkit/paper.mcdev.template.json (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/bukkit/paper.mcdev.template.json (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "group": "plugin", "properties": [ { @@ -16,6 +16,17 @@ ] }, { + "name": "USE_VERSION_CATALOG", + "type": "boolean", + "default": false, + "visible": { + "dependsOn": [ + "BUILD_SYSTEM" + ], + "condition": "$BUILD_SYSTEM == 'Gradle'" + } + }, + { "name": "LANGUAGE", "type": "string", "options": [ @@ -24,55 +35,33 @@ ] }, { - "name": "MC_VERSION", - "type": "semantic_version", - "forceDropdown": true, - "options": [ - "1.21.10", - "1.21.9", - "1.21.8", - "1.21.7", - "1.21.6", - "1.21.5", - "1.21.4", - "1.21.3", - "1.21.1", - "1.21", - "1.20.6", - "1.20.4", - "1.20.3", - "1.20.2", - "1.20.1", - "1.19.4", - "1.18.2" - ], - "default": 0 - }, - { "name": "KOTLIN_VERSION", "type": "maven_artifact_version", "parameters": { "sourceUrl": "https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/maven-metadata.xml" }, "visible": { - "dependsOn": ["LANGUAGE"], + "dependsOn": [ + "LANGUAGE" + ], "condition": "$LANGUAGE == 'Kotlin'" } }, { + "name": "MC_VERSION", + "type": "paper_versions", + "forceDropdown": true, + "default": 0 + }, + { "name": "API_VERSION", "type": "semantic_version", - "options": [ - "1.21", - "1.20", - "1.19", - "1.18", - "1.17" - ], "visible": false, "derives": { - "parents": ["MC_VERSION"], - "method": "extractVersionMajorMinor" + "parents": [ + "MC_VERSION" + ], + "method": "extractPaperApiVersion" } }, { @@ -84,7 +73,10 @@ "name": "MAIN_CLASS", "type": "class_fqn", "derives": { - "parents": ["BUILD_COORDS", "PLUGIN_NAME"], + "parents": [ + "BUILD_COORDS", + "PLUGIN_NAME" + ], "method": "suggestClassName" } }, @@ -94,8 +86,20 @@ "default": false }, { + "name": "INCLUDE_PLUGIN_BOOTSTRAP", + "type": "boolean", + "default": false, + "visible": { + "dependsOn": [ + "USE_PAPER_MANIFEST" + ], + "condition": "$USE_PAPER_MANIFEST" + } + }, + { "label": "creator.ui.optional_settings.label", "collapsible": true, + "order": 2, "groupProperties": [ { "name": "DESCRIPTION", @@ -128,19 +132,147 @@ "STARTUP", "POSTWORLD" ], - "default": "POSTWORLD", - "nullIfDefault": true + "default": "POSTWORLD" } ] }, { + "label": "creator.ui.gradle_plugins.label", + "collapsible": true, + "order": 2, + "visible": { + "dependsOn": [ + "BUILD_SYSTEM" + ], + "condition": "$BUILD_SYSTEM == 'Gradle'" + }, + "groupProperties": [ + { + "name": "GREMLIN_PLUGIN", + "type": "gradle_plugin", + "default": false, + "order": 10, + "parameters": { + "sourceUrl": "https://plugins.gradle.org/m2/xyz/jpenilla/gremlin-gradle/maven-metadata.xml" + }, + "visible": { + "dependsOn": [ + "BUILD_SYSTEM" + ], + "condition": "$BUILD_SYSTEM == 'Gradle'" + } + }, + { + "name": "RUN_PAPER_PLUGIN", + "type": "gradle_plugin", + "default": true, + "parameters": { + "sourceUrl": "https://plugins.gradle.org/m2/xyz/jpenilla/run-paper/xyz.jpenilla.run-paper.gradle.plugin/maven-metadata.xml" + }, + "visible": { + "dependsOn": [ + "BUILD_SYSTEM" + ], + "condition": "$BUILD_SYSTEM == 'Gradle'" + } + }, + { + "name": "ACCEPT_EULA", + "type": "boolean", + "default": false, + "visible": { + "dependsOn": [ + "RUN_PAPER_PLUGIN", + "BUILD_SYSTEM" + ], + "condition": "$RUN_PAPER_PLUGIN.enabled && $BUILD_SYSTEM == 'Gradle'" + } + }, + { + "name": "SHADOW_PLUGIN", + "type": "gradle_plugin", + "default": "$LANGUAGE=='Kotlin'", + "parameters": { + "sourceUrl": "https://repo.maven.apache.org/maven2/com/gradleup/shadow/shadow-gradle-plugin/maven-metadata.xml" + }, + "visible": { + "dependsOn": [ + "BUILD_SYSTEM" + ], + "condition": "$BUILD_SYSTEM == 'Gradle'" + }, + "forceValue": { + "dependsOn": [ + "LANGUAGE", + "GREMLIN_PLUGIN" + ], + "condition": "$LANGUAGE == 'Kotlin' || $GREMLIN_PLUGIN.enabled", + "value": "true" + } + }, + { + "name": "PAPERWEIGHT_USERDEV_PLUGIN", + "type": "gradle_plugin", + "default": false, + "parameters": { + "sourceUrl": "https://plugins.gradle.org/m2/io/papermc/paperweight/paperweight-userdev/maven-metadata.xml" + }, + "visible": { + "dependsOn": [ + "BUILD_SYSTEM" + ], + "condition": "$BUILD_SYSTEM == 'Gradle'" + } + }, + { + "name": "RESOURCE_FACTORY_PLUGIN", + "type": "gradle_plugin", + "default": false, + "parameters": { + "sourceUrl": "https://plugins.gradle.org/m2/xyz/jpenilla/resource-factory/maven-metadata.xml" + }, + "visible": { + "dependsOn": [ + "BUILD_SYSTEM" + ], + "condition": "$BUILD_SYSTEM == 'Gradle'" + } + } + ] + }, + { + "name": "INCLUDE_PLUGIN_LOADER", + "type": "boolean", + "order": 1, + "default": false, + "forceValue": { + "dependsOn": "GREMLIN_PLUGIN", + "condition": "$GREMLIN_PLUGIN.enabled", + "value": "false" + } + }, + { + "name": "JAVA_PLUGIN_LOADER", + "type": "boolean", + "order": 1, + "default": true, + "visible": { + "dependsOn": [ + "LANGUAGE", + "INCLUDE_PLUGIN_LOADER" + ], + "condition": "$LANGUAGE=='Kotlin' && $INCLUDE_PLUGIN_LOADER" + } + }, + { "name": "JAVA_VERSION", "type": "integer", "order": 20, - "default": 17, "visible": false, "derives": { - "parents": ["MC_VERSION"], + "parents": [ + "MC_VERSION" + ], "method": "recommendJavaVersionForMcVersion", "default": 17 } @@ -165,24 +297,31 @@ "condition": "$USE_GIT" }, { - "template": "build.gradle.ft", - "destination": "build.gradle", - "condition": "$BUILD_SYSTEM=='Gradle' && $LANGUAGE=='Java'" + "template": "../.gitattributes.ft", + "destination": ".gitattributes", + "condition": "$USE_GIT" }, { - "template": "settings.gradle.ft", - "destination": "settings.gradle", - "condition": "$BUILD_SYSTEM=='Gradle' && $LANGUAGE=='Java'" + "template": "../gradle-wrapper.properties.ft", + "destination": "gradle/wrapper/gradle-wrapper.properties", + "properties": { + "GRADLE_VERSION": "9.3.0" + } }, { "template": "build.gradle.kts.ft", "destination": "build.gradle.kts", - "condition": "$BUILD_SYSTEM=='Gradle' && $LANGUAGE=='Kotlin'" + "condition": "$BUILD_SYSTEM=='Gradle'" }, { + "template": "libs.versions.toml.ft", + "destination": "gradle/libs.versions.toml", + "condition": "$BUILD_SYSTEM=='Gradle' && $USE_VERSION_CATALOG" + }, + { "template": "settings.gradle.kts.ft", "destination": "settings.gradle.kts", - "condition": "$BUILD_SYSTEM=='Gradle' && $LANGUAGE=='Kotlin'" + "condition": "$BUILD_SYSTEM=='Gradle'" }, { "template": "gradle.properties.ft", @@ -190,11 +329,6 @@ "condition": "$BUILD_SYSTEM=='Gradle'" }, { - "template": "../gradle-wrapper.properties.ft", - "destination": "gradle/wrapper/gradle-wrapper.properties", - "condition": "$BUILD_SYSTEM=='Gradle'" - }, - { "template": "pom.xml.ft", "destination": "pom.xml", "condition": "$BUILD_SYSTEM=='Maven'" @@ -202,12 +336,12 @@ { "template": "plugin.yml.ft", "destination": "src/main/resources/plugin.yml", - "condition": "!$USE_PAPER_MANIFEST" + "condition": "!$RESOURCE_FACTORY_PLUGIN.enabled && !$USE_PAPER_MANIFEST" }, { - "template": "paper-plugin.yml.ft", + "template": "plugin.yml.ft", "destination": "src/main/resources/paper-plugin.yml", - "condition": "$USE_PAPER_MANIFEST" + "condition": "!$RESOURCE_FACTORY_PLUGIN.enabled && $USE_PAPER_MANIFEST" }, { "template": "MainClass.java.ft", @@ -220,23 +354,70 @@ "destination": "src/main/kotlin/${MAIN_CLASS.path}.kt", "condition": "$LANGUAGE=='Kotlin'", "openInEditor": true + }, + { + "template": "BootstrapClass.java.ft", + "destination": "src/main/java/${MAIN_CLASS.packagePath}/${MAIN_CLASS.className}Bootstrap.java", + "condition": "$INCLUDE_PLUGIN_BOOTSTRAP && $LANGUAGE=='Java'" + }, + { + "template": "BootstrapClass.kt.ft", + "destination": "src/main/kotlin/${MAIN_CLASS.packagePath}/${MAIN_CLASS.className}Bootstrap.kt", + "condition": "$INCLUDE_PLUGIN_BOOTSTRAP && $LANGUAGE=='Kotlin'" + }, + { + "template": "LoaderClass.java.ft", + "destination": "src/main/java/${MAIN_CLASS.packagePath}/${MAIN_CLASS.className}Loader.java", + "condition": "$INCLUDE_PLUGIN_LOADER && $JAVA_PLUGIN_LOADER" + }, + { + "template": "LoaderClass.kt.ft", + "destination": "src/main/kotlin/${MAIN_CLASS.packagePath}/${MAIN_CLASS.className}Loader.kt", + "condition": "$INCLUDE_PLUGIN_LOADER && !$JAVA_PLUGIN_LOADER" } ], "finalizers": [ { - "type": "import_maven_project", - "condition": "$BUILD_SYSTEM=='Maven'" + "type": "run_gradle_tasks", + "tasks": [ + "wrapper --gradle-version=latest" + ], + "condition": "$BUILD_SYSTEM=='Gradle'" }, { "type": "import_gradle_project", "condition": "$BUILD_SYSTEM=='Gradle'" }, { - "type": "run_gradle_tasks", - "tasks": ["wrapper"], + "type": "add_gradle_run", + "tasks": [ + "build" + ], + "name": "Build", "condition": "$BUILD_SYSTEM=='Gradle'" }, { + "type": "add_gradle_run", + "tasks": [ + "runServer" + ], + "name": "Run", + "select": true, + "condition": "$RUN_PAPER_PLUGIN.enabled && $BUILD_SYSTEM=='Gradle'" + }, + { + "type": "import_maven_project", + "condition": "$BUILD_SYSTEM=='Maven'" + }, + { + "type": "add_maven_run", + "goals": [ + "package" + ], + "name": "Build", + "condition": "$BUILD_SYSTEM=='Maven'" + }, + { "type": "git_add_all", "condition": "$USE_GIT" } Index: templates/bukkit/plugin.yml.ft =================================================================== --- templates/bukkit/plugin.yml.ft (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/bukkit/plugin.yml.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -1,21 +1,37 @@ name: ${PLUGIN_NAME} -version: '${BUILD_COORDS.version}' -main: ${MAIN_CLASS} -#if (${API_VERSION}) -api-version: '${API_VERSION}' +#if (${DESCRIPTION}) +description: $description #end #if (${LOG_PREFIX}) prefix: ${LOG_PREFIX} #end +version: '$version' + +main: ${MAIN_CLASS} +#if (${INCLUDE_PLUGIN_BOOTSTRAP}) +bootstrapper: ${MAIN_CLASS.packageName}.${MAIN_CLASS.className}Bootstrap +#end +#if (${INCLUDE_PLUGIN_LOADER} && !${GREMLIN_PLUGIN.enabled} && !${USE_PAPER_MANIFEST}) +paperPluginLoader: ${MAIN_CLASS.packageName}.${MAIN_CLASS.className}Loader +#elseif (${GREMLIN_PLUGIN.enabled} && !${USE_PAPER_MANIFEST}) +paperPluginLoader: xyz.jpenilla.gremlin.runtime.platformsupport.DefaultsPaperPluginLoader +#elseif (${INCLUDE_PLUGIN_LOADER} && !${GREMLIN_PLUGIN.enabled} && ${USE_PAPER_MANIFEST}) +loader: ${MAIN_CLASS.packageName}.${MAIN_CLASS.className}Loader +#elseif (${GREMLIN_PLUGIN.enabled} && ${USE_PAPER_MANIFEST}) +loader: xyz.jpenilla.gremlin.runtime.platformsupport.DefaultsPaperPluginLoader +#end +#if (${API_VERSION}) +api-version: '${API_VERSION}' +#end #if (${LOAD_AT}) load: ${LOAD_AT} #end -#if (${AUTHORS}) +#if ($AUTHORS || $WEBSITE) + +#if ($AUTHORS) authors: ${AUTHORS.toString(", ", "[", "]")} #end -#if (${DESCRIPTION}) -description: ${DESCRIPTION} -#end #if (${WEBSITE}) website: ${WEBSITE} #end +#end Index: templates/bukkit/settings.gradle.ft =================================================================== --- templates/bukkit/settings.gradle.ft (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/bukkit/settings.gradle.ft (revision 419823852f2350b939a6b5eef713e0482f83540c) @@ -1,1 +0,0 @@ -rootProject.name = '${PROJECT_NAME}' Index: templates/bukkit/spigot.mcdev.template.json =================================================================== --- templates/bukkit/spigot.mcdev.template.json (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/bukkit/spigot.mcdev.template.json (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "group": "plugin", "properties": [ { @@ -16,6 +16,17 @@ ] }, { + "name": "USE_VERSION_CATALOG", + "type": "boolean", + "default": false, + "visible": { + "dependsOn": [ + "BUILD_SYSTEM" + ], + "condition": "$BUILD_SYSTEM == 'Gradle'" + } + }, + { "name": "LANGUAGE", "type": "string", "options": [ @@ -24,10 +35,26 @@ ] }, { + "name": "KOTLIN_VERSION", + "type": "maven_artifact_version", + "parameters": { + "sourceUrl": "https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/maven-metadata.xml" + }, + "visible": { + "dependsOn": [ + "LANGUAGE" + ], + "condition": "$LANGUAGE == 'Kotlin'" + } + }, + { "name": "MC_VERSION", "type": "semantic_version", "forceDropdown": true, "options": [ + "1.21.11", + "1.21.10", + "1.21.9", "1.21.8", "1.21.7", "1.21.6", @@ -48,17 +75,6 @@ "default": 0 }, { - "name": "KOTLIN_VERSION", - "type": "maven_artifact_version", - "parameters": { - "sourceUrl": "https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/maven-metadata.xml" - }, - "visible": { - "dependsOn": ["LANGUAGE"], - "condition": "$LANGUAGE == 'Kotlin'" - } - }, - { "name": "API_VERSION", "type": "semantic_version", "options": [ @@ -70,7 +86,9 @@ ], "visible": false, "derives": { - "parents": ["MC_VERSION"], + "parents": [ + "MC_VERSION" + ], "method": "extractVersionMajorMinor" } }, @@ -83,7 +101,10 @@ "name": "MAIN_CLASS", "type": "class_fqn", "derives": { - "parents": ["BUILD_COORDS", "PLUGIN_NAME"], + "parents": [ + "BUILD_COORDS", + "PLUGIN_NAME" + ], "method": "suggestClassName" } }, @@ -128,13 +149,48 @@ ] }, { + "label": "creator.ui.gradle_plugins.label", + "collapsible": true, + "visible": { + "dependsOn": [ + "BUILD_SYSTEM" + ], + "condition": "$BUILD_SYSTEM == 'Gradle'" + }, + "groupProperties": [ + { + "name": "SHADOW_PLUGIN", + "type": "gradle_plugin", + "default": "$LANGUAGE=='Kotlin'", + "parameters": { + "sourceUrl": "https://repo.maven.apache.org/maven2/com/gradleup/shadow/shadow-gradle-plugin/maven-metadata.xml" + }, + "forceValue": { + "dependsOn": "LANGUAGE", + "condition": "$LANGUAGE == 'Kotlin'", + "value": "true" + } + }, + { + "name": "RESOURCE_FACTORY_PLUGIN", + "type": "gradle_plugin", + "default": false, + "parameters": { + "sourceUrl": "https://plugins.gradle.org/m2/xyz/jpenilla/resource-factory/maven-metadata.xml" + } + } + ] + }, + { "name": "JAVA_VERSION", "type": "integer", "order": 20, "default": 17, "visible": false, "derives": { - "parents": ["MC_VERSION"], + "parents": [ + "MC_VERSION" + ], "method": "recommendJavaVersionForMcVersion", "default": 17 } @@ -159,24 +215,31 @@ "condition": "$USE_GIT" }, { - "template": "build.gradle.ft", - "destination": "build.gradle", - "condition": "$BUILD_SYSTEM=='Gradle' && $LANGUAGE=='Java'" + "template": "../.gitattributes.ft", + "destination": ".gitattributes", + "condition": "$USE_GIT" }, { - "template": "settings.gradle.ft", - "destination": "settings.gradle", - "condition": "$BUILD_SYSTEM=='Gradle' && $LANGUAGE=='Java'" + "template": "../gradle-wrapper.properties.ft", + "destination": "gradle/wrapper/gradle-wrapper.properties", + "properties": { + "GRADLE_VERSION": "9.3.0" + } }, { "template": "build.gradle.kts.ft", "destination": "build.gradle.kts", - "condition": "$BUILD_SYSTEM=='Gradle' && $LANGUAGE=='Kotlin'" + "condition": "$BUILD_SYSTEM=='Gradle'" }, { + "template": "libs.versions.toml.ft", + "destination": "gradle/libs.versions.toml", + "condition": "$BUILD_SYSTEM=='Gradle' && $USE_VERSION_CATALOG" + }, + { "template": "settings.gradle.kts.ft", "destination": "settings.gradle.kts", - "condition": "$BUILD_SYSTEM=='Gradle' && $LANGUAGE=='Kotlin'" + "condition": "$BUILD_SYSTEM=='Gradle'" }, { "template": "gradle.properties.ft", @@ -184,18 +247,14 @@ "condition": "$BUILD_SYSTEM=='Gradle'" }, { - "template": "../gradle-wrapper.properties.ft", - "destination": "gradle/wrapper/gradle-wrapper.properties", - "condition": "$BUILD_SYSTEM=='Gradle'" - }, - { "template": "pom.xml.ft", "destination": "pom.xml", "condition": "$BUILD_SYSTEM=='Maven'" }, { "template": "plugin.yml.ft", - "destination": "src/main/resources/plugin.yml" + "destination": "src/main/resources/plugin.yml", + "condition": "!RESOURCE_FACTORY_PLUGIN.enabled" }, { "template": "MainClass.java.ft", @@ -212,19 +271,37 @@ ], "finalizers": [ { - "type": "import_maven_project", - "condition": "$BUILD_SYSTEM=='Maven'" + "type": "run_gradle_tasks", + "tasks": [ + "wrapper --gradle-version=latest" + ], + "condition": "$BUILD_SYSTEM=='Gradle'" }, { "type": "import_gradle_project", "condition": "$BUILD_SYSTEM=='Gradle'" }, { - "type": "run_gradle_tasks", - "tasks": ["wrapper"], + "type": "add_gradle_run", + "tasks": [ + "build" + ], + "name": "Build", "condition": "$BUILD_SYSTEM=='Gradle'" }, { + "type": "import_maven_project", + "condition": "$BUILD_SYSTEM=='Maven'" + }, + { + "type": "add_maven_run", + "goals": [ + "package" + ], + "name": "Build", + "condition": "$BUILD_SYSTEM=='Maven'" + }, + { "type": "git_add_all", "condition": "$USE_GIT" } Index: templates/bungeecord/.mcdev.template.json =================================================================== --- templates/bungeecord/.mcdev.template.json (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/bungeecord/.mcdev.template.json (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "group": "proxy", "properties": [ { @@ -162,19 +162,35 @@ ], "finalizers": [ { - "type": "import_maven_project", - "condition": "$BUILD_SYSTEM=='Maven'" + "type": "run_gradle_tasks", + "tasks": ["wrapper"], + "condition": "$BUILD_SYSTEM=='Gradle'" }, { "type": "import_gradle_project", "condition": "$BUILD_SYSTEM=='Gradle'" }, { - "type": "run_gradle_tasks", - "tasks": ["wrapper"], + "type": "add_gradle_run", + "tasks": [ + "build" + ], + "name": "Build", "condition": "$BUILD_SYSTEM=='Gradle'" }, { + "type": "import_maven_project", + "condition": "$BUILD_SYSTEM=='Maven'" + }, + { + "type": "add_maven_run", + "goals": [ + "package" + ], + "name": "Build", + "condition": "$BUILD_SYSTEM=='Maven'" + }, + { "type": "git_add_all", "condition": "$USE_GIT" } Index: templates/fabric/.mcdev.template.json =================================================================== --- templates/fabric/.mcdev.template.json (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/fabric/.mcdev.template.json (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "group": "mod", "properties": [ { @@ -187,7 +187,7 @@ "template": "../gradle-wrapper.properties.ft", "destination": "gradle/wrapper/gradle-wrapper.properties", "properties": { - "GRADLE_VERSION": "8.14.1" + "GRADLE_VERSION": "9.2.1" } }, { @@ -250,11 +250,18 @@ ], "finalizers": [ { + "type": "run_gradle_tasks", + "tasks": ["wrapper"] + }, + { "type": "import_gradle_project" }, { - "type": "run_gradle_tasks", - "tasks": ["wrapper"] + "type": "add_gradle_run", + "tasks": [ + "build" + ], + "name": "Build" }, { "type": "git_add_all", Index: templates/fabric/build.gradle.ft =================================================================== --- templates/fabric/build.gradle.ft (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/fabric/build.gradle.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -92,7 +92,7 @@ jar { from("LICENSE") { - rename { "${it}_${project.archivesBaseName}"} + rename { "${it}_${project.archives_base_name}"} } } Index: templates/fabric/fabric.mod.json.ft =================================================================== --- templates/fabric/fabric.mod.json.ft (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/fabric/fabric.mod.json.ft (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -41,7 +41,7 @@ "fabric-language-kotlin": ">=${d}{kotlin_loader_version}", #end #if (${VERSIONS.useFabricApi}) - "fabric": "*", + "fabric-api": "*", #end "minecraft": "${d}{minecraft_version}" } Index: templates/forge/.mcdev.template.json =================================================================== --- templates/forge/.mcdev.template.json (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/forge/.mcdev.template.json (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "group": "mod", "properties": [ { @@ -190,13 +190,24 @@ ], "finalizers": [ { + "type": "run_gradle_tasks", + "tasks": ["wrapper"] + }, + { "type": "import_gradle_project" }, { "type": "run_gradle_tasks", - "tasks": ["wrapper", "genIntellijRuns"] + "tasks": ["genIntellijRuns"] }, { + "type": "add_gradle_run", + "tasks": [ + "build" + ], + "name": "Build" + }, + { "type": "git_add_all", "condition": "$USE_GIT" } Index: templates/messages.properties =================================================================== --- templates/messages.properties (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/messages.properties (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -29,6 +29,8 @@ platform.sponge.label=Sponge platform.velocity.label=Velocity +creator.ui.gradle_plugins.label=Gradle Plugins + creator.ui.use_datagen.label=Use Datagen: creator.ui.use_paper_manifest.label=Use Paper Manifest: creator.ui.use_paper_manifest.warning=Paper plugins are still experimental, their usage is discouraged for general purpose development. Index: templates/multiloader/.mcdev.template.json =================================================================== --- templates/multiloader/.mcdev.template.json (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/multiloader/.mcdev.template.json (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "group": "mod", "properties": [ { Index: templates/neoforge/.mcdev.template.json =================================================================== --- templates/neoforge/.mcdev.template.json (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/neoforge/.mcdev.template.json (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "group": "mod", "properties": [ { @@ -228,11 +228,18 @@ ], "finalizers": [ { + "type": "run_gradle_tasks", + "tasks": ["wrapper"] + }, + { "type": "import_gradle_project" }, { - "type": "run_gradle_tasks", - "tasks": ["wrapper"] + "type": "add_gradle_run", + "tasks": [ + "build" + ], + "name": "Build" }, { "type": "git_add_all", Index: templates/sponge/.mcdev.template.json =================================================================== --- templates/sponge/.mcdev.template.json (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/sponge/.mcdev.template.json (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "group": "plugin", "properties": [ { @@ -197,19 +197,35 @@ ], "finalizers": [ { - "type": "import_maven_project", - "condition": "$BUILD_SYSTEM=='Maven'" + "type": "run_gradle_tasks", + "tasks": ["wrapper"], + "condition": "$BUILD_SYSTEM=='Gradle'" }, { "type": "import_gradle_project", "condition": "$BUILD_SYSTEM=='Gradle'" }, { - "type": "run_gradle_tasks", - "tasks": ["wrapper"], + "type": "add_gradle_run", + "tasks": [ + "build" + ], + "name": "Build", "condition": "$BUILD_SYSTEM=='Gradle'" }, { + "type": "import_maven_project", + "condition": "$BUILD_SYSTEM=='Maven'" + }, + { + "type": "add_maven_run", + "goals": [ + "package" + ], + "name": "Build", + "condition": "$BUILD_SYSTEM=='Maven'" + }, + { "type": "git_add_all", "condition": "$USE_GIT" } Index: templates/velocity/.mcdev.template.json =================================================================== --- templates/velocity/.mcdev.template.json (revision 419823852f2350b939a6b5eef713e0482f83540c) +++ templates/velocity/.mcdev.template.json (revision eeeb98daa0d11163fcd9a2bff25127242e263305) @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "group": "proxy", "properties": [ { @@ -191,19 +191,35 @@ ], "finalizers": [ { - "type": "import_maven_project", - "condition": "$BUILD_SYSTEM=='Maven'" + "type": "run_gradle_tasks", + "tasks": ["wrapper"], + "condition": "$BUILD_SYSTEM=='Gradle'" }, { "type": "import_gradle_project", "condition": "$BUILD_SYSTEM=='Gradle'" }, { - "type": "run_gradle_tasks", - "tasks": ["wrapper"], + "type": "add_gradle_run", + "tasks": [ + "build" + ], + "name": "Build", "condition": "$BUILD_SYSTEM=='Gradle'" }, { + "type": "import_maven_project", + "condition": "$BUILD_SYSTEM=='Maven'" + }, + { + "type": "add_maven_run", + "goals": [ + "package" + ], + "name": "Build", + "condition": "$BUILD_SYSTEM=='Maven'" + }, + { "type": "git_add_all", "condition": "$USE_GIT" }