package mekanism.client.model; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import org.lwjgl.opengl.GL11; @SideOnly(Side.CLIENT) public class ModelSeismicVibrator extends ModelBase { ModelRenderer Base; ModelRenderer Tower; ModelRenderer TowerTop; ModelRenderer TopPanel; ModelRenderer Vibrator; ModelRenderer PoleBR; ModelRenderer PoleLB; ModelRenderer PoleFL; ModelRenderer PoleRF; ModelRenderer PoleL; ModelRenderer PoleR; ModelRenderer Cable; ModelRenderer ScreenFront; ModelRenderer Keyboard; public ModelSeismicVibrator() { textureWidth = 128; textureHeight = 128; Base = new ModelRenderer(this, 0, 0); Base.addBox(0F, 0F, 0F, 16, 1, 16); Base.setRotationPoint(-8F, 23F, -8F); Base.setTextureSize(128, 128); Base.mirror = true; setRotation(Base, 0F, 0F, 0F); Tower = new ModelRenderer(this, 64, 0); Tower.addBox(0F, 0F, 0F, 4, 11, 4); Tower.setRotationPoint(-2F, 12F, -2F); Tower.setTextureSize(128, 128); Tower.mirror = true; setRotation(Tower, 0F, 0F, 0F); TowerTop = new ModelRenderer(this, 80, 0); TowerTop.addBox(0F, 0F, 0F, 2, 1, 2); TowerTop.setRotationPoint(-1F, 10F, -1F); TowerTop.setTextureSize(128, 128); TowerTop.mirror = true; setRotation(TowerTop, 0F, 0F, 0F); TopPanel = new ModelRenderer(this, 0, 17); TopPanel.addBox(0F, 0F, 0F, 8, 1, 8); TopPanel.setRotationPoint(-4F, 11F, -4F); TopPanel.setTextureSize(128, 128); TopPanel.mirror = true; setRotation(TopPanel, 0F, 0F, 0F); Vibrator = new ModelRenderer(this, 32, 17); Vibrator.addBox(0F, 0F, 0F, 8, 4, 8); Vibrator.setRotationPoint(-4F, 19F, -4F); Vibrator.setTextureSize(128, 128); Vibrator.mirror = true; setRotation(Vibrator, 0F, 0F, 0F); PoleBR = new ModelRenderer(this, 0, 26); PoleBR.addBox(0F, 0F, 0F, 1, 13, 1); PoleBR.setRotationPoint(-5F, 10F, 4F); PoleBR.setTextureSize(128, 128); PoleBR.mirror = true; setRotation(PoleBR, 0F, 0F, 0F); PoleLB = new ModelRenderer(this, 0, 26); PoleLB.addBox(0F, 0F, 0F, 1, 13, 1); PoleLB.setRotationPoint(4F, 10F, 4F); PoleLB.setTextureSize(128, 128); PoleLB.mirror = true; setRotation(PoleLB, 0F, 0F, 0F); PoleFL = new ModelRenderer(this, 0, 26); PoleFL.addBox(0F, 0F, 0F, 1, 13, 1); PoleFL.setRotationPoint(4F, 10F, -5F); PoleFL.setTextureSize(128, 128); PoleFL.mirror = true; setRotation(PoleFL, 0F, 0F, 0F); PoleRF = new ModelRenderer(this, 0, 26); PoleRF.addBox(0F, 0F, 0F, 1, 13, 1); PoleRF.setRotationPoint(-5F, 10F, -5F); PoleRF.setTextureSize(128, 128); PoleRF.mirror = true; setRotation(PoleRF, 0F, 0F, 0F); PoleL = new ModelRenderer(this, 4, 26); PoleL.addBox(0F, 0F, 0F, 1, 1, 8); PoleL.setRotationPoint(4F, 10F, -4F); PoleL.setTextureSize(128, 128); PoleL.mirror = true; setRotation(PoleL, 0F, 0F, 0F); PoleR = new ModelRenderer(this, 4, 26); PoleR.addBox(0F, 0F, 0F, 1, 1, 8); PoleR.setRotationPoint(-5F, 10F, -4F); PoleR.setTextureSize(128, 128); PoleR.mirror = true; setRotation(PoleR, 0F, 0F, 0F); Cable = new ModelRenderer(this, 64, 15); Cable.addBox(0F, 0F, 0F, 6, 2, 6); Cable.setRotationPoint(-3F, 8F, -3F); Cable.setTextureSize(128, 128); Cable.mirror = true; setRotation(Cable, 0F, 0F, 0F); ScreenFront = new ModelRenderer(this, 0, 40); ScreenFront.addBox(0F, 0F, 0F, 8, 6, 1); ScreenFront.setRotationPoint(-4F, 11F, -6F); ScreenFront.setTextureSize(128, 128); ScreenFront.mirror = true; setRotation(ScreenFront, 0F, 0F, 0F); Keyboard = new ModelRenderer(this, 0, 47); Keyboard.addBox(0F, 0F, 0F, 8, 1, 3); Keyboard.setRotationPoint(-4F, 18F, -8F); Keyboard.setTextureSize(128, 128); Keyboard.mirror = true; setRotation(Keyboard, 0.4363323F, 0F, 0F); } public void render(float size) { Base.render(size); Tower.render(size); TowerTop.render(size); TopPanel.render(size); Vibrator.render(size); PoleBR.render(size); PoleLB.render(size); PoleFL.render(size); PoleRF.render(size); PoleL.render(size); PoleR.render(size); Cable.render(size); ScreenFront.render(size); GL11.glScalef(1.01F, 1.01F, 1.01F); Keyboard.render(size); } public void renderWithPiston(float piston, float size) { Vibrator.rotationPointY = 19 - (piston*7); render(size); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } }