What do you mean, access to client classes on a server? :P

This commit is contained in:
Florian Nücke 2016-05-27 16:14:31 +02:00
parent 030ebb518d
commit f1c1c064ae
2 changed files with 32 additions and 19 deletions

View File

@ -3,16 +3,11 @@ package li.cil.oc.integration.mcmp
import li.cil.oc.Constants
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.client.renderer.block.ModelInitialization
import mcmultipart.item.PartPlacementWrapper
import mcmultipart.multipart.MultipartRegistry
import net.minecraft.client.resources.model.IBakedModel
import net.minecraft.client.resources.model.ModelResourceLocation
import net.minecraft.util.RegistrySimple
import net.minecraftforge.client.event.ModelBakeEvent
import net.minecraftforge.common.MinecraftForge
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import net.minecraftforge.fml.common.eventhandler.EventPriority
import net.minecraftforge.fml.common.FMLCommonHandler
import net.minecraftforge.fml.relauncher.Side
object MCMultiPart {
final val CableMultipartLocation = new ModelResourceLocation(Settings.resourceDomain + ":" + Constants.BlockName.Cable, "multipart")
@ -28,17 +23,8 @@ object MCMultiPart {
new PartPlacementWrapper(api.Items.get(Constants.BlockName.Cable).createItemStack(1), PartFactory).register(PartFactory.PartTypeCable)
new PartPlacementWrapper(api.Items.get(Constants.BlockName.Print).createItemStack(1), PartFactory).register(PartFactory.PartTypePrint)
MinecraftForge.EVENT_BUS.register(this)
}
@SubscribeEvent(priority = EventPriority.LOW)
def onModelBake(e: ModelBakeEvent): Unit = {
val registry = e.modelRegistry.asInstanceOf[RegistrySimple[ModelResourceLocation, IBakedModel]]
// Replace default cable model with part model to properly handle connection
// rendering to multipart cables.
registry.putObject(ModelInitialization.CableBlockLocation, PartCableModel)
registry.putObject(CableMultipartLocation, PartCableModel)
registry.putObject(PrintMultipartLocation, PartPrintModel)
if (FMLCommonHandler.instance.getSide == Side.CLIENT) {
MCMultiPartClient.init()
}
}
}

View File

@ -0,0 +1,27 @@
package li.cil.oc.integration.mcmp
import li.cil.oc.client.renderer.block.ModelInitialization
import net.minecraft.client.resources.model.IBakedModel
import net.minecraft.client.resources.model.ModelResourceLocation
import net.minecraft.util.RegistrySimple
import net.minecraftforge.client.event.ModelBakeEvent
import net.minecraftforge.common.MinecraftForge
import net.minecraftforge.fml.common.eventhandler.EventPriority
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
object MCMultiPartClient {
def init(): Unit = {
MinecraftForge.EVENT_BUS.register(this)
}
@SubscribeEvent(priority = EventPriority.LOW)
def onModelBake(e: ModelBakeEvent): Unit = {
val registry = e.modelRegistry.asInstanceOf[RegistrySimple[ModelResourceLocation, IBakedModel]]
// Replace default cable model with part model to properly handle connection
// rendering to multipart cables.
registry.putObject(ModelInitialization.CableBlockLocation, PartCableModel)
registry.putObject(MCMultiPart.CableMultipartLocation, PartCableModel)
registry.putObject(MCMultiPart.PrintMultipartLocation, PartPrintModel)
}
}