From 9e6732ebbc47f886bc5be4b522ebe57e8ea641a1 Mon Sep 17 00:00:00 2001 From: Moritz Ruth Date: Sun, 29 Nov 2020 21:51:38 +0100 Subject: [PATCH] Namespace tags and material IDs --- .../kotlin/space/blokk/mdsp/BlocksAndMaterialGenerator.kt | 6 ++---- .../src/main/kotlin/space/blokk/mdsp/DataGeneratorRunner.kt | 6 +++++- .../kotlin/space/blokk/mdsp/MinecraftDataSourcesPlugin.kt | 3 ++- .../src/main/kotlin/space/blokk/mdsp/TagsFileGenerator.kt | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/buildSrc/src/main/kotlin/space/blokk/mdsp/BlocksAndMaterialGenerator.kt b/buildSrc/src/main/kotlin/space/blokk/mdsp/BlocksAndMaterialGenerator.kt index ed58f34..8e89738 100644 --- a/buildSrc/src/main/kotlin/space/blokk/mdsp/BlocksAndMaterialGenerator.kt +++ b/buildSrc/src/main/kotlin/space/blokk/mdsp/BlocksAndMaterialGenerator.kt @@ -114,8 +114,7 @@ class BlocksAndMaterialGenerator( val builder = TypeSpec.enumBuilder("Material") .primaryConstructor( FunSpec.constructorBuilder() - .addParameter("id", Int::class) - .addParameter("name", String::class) + .addParameter("id", String::class) .addParameter( "blockType", K_CLASS_TYPE.parameterizedBy(WildcardTypeName.producerOf(BLOCK_TYPE)) @@ -142,8 +141,7 @@ class BlocksAndMaterialGenerator( builder.addEnumConstant( materialName, TypeSpec.anonymousClassBuilder() - .addSuperclassConstructorParameter("%L", block.get("id").toInt()) - .addSuperclassConstructorParameter("%S", name) + .addSuperclassConstructorParameter("%S", "minecraft:$name") .addSuperclassConstructorParameter( "%T::class", ClassName( diff --git a/buildSrc/src/main/kotlin/space/blokk/mdsp/DataGeneratorRunner.kt b/buildSrc/src/main/kotlin/space/blokk/mdsp/DataGeneratorRunner.kt index 683b9d8..c5a3596 100644 --- a/buildSrc/src/main/kotlin/space/blokk/mdsp/DataGeneratorRunner.kt +++ b/buildSrc/src/main/kotlin/space/blokk/mdsp/DataGeneratorRunner.kt @@ -4,6 +4,11 @@ import java.io.File class DataGeneratorRunner(private val workingDir: File, private val outputDir: File) { fun generate() { + if (workingDir.resolve("generated").exists()) { + println("Output directory already exists, skipping.") + return + } + val minecraftServerFile = workingDir.resolve("minecraft_server.jar") val javaBinDir = File(System.getProperty("java.home")).resolve("bin") @@ -22,6 +27,5 @@ class DataGeneratorRunner(private val workingDir: File, private val outputDir: F .start() process.waitFor() - process.inputStream.transferTo(System.out) } } diff --git a/buildSrc/src/main/kotlin/space/blokk/mdsp/MinecraftDataSourcesPlugin.kt b/buildSrc/src/main/kotlin/space/blokk/mdsp/MinecraftDataSourcesPlugin.kt index e78cf30..40a2278 100644 --- a/buildSrc/src/main/kotlin/space/blokk/mdsp/MinecraftDataSourcesPlugin.kt +++ b/buildSrc/src/main/kotlin/space/blokk/mdsp/MinecraftDataSourcesPlugin.kt @@ -24,7 +24,7 @@ class MinecraftDataSourcesPlugin : Plugin { } } - project.task("runDataGenerators") { + val runDataGeneratorsTask = project.task("runDataGenerators") { it.group = TASK_GROUP it.dependsOn(downloadTask) @@ -36,6 +36,7 @@ class MinecraftDataSourcesPlugin : Plugin { project.task("generate") { it.group = TASK_GROUP it.dependsOn(downloadTask) + it.dependsOn(runDataGeneratorsTask) it.doLast { BlocksAndMaterialGenerator(workingDir, outputDir, sourcesDir).generate() diff --git a/buildSrc/src/main/kotlin/space/blokk/mdsp/TagsFileGenerator.kt b/buildSrc/src/main/kotlin/space/blokk/mdsp/TagsFileGenerator.kt index 6837ade..0860f3e 100644 --- a/buildSrc/src/main/kotlin/space/blokk/mdsp/TagsFileGenerator.kt +++ b/buildSrc/src/main/kotlin/space/blokk/mdsp/TagsFileGenerator.kt @@ -25,7 +25,7 @@ class TagsFileGenerator(val workingDir: File, val outputDir: File) { fun generate() { val entries: List>> = TAG_TYPE_TYPES_BY_DIR_NAME.flatMap { (dirName, tagTypeType) -> tagsDir.resolve(dirName).listFiles()!!.map { file -> - val name = file.nameWithoutExtension + val name = "minecraft:" + file.nameWithoutExtension val json = JsonIterator.deserialize(file.readText()) val values = json.get("values").asList().map { it.toString() }