diff --git a/src/main/resources/assets/resonantinduction/models/generator.png b/src/main/resources/assets/resonantinduction/models/generator.png deleted file mode 100644 index 32a3ae904..000000000 Binary files a/src/main/resources/assets/resonantinduction/models/generator.png and /dev/null differ diff --git a/src/main/resources/assets/resonantinduction/models/generator.tcn b/src/main/resources/assets/resonantinduction/models/generator.tcn deleted file mode 100644 index fa7c383af..000000000 Binary files a/src/main/resources/assets/resonantinduction/models/generator.tcn and /dev/null differ diff --git a/src/main/resources/assets/resonantinduction/models/motor.png b/src/main/resources/assets/resonantinduction/models/motor.png new file mode 100644 index 000000000..0eecc8f77 Binary files /dev/null and b/src/main/resources/assets/resonantinduction/models/motor.png differ diff --git a/src/main/resources/assets/resonantinduction/models/motor.tcn b/src/main/resources/assets/resonantinduction/models/motor.tcn new file mode 100644 index 000000000..dbaa78bca Binary files /dev/null and b/src/main/resources/assets/resonantinduction/models/motor.tcn differ diff --git a/src/main/scala/resonantinduction/core/ClientProxy.scala b/src/main/scala/resonantinduction/core/ClientProxy.scala index 076964664..0922781ab 100644 --- a/src/main/scala/resonantinduction/core/ClientProxy.scala +++ b/src/main/scala/resonantinduction/core/ClientProxy.scala @@ -28,7 +28,6 @@ import resonantinduction.atomic.machine.quantum.{GuiQuantumAssembler, RenderQuan import resonantinduction.atomic.machine.reactor.{GuiReactorCell, RenderReactorCell, TileReactorCell} import resonantinduction.atomic.machine.thermometer.{RenderThermometer, TileThermometer} import resonantinduction.electrical.ElectricalContent -import resonantinduction.electrical.generator.{RenderMotor, TileMotor} import resonantinduction.electrical.laser.fx.{EntityBlockParticleFX, EntityLaserFX, EntityScorchFX} import resonantinduction.electrical.multimeter.{GuiMultimeter, PartMultimeter, RenderMultimeter} import resonantinduction.electrical.tesla.{RenderTesla, TileTesla} @@ -67,7 +66,6 @@ import resonantinduction.mechanical.mech.turbine._ ItemRenderHandler.register(ElectricalContent.itemMultimeter, RenderMultimeter) ItemRenderHandler.register(ElectricalContent.itemQuantumGlyph, RenderQuantumGlyph) - ClientRegistry.bindTileEntitySpecialRenderer(classOf[TileMotor], new RenderMotor) ClientRegistry.bindTileEntitySpecialRenderer(classOf[TileTesla], new RenderTesla) //Atomic content diff --git a/src/main/scala/resonantinduction/electrical/generator/RenderMotor.scala b/src/main/scala/resonantinduction/electrical/generator/RenderMotor.scala deleted file mode 100644 index 6287cf5c6..000000000 --- a/src/main/scala/resonantinduction/electrical/generator/RenderMotor.scala +++ /dev/null @@ -1,48 +0,0 @@ -package resonantinduction.electrical.generator - -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer -import net.minecraft.item.ItemStack -import net.minecraft.tileentity.TileEntity -import net.minecraft.util.ResourceLocation -import net.minecraftforge.client.IItemRenderer -import net.minecraftforge.client.model.AdvancedModelLoader -import net.minecraftforge.client.model.IModelCustom -import net.minecraftforge.common.util.ForgeDirection -import org.lwjgl.opengl.GL11 -import resonant.content.prefab.scal.render.ISimpleItemRenderer -import resonant.lib.render.RenderUtility -import resonantinduction.core.Reference - -/** - * @author Calclavia - * - */ -object RenderMotor -{ - final val MODEL: IModelCustom = AdvancedModelLoader.loadModel(new ResourceLocation(Reference.domain, Reference.modelPath + "generator.tcn")) - final val TEXTURE: ResourceLocation = new ResourceLocation(Reference.domain, Reference.modelPath + "generator.png") -} - -class RenderMotor extends TileEntitySpecialRenderer with ISimpleItemRenderer -{ - def renderTileEntityAt(t: TileEntity, x: Double, y: Double, z: Double, f: Float) - { - doRender(t.getBlockMetadata, x, y, z, f) - } - - private def doRender(facingDirection: Int, x: Double, y: Double, z: Double, f: Float) - { - GL11.glPushMatrix - GL11.glTranslatef(x.asInstanceOf[Float] + 0.5f, y.asInstanceOf[Float] + 0.5f, z.asInstanceOf[Float] + 0.5f) - GL11.glRotatef(90, 0, 1, 0) - RenderUtility.rotateBlockBasedOnDirection(ForgeDirection.getOrientation(facingDirection)) - bindTexture(RenderMotor.TEXTURE) - RenderMotor.MODEL.renderAll - GL11.glPopMatrix - } - - def renderInventoryItem(`type`: IItemRenderer.ItemRenderType, itemStack: ItemStack, data: AnyRef*) - { - doRender(2, 0, 0, 0, 0) - } -} \ No newline at end of file diff --git a/src/main/scala/resonantinduction/electrical/generator/TileMotor.scala b/src/main/scala/resonantinduction/electrical/generator/TileMotor.scala index 507ebdef9..d7a8487ed 100644 --- a/src/main/scala/resonantinduction/electrical/generator/TileMotor.scala +++ b/src/main/scala/resonantinduction/electrical/generator/TileMotor.scala @@ -1,14 +1,20 @@ package resonantinduction.electrical.generator +import cpw.mods.fml.relauncher.{Side, SideOnly} import net.minecraft.block.material.Material import net.minecraft.entity.player.EntityPlayer +import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound -import net.minecraft.util.ChatComponentText +import net.minecraft.util.{ChatComponentText, ResourceLocation} +import net.minecraftforge.client.model.AdvancedModelLoader +import org.lwjgl.opengl.GL11 import resonant.api.IRotatable import resonant.content.prefab.java.TileAdvanced import resonant.lib.content.prefab.TElectric import resonant.lib.grid.node.TSpatialNodeProvider +import resonant.lib.render.RenderUtility import resonant.lib.transform.vector.Vector3 +import resonantinduction.core.Reference import resonantinduction.mechanical.mech.grid.NodeMechanical /** @@ -16,6 +22,14 @@ import resonantinduction.mechanical.mech.grid.NodeMechanical * * @author Calclavia */ +object TileMotor +{ + @SideOnly(Side.CLIENT) + val model = AdvancedModelLoader.loadModel(new ResourceLocation(Reference.domain, Reference.modelPath + "motor.tcn")) + @SideOnly(Side.CLIENT) + val texture = new ResourceLocation(Reference.domain, Reference.modelPath + "motor.png") +} + class TileMotor extends TileAdvanced(Material.iron) with TElectric with TSpatialNodeProvider with IRotatable { var mechNode = new NodeMechanical(this) @@ -66,6 +80,18 @@ class TileMotor extends TileAdvanced(Material.iron) with TElectric with TSpatial return false } + @SideOnly(Side.CLIENT) + override def renderDynamic(pos: Vector3, frame: Float, pass: Int): Unit = + { + GL11.glPushMatrix() + GL11.glTranslatef(pos.x.toFloat + 0.5f, pos.y.toFloat + 0.5f, pos.z.toFloat + 0.5f) + GL11.glRotatef(90, 0, 1, 0) + RenderUtility.rotateBlockBasedOnDirection(getDirection) + RenderUtility.bind(TileMotor.texture) + TileMotor.model.renderAll() + GL11.glPopMatrix() + } + override def readFromNBT(nbt: NBTTagCompound) { super.readFromNBT(nbt)