From 6cc587f96036a028a6b0cffdd585f563a30d033a Mon Sep 17 00:00:00 2001 From: icanttellyou Date: Thu, 22 Oct 2026 16:59:52 +0300 Subject: [PATCH] build: Use proper datagen support --- build.gradle.kts | 77 ++++++++++--------- .../data/ModernerBetaDensityFunctions.java | 0 .../data/ModernerBetaMaterialRules.java | 0 .../data/ModernerBetaNoiseLayouts.java | 0 .../data/ModernerBetaNoiseSettings.java | 0 .../data/ModernerBetaWorldPresets.java | 0 .../data/ModernerBetaDataGenerator.java | 0 7 files changed, 39 insertions(+), 38 deletions(-) rename src/{main => data}/java/net/nostalgica/modernerbeta/data/ModernerBetaDensityFunctions.java (100%) rename src/{main => data}/java/net/nostalgica/modernerbeta/data/ModernerBetaMaterialRules.java (100%) rename src/{main => data}/java/net/nostalgica/modernerbeta/data/ModernerBetaNoiseLayouts.java (100%) rename src/{main => data}/java/net/nostalgica/modernerbeta/data/ModernerBetaNoiseSettings.java (100%) rename src/{main => data}/java/net/nostalgica/modernerbeta/data/ModernerBetaWorldPresets.java (100%) rename src/{main => data}/java/net/nostalgica/modernerbeta/fabric/data/ModernerBetaDataGenerator.java (100%) diff --git a/build.gradle.kts b/build.gradle.kts index c1c5bf3d..9363668c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,8 @@ -import net.msrandom.minecraftcodev.runs.task.RunMinecraft +import kotlinx.serialization.json.buildJsonArray +import kotlinx.serialization.json.buildJsonObject +import kotlinx.serialization.json.jsonObject +import kotlinx.serialization.json.put +import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform plugins { id("earth.terrarium.cloche") version "0.19.14" @@ -61,6 +65,26 @@ cloche { singleTarget { fabric { loaderVersion = fabric_loader_version + + data { + //https://github.com/MayaqqDev/Estrogen/blob/1.21.1-only/build.gradle.kts + this.withMetadataJson { + this.withElement { + return@withElement buildJsonObject { + this@withElement.forEach { this.put(it.key, it.value) } + val newEntrypoints = buildJsonObject { + this@withElement["entrypoints"]!!.jsonObject.forEach { this.put(it.key, it.value) } + put("fabric-datagen", buildJsonArray { + add(buildJsonObject { + put("value", fabricDatagenEntrypoint) + }) + }) + } + put("entrypoints", newEntrypoints) + } + } + } + } datagenDirectory.set(datagenOutput) includedClient() @@ -86,8 +110,7 @@ cloche { put("icon", modIcon) put("environment", "*") put("entrypoints", mapOf( - "main" to listOf(fabricEntrypoint), - "fabric-datagen" to listOf(fabricDatagenEntrypoint) + "main" to listOf(fabricEntrypoint) )) put("depends", linkedMapOf( "fabricloader" to ">=0.16.0", @@ -103,44 +126,22 @@ cloche { } runs { + client() { + //windows bad + var os = DefaultNativePlatform.getCurrentOperatingSystem() + if (os.isWindows) { + jvmArguments.add("-XX:StackShadowPages=32") + } + } server() - client() + + data() } } } } -val runDatagen = tasks.register("runDatagen") { - val server = tasks.named("runServer").get() - - configFile.set(server.configFile) - argFile.set(server.argFile) - classpath = server.classpath - mainClass.set(server.mainClass) - javaLauncher.set(server.javaLauncher) - workingDir = server.workingDir - jvmArgs(server.jvmArgs) - jvmArgumentProviders.addAll(server.jvmArgumentProviders) - args(server.args) - - systemProperty("fabric-api.datagen", "true") - systemProperty("fabric-api.datagen.output-dir", datagenOutput.get().asFile.absolutePath) - systemProperty("fabric-api.datagen.modid", "moderner_beta") - - inputs.files(sourceSets.main.map { it.output.classesDirs }) - outputs.dir(datagenOutput) - outputs.cacheIf { true } -} - -tasks.named("jar") { - exclude(".cache") - dependsOn(runDatagen) -} - -tasks.named("runServer") { - dependsOn(runDatagen) -} - -tasks.named("runClient") { - dependsOn(runDatagen) -} +/* +tasks.named("runNeoforgeData") { + enabled = false +}*/ diff --git a/src/main/java/net/nostalgica/modernerbeta/data/ModernerBetaDensityFunctions.java b/src/data/java/net/nostalgica/modernerbeta/data/ModernerBetaDensityFunctions.java similarity index 100% rename from src/main/java/net/nostalgica/modernerbeta/data/ModernerBetaDensityFunctions.java rename to src/data/java/net/nostalgica/modernerbeta/data/ModernerBetaDensityFunctions.java diff --git a/src/main/java/net/nostalgica/modernerbeta/data/ModernerBetaMaterialRules.java b/src/data/java/net/nostalgica/modernerbeta/data/ModernerBetaMaterialRules.java similarity index 100% rename from src/main/java/net/nostalgica/modernerbeta/data/ModernerBetaMaterialRules.java rename to src/data/java/net/nostalgica/modernerbeta/data/ModernerBetaMaterialRules.java diff --git a/src/main/java/net/nostalgica/modernerbeta/data/ModernerBetaNoiseLayouts.java b/src/data/java/net/nostalgica/modernerbeta/data/ModernerBetaNoiseLayouts.java similarity index 100% rename from src/main/java/net/nostalgica/modernerbeta/data/ModernerBetaNoiseLayouts.java rename to src/data/java/net/nostalgica/modernerbeta/data/ModernerBetaNoiseLayouts.java diff --git a/src/main/java/net/nostalgica/modernerbeta/data/ModernerBetaNoiseSettings.java b/src/data/java/net/nostalgica/modernerbeta/data/ModernerBetaNoiseSettings.java similarity index 100% rename from src/main/java/net/nostalgica/modernerbeta/data/ModernerBetaNoiseSettings.java rename to src/data/java/net/nostalgica/modernerbeta/data/ModernerBetaNoiseSettings.java diff --git a/src/main/java/net/nostalgica/modernerbeta/data/ModernerBetaWorldPresets.java b/src/data/java/net/nostalgica/modernerbeta/data/ModernerBetaWorldPresets.java similarity index 100% rename from src/main/java/net/nostalgica/modernerbeta/data/ModernerBetaWorldPresets.java rename to src/data/java/net/nostalgica/modernerbeta/data/ModernerBetaWorldPresets.java diff --git a/src/main/java/net/nostalgica/modernerbeta/fabric/data/ModernerBetaDataGenerator.java b/src/data/java/net/nostalgica/modernerbeta/fabric/data/ModernerBetaDataGenerator.java similarity index 100% rename from src/main/java/net/nostalgica/modernerbeta/fabric/data/ModernerBetaDataGenerator.java rename to src/data/java/net/nostalgica/modernerbeta/fabric/data/ModernerBetaDataGenerator.java -- knotmirror 0.0.1