Archived
1
0
Fork 0

Namespace tags and material IDs

This commit is contained in:
Moritz Ruth 2020-11-29 21:51:38 +01:00
parent 310fe37c21
commit 9e6732ebbc
No known key found for this signature in database
GPG key ID: AFD57E23E753841B
4 changed files with 10 additions and 7 deletions

View file

@ -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(

View file

@ -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)
}
}

View file

@ -24,7 +24,7 @@ class MinecraftDataSourcesPlugin : Plugin<Project> {
}
}
project.task("runDataGenerators") {
val runDataGeneratorsTask = project.task("runDataGenerators") {
it.group = TASK_GROUP
it.dependsOn(downloadTask)
@ -36,6 +36,7 @@ class MinecraftDataSourcesPlugin : Plugin<Project> {
project.task("generate") {
it.group = TASK_GROUP
it.dependsOn(downloadTask)
it.dependsOn(runDataGeneratorsTask)
it.doLast {
BlocksAndMaterialGenerator(workingDir, outputDir, sourcesDir).generate()

View file

@ -25,7 +25,7 @@ class TagsFileGenerator(val workingDir: File, val outputDir: File) {
fun generate() {
val entries: List<Pair<String, Array<Any>>> = 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() }