36 lines
948 B
Kotlin
36 lines
948 B
Kotlin
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<BakedModel?>(6) { null }
|
|
|
|
override fun getSideModelIDs(): Collection<Identifier> {
|
|
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
|
|
}
|
|
}
|