basic data test

This commit is contained in:
Bixilon 2021-04-05 20:41:45 +02:00
parent 13a6612b57
commit 31ce0b4557
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
5 changed files with 44 additions and 8 deletions

View File

@ -9,8 +9,6 @@ import net.minecraft.entity.Entity
import net.minecraft.entity.EntityType import net.minecraft.entity.EntityType
import net.minecraft.entity.EyeOfEnderEntity import net.minecraft.entity.EyeOfEnderEntity
import net.minecraft.entity.decoration.ItemFrameEntity import net.minecraft.entity.decoration.ItemFrameEntity
import net.minecraft.entity.projectile.ArrowEntity
import net.minecraft.entity.projectile.SpectralArrowEntity
import net.minecraft.entity.projectile.thrown.* import net.minecraft.entity.projectile.thrown.*
import net.minecraft.scoreboard.Scoreboard import net.minecraft.scoreboard.Scoreboard
import net.minecraft.world.World import net.minecraft.world.World
@ -42,7 +40,7 @@ object EntitySpawner {
return entity return entity
} }
// ToDo: This crashed in 21w13a? // ToDo: This crashes in 21w13a?
when (entityType) { when (entityType) {
EntityType.EGG -> return OBJENSIS.newInstance(EggEntity::class.java) as Entity EntityType.EGG -> return OBJENSIS.newInstance(EggEntity::class.java) as Entity
EntityType.SNOWBALL -> return OBJENSIS.newInstance(SnowballEntity::class.java) as Entity EntityType.SNOWBALL -> return OBJENSIS.newInstance(SnowballEntity::class.java) as Entity
@ -50,8 +48,6 @@ object EntitySpawner {
EntityType.EYE_OF_ENDER -> return OBJENSIS.newInstance(EyeOfEnderEntity::class.java) as Entity EntityType.EYE_OF_ENDER -> return OBJENSIS.newInstance(EyeOfEnderEntity::class.java) as Entity
EntityType.EXPERIENCE_BOTTLE -> return OBJENSIS.newInstance(ExperienceBottleEntity::class.java) as Entity EntityType.EXPERIENCE_BOTTLE -> return OBJENSIS.newInstance(ExperienceBottleEntity::class.java) as Entity
EntityType.POTION -> return OBJENSIS.newInstance(PotionEntity::class.java) as Entity EntityType.POTION -> return OBJENSIS.newInstance(PotionEntity::class.java) as Entity
EntityType.ARROW -> return OBJENSIS.newInstance(ArrowEntity::class.java) as Entity
EntityType.SPECTRAL_ARROW -> return OBJENSIS.newInstance(SpectralArrowEntity::class.java) as Entity
} }
TODO("Entity type: $entityType") TODO("Entity type: $entityType")

View File

@ -77,9 +77,15 @@ object PixLyzer {
println("Skipping ${generator.name}: ${exception.message}") println("Skipping ${generator.name}: ${exception.message}")
continue continue
} }
if (generator.data.size() == 0 && !generator.allowEmpty) { if (generator.data.size() == 0) {
error("${generator.name} has 0 entries!") if (generator.allowEmpty) {
continue
} else {
error("${generator.name} has 0 entries!")
}
} }
generator.test()
println("Tests succeeded for ${generator.name}")
println("Saving to ${outputDirectory.absolutePath}/${generator.name}.json") println("Saving to ${outputDirectory.absolutePath}/${generator.name}.json")

View File

@ -13,4 +13,6 @@ abstract class Generator(
val data = JsonObject() val data = JsonObject()
abstract fun generate() abstract fun generate()
open fun test() {}
} }

View File

@ -139,4 +139,12 @@ object BiomeGenerator : Generator(
return ret return ret
} }
override fun test() {
data["minecraft:ocean"].asJsonObject
data["minecraft:taiga"].asJsonObject
check(data["minecraft:swamp"].asJsonObject["foliage_color_override"].asInt == 6975545)
}
} }

View File

@ -76,6 +76,21 @@ object DimensionGenerator : Generator(
dimensionData.addProperty("ambient_light", it.getFloat(dimension)) dimensionData.addProperty("ambient_light", it.getFloat(dimension))
} }
DIMENSION_BIOME_ZOOMER_FIELD?.get(dimension)?.let {
when (it::class.java.simpleName) {
"VoronoiBiomeAccessType" -> {
dimensionData.addProperty("supports_3d_biomes", true)
}
"HorizontalVoronoiBiomeAccessType" -> {
dimensionData.addProperty("supports_3d_biomes", false)
}
else -> {
TODO("Can not check if dimension $resourceLocation supports 3d biomes!")
}
}
}
data.add(resourceLocation.toString(), dimensionData) data.add(resourceLocation.toString(), dimensionData)
} }
} }
@ -93,7 +108,7 @@ object DimensionGenerator : Generator(
private val BED_WORKS_FIELD = getField(DIMENSION_TYPE_CLASS, "bedWorks") private val BED_WORKS_FIELD = getField(DIMENSION_TYPE_CLASS, "bedWorks")
private val RESPAWN_ANCHOR_WORKS_FIELD = getField(DIMENSION_TYPE_CLASS, "respawnAnchorWorks") private val RESPAWN_ANCHOR_WORKS_FIELD = getField(DIMENSION_TYPE_CLASS, "respawnAnchorWorks")
private val HAS_RAIDS_FIELD = getField(DIMENSION_TYPE_CLASS, "hasRaids") private val HAS_RAIDS_FIELD = getField(DIMENSION_TYPE_CLASS, "hasRaids")
private val MIN_Y_FIELD = getField(DIMENSION_TYPE_CLASS, "minY") private val MIN_Y_FIELD = getField(DIMENSION_TYPE_CLASS, "minimumY")
private val HEIGHT_FIELD = getField(DIMENSION_TYPE_CLASS, "height") private val HEIGHT_FIELD = getField(DIMENSION_TYPE_CLASS, "height")
private val LOGICAL_HEIGHT_FIELD = getField(DIMENSION_TYPE_CLASS, "logicalHeight") private val LOGICAL_HEIGHT_FIELD = getField(DIMENSION_TYPE_CLASS, "logicalHeight")
private val INFINIBURN_FIELD = getField(DIMENSION_TYPE_CLASS, "infiniburn") private val INFINIBURN_FIELD = getField(DIMENSION_TYPE_CLASS, "infiniburn")
@ -105,6 +120,8 @@ object DimensionGenerator : Generator(
private val RESOURCE_KEY_LOCATION_METHOD = RESOURCE_KEY_CLASS?.getDeclaredMethod("location") private val RESOURCE_KEY_LOCATION_METHOD = RESOURCE_KEY_CLASS?.getDeclaredMethod("location")
private val DIMENSION_BIOME_ZOOMER_FIELD = getField(DimensionType::class.java, "biomeAccessType")
private fun getDimensions(): MutableSet<Triple<Identifier, Int?, DimensionType>> { private fun getDimensions(): MutableSet<Triple<Identifier, Int?, DimensionType>> {
val types: MutableSet<Triple<Identifier, Int?, DimensionType>> = mutableSetOf() val types: MutableSet<Triple<Identifier, Int?, DimensionType>> = mutableSetOf()
@ -151,4 +168,11 @@ object DimensionGenerator : Generator(
return types return types
} }
override fun test() {
check(data["minecraft:overworld"].asJsonObject["has_sky_light"].asBoolean)
check(!data["minecraft:the_nether"].asJsonObject["has_sky_light"].asBoolean)
check(!data["minecraft:the_end"].asJsonObject["has_sky_light"].asBoolean)
}
} }