dimensions: extract minimum y level, blocks: extract fluid type

This commit is contained in:
Bixilon 2021-04-05 20:52:24 +02:00
parent 31ce0b4557
commit 99d2fd5442
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
2 changed files with 12 additions and 1 deletions

View File

@ -10,7 +10,9 @@ import de.bixilon.pixlyzer.util.Util
import net.minecraft.block.Block
import net.minecraft.block.BlockState
import net.minecraft.block.Blocks
import net.minecraft.block.FluidBlock
import net.minecraft.client.color.block.BlockColors
import net.minecraft.fluid.Fluid
import net.minecraft.util.collection.IdList
import net.minecraft.util.registry.Registry
import net.minecraft.util.shape.VoxelShape
@ -61,6 +63,14 @@ object BlockGenerator : Generator(
} catch (exception: IllegalArgumentException) {
}
blockData.addProperty("class", block::class.java.simpleName)
if (block is FluidBlock) {
(FLUID_BLOCK_FLUID_FIELD.get(block) as Fluid).let {
blockData.addProperty("fluid", Registry.FLUID.getRawId(it))
}
}
val render = Util.readJsonMinecraftResource("assets/${resourceIdentifier.namespace}/blockstates/${resourceIdentifier.path}.json")
@ -384,6 +394,7 @@ object BlockGenerator : Generator(
}
}
private val FLUID_BLOCK_FLUID_FIELD = getField(FluidBlock::class.java, "fluid")!!
private val CACHE_SOLID_RENDER_FIELD = BLOCK_STATE_CACHE_CLASS.getDeclaredField("fullOpaque")
private val CACHE_PROPAGATES_SKYLIGHT_DOWN_FIELD = BLOCK_STATE_CACHE_CLASS.getDeclaredField("translucent")
private val CACHE_LIGHT_BLOCK_FIELD = BLOCK_STATE_CACHE_CLASS.getDeclaredField("lightSubtracted")

View File

@ -58,7 +58,7 @@ object DimensionGenerator : Generator(
dimensionData.addProperty("has_raids", it.getBoolean(dimension))
}
MIN_Y_FIELD?.let {
dimensionData.addProperty("min_y", it.getInt(dimension))
dimensionData.addProperty("minimum_y", it.getInt(dimension))
}
HEIGHT_FIELD?.let {
dimensionData.addProperty("height", it.getInt(dimension))