33 lines
1.4 KiB
Kotlin
33 lines
1.4 KiB
Kotlin
package net.shadowfacts.phycon.client
|
|
|
|
import net.fabricmc.fabric.api.client.model.ModelProviderContext
|
|
import net.fabricmc.fabric.api.client.model.ModelResourceProvider
|
|
import net.minecraft.client.render.model.UnbakedModel
|
|
import net.minecraft.resource.ResourceManager
|
|
import net.minecraft.util.Identifier
|
|
import net.shadowfacts.phycon.PhysicalConnectivity
|
|
import net.shadowfacts.phycon.client.model.RedstoneControllerModel
|
|
import net.shadowfacts.phycon.client.model.SimpleFaceDeviceModel
|
|
|
|
/**
|
|
* @author shadowfacts
|
|
*/
|
|
class PhyModelProvider(resourceManager: ResourceManager) : ModelResourceProvider {
|
|
companion object {
|
|
val INTERFACE = Identifier(PhysicalConnectivity.MODID, "block/network_interface")
|
|
val INTERFACE_SIDE = Identifier(PhysicalConnectivity.MODID, "block/interface_side")
|
|
val REDSTONE_CONTROLLER = Identifier(PhysicalConnectivity.MODID, "block/redstone_controller")
|
|
val REDSTONE_EMITTER = Identifier(PhysicalConnectivity.MODID, "block/redstone_emitter")
|
|
val REDSTONE_EMITTER_SIDE = Identifier(PhysicalConnectivity.MODID, "block/redstone_emitter_side")
|
|
}
|
|
|
|
override fun loadModelResource(resourceId: Identifier, context: ModelProviderContext): UnbakedModel? {
|
|
return when (resourceId) {
|
|
INTERFACE -> SimpleFaceDeviceModel(INTERFACE_SIDE)
|
|
REDSTONE_CONTROLLER -> RedstoneControllerModel
|
|
REDSTONE_EMITTER -> SimpleFaceDeviceModel(REDSTONE_EMITTER_SIDE)
|
|
else -> null
|
|
}
|
|
}
|
|
}
|