From 21ca745c54bb3f0418b43acc555d5448b0ff9437 Mon Sep 17 00:00:00 2001 From: Bixilon Date: Fri, 9 Apr 2021 12:44:05 +0200 Subject: [PATCH] fix multipart generation --- .../kotlin/de/bixilon/pixlyzer/PixLyzer.kt | 2 +- .../generator/generators/BlockGenerator.kt | 24 ++++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/main/kotlin/de/bixilon/pixlyzer/PixLyzer.kt b/src/main/kotlin/de/bixilon/pixlyzer/PixLyzer.kt index eca7ff1..23e583f 100644 --- a/src/main/kotlin/de/bixilon/pixlyzer/PixLyzer.kt +++ b/src/main/kotlin/de/bixilon/pixlyzer/PixLyzer.kt @@ -164,5 +164,5 @@ object PixLyzer { } - private val initializeGameVersionMethod = getGetter(getClass("net.minecraft.SharedConstants"), "method_36208") + private val initializeGameVersionMethod = getGetter(getClass("net.minecraft.SharedConstants"), "createGameVersion", "method_36208") } diff --git a/src/main/kotlin/de/bixilon/pixlyzer/generator/generators/BlockGenerator.kt b/src/main/kotlin/de/bixilon/pixlyzer/generator/generators/BlockGenerator.kt index 9dfad5e..cf04406 100644 --- a/src/main/kotlin/de/bixilon/pixlyzer/generator/generators/BlockGenerator.kt +++ b/src/main/kotlin/de/bixilon/pixlyzer/generator/generators/BlockGenerator.kt @@ -73,7 +73,7 @@ object BlockGenerator : Generator( val render = Util.readJsonMinecraftResource("assets/${resourceIdentifier.namespace}/blockstates/${resourceIdentifier.path}.json") - val multipartVariants: MutableMap>, JsonElement> = mutableMapOf() + val multipartVariants: MutableMap>, MutableList> = mutableMapOf() render["multipart"]?.asJsonArray?.let { @@ -108,7 +108,7 @@ object BlockGenerator : Generator( } addBlockModel(condition["apply"]) for (propertyMap in properties) { - multipartVariants[propertyMap] = condition["apply"] + multipartVariants.getOrPut(propertyMap, { mutableListOf() }).add(condition["apply"]) } } } @@ -244,7 +244,7 @@ object BlockGenerator : Generator( } } val multipart = JsonArray() - for ((properties, element) in multipartVariants) { + for ((properties, elementList) in multipartVariants) { var valid = true for ((propertyName, values) in properties) { if (!propertyData.has(propertyName)) { @@ -257,15 +257,17 @@ object BlockGenerator : Generator( } } if (valid) { - if (element is JsonArray) { - for (apply in element) { - if (!multipart.contains(apply)) { - multipart.add(apply) + for (element in elementList) { + if (element is JsonArray) { + for (apply in element) { + if (!multipart.contains(apply)) { + multipart.add(apply) + } + } + } else if (element is JsonObject) { + if (!multipart.contains(element)) { + multipart.add(element) } - } - } else if (element is JsonObject) { - if (!multipart.contains(element)) { - multipart.add(element) } } }