package net.shadowfacts.phycon.client.model import net.minecraft.block.BlockState import net.minecraft.client.render.model.BakedModel import net.minecraft.client.render.model.ModelLoader import net.minecraft.client.texture.Sprite import net.minecraft.util.Identifier import net.shadowfacts.phycon.block.FaceDeviceBlock /** * @author shadowfacts */ class SimpleFaceDeviceModel( private val sideModelID: Identifier, ): FaceDeviceModel() { private val sideModels = Array(6) { null } override fun getSideModelIDs(): Collection { return listOf(sideModelID) } override fun bakeSideModels(loader: ModelLoader) { defaultRotations.forEachIndexed { i, rot -> sideModels[i] = loader.bake(sideModelID, rot) } } override fun getSideModel(state: BlockState): BakedModel? { return sideModels[state[FaceDeviceBlock.FACING].ordinal] } override fun getSprite(): Sprite { return sideModels.first()!!.sprite } }