New motor model and render
This commit is contained in:
parent
061bb11017
commit
2cfdd91fea
Binary file not shown.
Before Width: | Height: | Size: 643 B |
Binary file not shown.
BIN
src/main/resources/assets/resonantinduction/models/motor.png
Normal file
BIN
src/main/resources/assets/resonantinduction/models/motor.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.2 KiB |
BIN
src/main/resources/assets/resonantinduction/models/motor.tcn
Normal file
BIN
src/main/resources/assets/resonantinduction/models/motor.tcn
Normal file
Binary file not shown.
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue