summaryrefslogtreecommitdiff
path: root/ihl/processing/metallurgy/RollingMachineRender.java
diff options
context:
space:
mode:
authorFoghrye4 <foghrye4@gmail.com>2016-04-11 19:44:54 +0300
committerFoghrye4 <foghrye4@gmail.com>2016-04-11 19:44:54 +0300
commit05c78126859231a68e199dc34613689bd0978e2f (patch)
tree050bea104a18c72905095d29f31bec2935a27a24 /ihl/processing/metallurgy/RollingMachineRender.java
Initial commit
Diffstat (limited to 'ihl/processing/metallurgy/RollingMachineRender.java')
-rw-r--r--ihl/processing/metallurgy/RollingMachineRender.java84
1 files changed, 84 insertions, 0 deletions
diff --git a/ihl/processing/metallurgy/RollingMachineRender.java b/ihl/processing/metallurgy/RollingMachineRender.java
new file mode 100644
index 0000000..ee8b567
--- /dev/null
+++ b/ihl/processing/metallurgy/RollingMachineRender.java
@@ -0,0 +1,84 @@
+package ihl.processing.metallurgy;
+import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.ResourceLocation;
+import org.lwjgl.opengl.GL11;
+
+import ic2.api.tile.IWrenchable;
+import ihl.IHLModInfo;
+
+public class RollingMachineRender extends TileEntitySpecialRenderer{
+private RollingMachinePart1Model model = new RollingMachinePart1Model();
+private ResourceLocation tex = new ResourceLocation(IHLModInfo.MODID+":textures/blocks/coiler.png");
+private final float scale=1F/16F;
+
+ public RollingMachineRender() {}
+
+
+ @Override
+ public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float par8)
+ {
+ int rotation = 0;
+ if(tile.getWorldObj() != null)
+ {
+ switch (((IWrenchable)tile).getFacing())
+ {
+ case 2:
+ rotation = 0;
+ break;
+ case 5:
+ rotation = 1;
+ break;
+ case 3:
+ rotation = 2;
+ break;
+ case 4:
+ rotation = 3;
+ break;
+ default:
+ rotation = 0;
+ }
+ }
+ else
+ {
+ return;
+ }
+ RollingMachinePart1TileEntity cte = (RollingMachinePart1TileEntity)tile;
+ GL11.glPushMatrix();
+ GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F);
+ GL11.glScalef(1.0F, -1F, -1F);
+ GL11.glRotatef(rotation*90, 0.0F, 1.0F, 0.0F);
+
+ bindTexture(tex);
+ model.Base.render(scale);
+ if(cte.getActive())
+ {
+ model.RotatingPart1.rotateAngleZ-=0.01F;
+ model.RotatingPart2.rotateAngleZ+=0.01F;
+ model.RotatingPart1.render(scale);
+ model.RotatingPart2.render(scale);
+ model.MotorPart1.rotateAngleZ-=0.03F;
+ model.MotorPart1.render(scale);
+ model.MotorPart2.render(scale);
+ model.Plate.offsetX+=0.001F;
+ if(model.Plate.offsetX>1F){model.Plate.offsetX=0;}
+ model.Plate.render(scale);
+ }
+ else
+ {
+ model.Plate.offsetX=0F;
+ if(cte.assembled)
+ {
+ model.RotatingPart1.render(scale);
+ model.RotatingPart2.render(scale);
+ }
+ if(cte.hasEngine)
+ {
+ model.MotorPart1.render(scale);
+ model.MotorPart2.render(scale);
+ }
+ }
+ GL11.glPopMatrix(); //end
+
+ }
+} \ No newline at end of file