generate biome categories

This commit is contained in:
Bixilon 2022-05-01 14:28:02 +02:00
parent a494adccb6
commit c23a271ae7
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
4 changed files with 30 additions and 3 deletions

View File

@ -13,6 +13,8 @@ object Generators {
CatVariantGenerator,
FrogVariantGenerator,
BiomeCategoryGenerator,
EntityDataDataTypeGenerator,
MiscGenerator,
ContainerTypeGenerator,

View File

@ -0,0 +1,20 @@
package de.bixilon.pixlyzer.generator.generators
import de.bixilon.pixlyzer.generator.Generator
import de.bixilon.pixlyzer.util.ReflectionUtil.getClass
object BiomeCategoryGenerator : Generator(
"biome_categories",
allowEmpty = true,
) {
private val CATEGORY_CLASS = getClass("net.minecraft.world.biome.Biome\$Category")
override fun generate() {
val categories = CATEGORY_CLASS?.enumConstants ?: return
for (biomeCategory in categories) {
check(biomeCategory is Enum<*>)
data[biomeCategory.ordinal] = mutableMapOf("name" to biomeCategory.name)
}
}
}

View File

@ -20,9 +20,15 @@ object BiomeGenerator : Generator(
for ((resourceLocation, id, biome) in getBiomes()) {
val biomeData: MutableMap<Any, Any> = mutableMapOf(
"id" to id,
"water_color" to biome.getWaterColor(), // do not cleanuo!
"water_fog_color" to biome.getWaterFogColor(), // do not cleanuo!
"water_color" to biome.getWaterColor(), // do not clean up!
"water_fog_color" to biome.getWaterFogColor(), // do not clean up!
)
getField(Biome::class.java, "category")?.get(biome)?.let {
check(it is Enum<*>)
biomeData["category"] = Enum::class.java.getDeclaredMethod("ordinal").apply { isAccessible = true }.invoke(it)
}
BIOME_DEPTH_FIELD?.let { biomeData["depth"] = it.getFloat(biome) }
BIOME_SCALE_FIELD?.let { biomeData["scale"] = it.getFloat(biome) }

View File

@ -152,7 +152,6 @@ object DimensionGenerator : Generator(
}
}
} catch (exception: Exception) {
exception.printStackTrace()
}
if (types.isEmpty()) {