Namespace tags and material IDs
This commit is contained in:
parent
310fe37c21
commit
9e6732ebbc
4 changed files with 10 additions and 7 deletions
|
@ -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(
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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() }
|
||||
|
|
Reference in a new issue