From 641ed731f4f4c2a17e223a5a636003d12dfcb35f Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Fri, 1 Apr 2016 13:50:39 -0400 Subject: [PATCH] New round of machine models, updated Chemical Crystallizer side config defaults --- .../model/ModelChemicalCrystallizer.java | 435 +++++---------- .../ModelChemicalDissolutionChamber.java | 526 ++++++++---------- .../client/model/ModelChemicalOxidizer.java | 4 - .../client/model/ModelChemicalWasher.java | 456 ++++++--------- .../client/model/ModelElectricPump.java | 260 +++++---- .../model/ModelRotaryCondensentrator.java | 380 ++++++------- .../render/block/MachineRenderingHandler.java | 21 +- .../RenderChemicalCrystallizer.java | 2 +- .../render/tileentity/RenderElectricPump.java | 8 +- .../RenderRotaryCondensentrator.java | 8 +- .../common/item/ItemBlockMachine.java | 2 +- .../tile/TileEntityChemicalCrystallizer.java | 2 +- .../tile/TileEntitySeismicVibrator.java | 16 +- .../mekanism/render/ChemicalCrystallizer.png | Bin 5493 -> 5158 bytes .../render/ChemicalDissolutionChamber.png | Bin 5769 -> 5995 bytes .../assets/mekanism/render/ChemicalWasher.png | Bin 7088 -> 5820 bytes .../assets/mekanism/render/ElectricPump.png | Bin 3253 -> 6249 bytes .../mekanism/render/RotaryCondensentrator.png | Bin 3702 -> 7349 bytes 18 files changed, 943 insertions(+), 1177 deletions(-) diff --git a/src/main/java/mekanism/client/model/ModelChemicalCrystallizer.java b/src/main/java/mekanism/client/model/ModelChemicalCrystallizer.java index 18cc82b80..8a91a6a89 100644 --- a/src/main/java/mekanism/client/model/ModelChemicalCrystallizer.java +++ b/src/main/java/mekanism/client/model/ModelChemicalCrystallizer.java @@ -9,315 +9,158 @@ import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class ModelChemicalCrystallizer extends ModelBase { - ModelRenderer Base; - ModelRenderer IO1; - ModelRenderer IO2; - ModelRenderer Base3; - ModelRenderer Base2; - ModelRenderer Can1B; - ModelRenderer Can1T; - ModelRenderer Can1Side3; - ModelRenderer Can1Side1; - ModelRenderer Can1Side2; - ModelRenderer Can1Side4; - ModelRenderer Can2Side4; - ModelRenderer Can3Side3; - ModelRenderer Can2Side2; - ModelRenderer Can2Side3; - ModelRenderer Can2Side1; - ModelRenderer Can4Side3; - ModelRenderer Can4Side1; - ModelRenderer Can4Sjde4; - ModelRenderer Can4Side2; - ModelRenderer Can3Side4; - ModelRenderer Can4B; - ModelRenderer Can3Side2; - ModelRenderer Can3Side1; - ModelRenderer Can2B; - ModelRenderer Can4T; - ModelRenderer Can2T; - ModelRenderer Can3T; - ModelRenderer Can3B; - ModelRenderer Spire; - ModelRenderer Spin; - ModelRenderer Vial1; - ModelRenderer Vial2; - ModelRenderer Vial3; - ModelRenderer Vial4; + ModelRenderer tray; + ModelRenderer support4; + ModelRenderer rimBack; + ModelRenderer portRight; + ModelRenderer rimRight; + ModelRenderer rimLeft; + ModelRenderer rimFront; + ModelRenderer portLeft; + ModelRenderer support3; + ModelRenderer support2; + ModelRenderer support1; + ModelRenderer tank; + ModelRenderer rod1; + ModelRenderer rod2; + ModelRenderer rod3; + ModelRenderer base; + ModelRenderer Shape1; - public ModelChemicalCrystallizer() + public ModelChemicalCrystallizer() { textureWidth = 128; textureHeight = 64; - Base = new ModelRenderer(this, 16, 0); - Base.addBox(0F, 0F, 0F, 14, 1, 14); - Base.setRotationPoint(-7F, 23F, -7F); - Base.setTextureSize(128, 64); - Base.mirror = true; - setRotation(Base, 0F, 0F, 0F); - IO1 = new ModelRenderer(this, 9, 17); - IO1.addBox(0F, 0F, 0F, 1, 8, 8); - IO1.setRotationPoint(-8F, 12F, -4F); - IO1.setTextureSize(128, 64); - IO1.mirror = true; - setRotation(IO1, 0F, 0F, 0F); - IO2 = new ModelRenderer(this, 9, 17); - IO2.addBox(0F, 0F, 0F, 1, 8, 8); - IO2.setRotationPoint(7F, 12F, -4F); - IO2.setTextureSize(128, 64); - IO2.mirror = true; - setRotation(IO2, 0F, 0F, 0F); - Base3 = new ModelRenderer(this, 16, 0); - Base3.addBox(0F, 0F, 0F, 14, 1, 14); - Base3.setRotationPoint(-7F, 9F, -7F); - Base3.setTextureSize(128, 64); - Base3.mirror = true; - setRotation(Base3, 0F, 0F, 0F); - Base2 = new ModelRenderer(this, 16, 0); - Base2.addBox(0F, 0F, 0F, 14, 1, 14); - Base2.setRotationPoint(-7F, 14F, -7F); - Base2.setTextureSize(128, 64); - Base2.mirror = true; - setRotation(Base2, 0F, 0F, 0F); - Can1B = new ModelRenderer(this, 0, 0); - Can1B.addBox(0F, 0F, 0F, 4, 1, 4); - Can1B.setRotationPoint(2F, 13F, 2F); - Can1B.setTextureSize(128, 64); - Can1B.mirror = true; - setRotation(Can1B, 0F, 0F, 0F); - Can1T = new ModelRenderer(this, 0, 0); - Can1T.addBox(0F, 0F, 0F, 4, 1, 4); - Can1T.setRotationPoint(2F, 10F, 2F); - Can1T.setTextureSize(128, 64); - Can1T.mirror = true; - setRotation(Can1T, 0F, 0F, 0F); - Can1Side3 = new ModelRenderer(this, 0, 0); - Can1Side3.addBox(0F, 0F, 0F, 1, 2, 2); - Can1Side3.setRotationPoint(5F, 11F, 3F); - Can1Side3.setTextureSize(128, 64); - Can1Side3.mirror = true; - setRotation(Can1Side3, 0F, 0F, 0F); - Can1Side1 = new ModelRenderer(this, 0, 0); - Can1Side1.addBox(0F, 0F, 0F, 4, 2, 1); - Can1Side1.setRotationPoint(2F, 11F, 5F); - Can1Side1.setTextureSize(128, 64); - Can1Side1.mirror = true; - setRotation(Can1Side1, 0F, 0F, 0F); - Can1Side2 = new ModelRenderer(this, 0, 0); - Can1Side2.addBox(0F, 0F, 0F, 4, 2, 1); - Can1Side2.setRotationPoint(2F, 11F, 2F); - Can1Side2.setTextureSize(128, 64); - Can1Side2.mirror = true; - setRotation(Can1Side2, 0F, 0F, 0F); - Can1Side4 = new ModelRenderer(this, 0, 0); - Can1Side4.addBox(0F, 0F, 0F, 1, 2, 2); - Can1Side4.setRotationPoint(2F, 11F, 3F); - Can1Side4.setTextureSize(128, 64); - Can1Side4.mirror = true; - setRotation(Can1Side4, 0F, 0F, 0F); - Can2Side4 = new ModelRenderer(this, 0, 0); - Can2Side4.addBox(0F, 0F, 0F, 1, 2, 2); - Can2Side4.setRotationPoint(-6F, 11F, 3F); - Can2Side4.setTextureSize(128, 64); - Can2Side4.mirror = true; - setRotation(Can2Side4, 0F, 0F, 0F); - Can3Side3 = new ModelRenderer(this, 0, 0); - Can3Side3.addBox(0F, 0F, 0F, 1, 2, 2); - Can3Side3.setRotationPoint(5F, 11F, -5F); - Can3Side3.setTextureSize(128, 64); - Can3Side3.mirror = true; - setRotation(Can3Side3, 0F, 0F, 0F); - Can2Side2 = new ModelRenderer(this, 0, 0); - Can2Side2.addBox(0F, 0F, 0F, 4, 2, 1); - Can2Side2.setRotationPoint(-6F, 11F, 2F); - Can2Side2.setTextureSize(128, 64); - Can2Side2.mirror = true; - setRotation(Can2Side2, 0F, 0F, 0F); - Can2Side3 = new ModelRenderer(this, 0, 0); - Can2Side3.addBox(0F, 0F, 0F, 1, 2, 2); - Can2Side3.setRotationPoint(-3F, 11F, 3F); - Can2Side3.setTextureSize(128, 64); - Can2Side3.mirror = true; - setRotation(Can2Side3, 0F, 0F, 0F); - Can2Side1 = new ModelRenderer(this, 0, 0); - Can2Side1.addBox(0F, 0F, 0F, 4, 2, 1); - Can2Side1.setRotationPoint(-6F, 11F, 5F); - Can2Side1.setTextureSize(128, 64); - Can2Side1.mirror = true; - setRotation(Can2Side1, 0F, 0F, 0F); - Can4Side3 = new ModelRenderer(this, 0, 0); - Can4Side3.addBox(0F, 0F, 0F, 1, 2, 2); - Can4Side3.setRotationPoint(-3F, 11F, -5F); - Can4Side3.setTextureSize(128, 64); - Can4Side3.mirror = true; - setRotation(Can4Side3, 0F, 0F, 0F); - Can4Side1 = new ModelRenderer(this, 0, 0); - Can4Side1.addBox(0F, 0F, 0F, 4, 2, 1); - Can4Side1.setRotationPoint(-6F, 11F, -3F); - Can4Side1.setTextureSize(128, 64); - Can4Side1.mirror = true; - setRotation(Can4Side1, 0F, 0F, 0F); - Can4Sjde4 = new ModelRenderer(this, 0, 0); - Can4Sjde4.addBox(0F, 0F, 0F, 1, 2, 2); - Can4Sjde4.setRotationPoint(-6F, 11F, -5F); - Can4Sjde4.setTextureSize(128, 64); - Can4Sjde4.mirror = true; - setRotation(Can4Sjde4, 0F, 0F, 0F); - Can4Side2 = new ModelRenderer(this, 0, 0); - Can4Side2.addBox(0F, 0F, 0F, 4, 2, 1); - Can4Side2.setRotationPoint(-6F, 11F, -6F); - Can4Side2.setTextureSize(128, 64); - Can4Side2.mirror = true; - setRotation(Can4Side2, 0F, 0F, 0F); - Can3Side4 = new ModelRenderer(this, 0, 0); - Can3Side4.addBox(0F, 0F, 0F, 1, 2, 2); - Can3Side4.setRotationPoint(2F, 11F, -5F); - Can3Side4.setTextureSize(128, 64); - Can3Side4.mirror = true; - setRotation(Can3Side4, 0F, 0F, 0F); - Can4B = new ModelRenderer(this, 0, 0); - Can4B.addBox(0F, 0F, 0F, 4, 1, 4); - Can4B.setRotationPoint(-6F, 13F, -6F); - Can4B.setTextureSize(128, 64); - Can4B.mirror = true; - setRotation(Can4B, 0F, 0F, 0F); - Can3Side2 = new ModelRenderer(this, 0, 0); - Can3Side2.addBox(0F, 0F, 0F, 4, 2, 1); - Can3Side2.setRotationPoint(2F, 11F, -6F); - Can3Side2.setTextureSize(128, 64); - Can3Side2.mirror = true; - setRotation(Can3Side2, 0F, 0F, 0F); - Can3Side1 = new ModelRenderer(this, 0, 0); - Can3Side1.addBox(0F, 0F, 0F, 4, 2, 1); - Can3Side1.setRotationPoint(2F, 11F, -3F); - Can3Side1.setTextureSize(128, 64); - Can3Side1.mirror = true; - setRotation(Can3Side1, 0F, 0F, 0F); - Can2B = new ModelRenderer(this, 0, 0); - Can2B.addBox(0F, 0F, 0F, 4, 1, 4); - Can2B.setRotationPoint(-6F, 13F, 2F); - Can2B.setTextureSize(128, 64); - Can2B.mirror = true; - setRotation(Can2B, 0F, 0F, 0F); - Can4T = new ModelRenderer(this, 0, 0); - Can4T.addBox(0F, 0F, 0F, 4, 1, 4); - Can4T.setRotationPoint(-6F, 10F, -6F); - Can4T.setTextureSize(128, 64); - Can4T.mirror = true; - setRotation(Can4T, 0F, 0F, 0F); - Can2T = new ModelRenderer(this, 0, 0); - Can2T.addBox(0F, 0F, 0F, 4, 1, 4); - Can2T.setRotationPoint(-6F, 10F, 2F); - Can2T.setTextureSize(128, 64); - Can2T.mirror = true; - setRotation(Can2T, 0F, 0F, 0F); - Can3T = new ModelRenderer(this, 0, 0); - Can3T.addBox(0F, 0F, 0F, 4, 1, 4); - Can3T.setRotationPoint(2F, 10F, -6F); - Can3T.setTextureSize(128, 64); - Can3T.mirror = true; - setRotation(Can3T, 0F, 0F, 0F); - Can3B = new ModelRenderer(this, 0, 0); - Can3B.addBox(0F, 0F, 0F, 4, 1, 4); - Can3B.setRotationPoint(2F, 13F, -6F); - Can3B.setTextureSize(128, 64); - Can3B.mirror = true; - setRotation(Can3B, 0F, 0F, 0F); - Spire = new ModelRenderer(this, 0, 6); - Spire.addBox(0F, 0F, 0F, 2, 8, 2); - Spire.setRotationPoint(-1F, 15F, -1F); - Spire.setTextureSize(128, 64); - Spire.mirror = true; - setRotation(Spire, 0F, 0F, 0F); - Spin = new ModelRenderer(this, 28, 24); - Spin.addBox(-4F, 0F, -4F, 8, 1, 8); - Spin.setRotationPoint(0F, 16F, 0F); - Spin.setTextureSize(128, 64); - Spin.mirror = true; - setRotation(Spin, 0F, 0F, 0F); - Vial1 = new ModelRenderer(this, 8, 6); - Vial1.addBox(-3F, 0.5F, 3F, 2, 3, 2); - Vial1.setRotationPoint(0F, 16F, 0F); - Vial1.setTextureSize(128, 64); - Vial1.mirror = true; - setRotation(Vial1, 0F, 0F, 0F); - Vial2 = new ModelRenderer(this, 8, 6); - Vial2.addBox(1F, 0.5F, 3F, 2, 3, 2); - Vial2.setRotationPoint(0F, 16F, 0F); - Vial2.setTextureSize(128, 64); - Vial2.mirror = true; - setRotation(Vial2, 0F, 0F, 0F); - Vial3 = new ModelRenderer(this, 8, 6); - Vial3.addBox(-3F, 0.5F, -5F, 2, 3, 2); - Vial3.setRotationPoint(0F, 16F, 0F); - Vial3.setTextureSize(128, 64); - Vial3.mirror = true; - setRotation(Vial3, 0F, 0F, 0F); - Vial4 = new ModelRenderer(this, 8, 6); - Vial4.addBox(1F, 0.5F, -5F, 2, 3, 2); - Vial4.setRotationPoint(0F, 16F, 0F); - Vial4.setTextureSize(128, 64); - Vial4.mirror = true; - setRotation(Vial4, 0F, 0F, 0F); + tray = new ModelRenderer(this, 48, 0); + tray.addBox(0F, 0F, 0F, 10, 1, 10); + tray.setRotationPoint(-5F, 18.5F, -5F); + tray.setTextureSize(128, 64); + tray.mirror = true; + setRotation(tray, 0F, 0F, 0F); + support4 = new ModelRenderer(this, 0, 0); + support4.addBox(0F, 0F, 0F, 1, 5, 1); + support4.setRotationPoint(6.5F, 13F, 6.5F); + support4.setTextureSize(128, 64); + support4.mirror = true; + setRotation(support4, 0F, 0F, 0F); + rimBack = new ModelRenderer(this, 0, 46); + rimBack.addBox(0F, 0F, 0F, 16, 2, 2); + rimBack.setRotationPoint(-8F, 17F, 6F); + rimBack.setTextureSize(128, 64); + rimBack.mirror = true; + setRotation(rimBack, 0F, 0F, 0F); + portRight = new ModelRenderer(this, 36, 42); + portRight.mirror = true; + portRight.addBox(0F, 0F, 0F, 1, 8, 8); + portRight.setRotationPoint(7.01F, 12F, -4F); + portRight.setTextureSize(128, 64); + setRotation(portRight, 0F, 0F, 0F); + rimRight = new ModelRenderer(this, 0, 50); + rimRight.mirror = true; + rimRight.addBox(0F, 0F, 0F, 2, 2, 12); + rimRight.setRotationPoint(6F, 17F, -6F); + rimRight.setTextureSize(128, 64); + setRotation(rimRight, 0F, 0F, 0F); + rimLeft = new ModelRenderer(this, 0, 50); + rimLeft.addBox(0F, 0F, 0F, 2, 2, 12); + rimLeft.setRotationPoint(-8F, 17F, -6F); + rimLeft.setTextureSize(128, 64); + rimLeft.mirror = true; + setRotation(rimLeft, 0F, 0F, 0F); + rimFront = new ModelRenderer(this, 0, 42); + rimFront.addBox(0F, 0F, 0F, 16, 2, 2); + rimFront.setRotationPoint(-8F, 17F, -8F); + rimFront.setTextureSize(128, 64); + rimFront.mirror = true; + setRotation(rimFront, 0F, 0F, 0F); + portLeft = new ModelRenderer(this, 36, 42); + portLeft.addBox(0F, 0F, 0F, 1, 8, 8); + portLeft.setRotationPoint(-8.01F, 12F, -4F); + portLeft.setTextureSize(128, 64); + portLeft.mirror = true; + setRotation(portLeft, 0F, 0F, 0F); + support3 = new ModelRenderer(this, 0, 0); + support3.addBox(0F, 0F, 0F, 1, 5, 1); + support3.setRotationPoint(-7.5F, 13F, 6.5F); + support3.setTextureSize(128, 64); + support3.mirror = true; + setRotation(support3, 0F, 0F, 0F); + support2 = new ModelRenderer(this, 0, 0); + support2.addBox(0F, 0F, 0F, 1, 5, 1); + support2.setRotationPoint(6.5F, 13F, -7.5F); + support2.setTextureSize(128, 64); + support2.mirror = true; + setRotation(support2, 0F, 0F, 0F); + support1 = new ModelRenderer(this, 0, 0); + support1.addBox(0F, 0F, 0F, 1, 5, 1); + support1.setRotationPoint(-7.5F, 13F, -7.5F); + support1.setTextureSize(128, 64); + support1.mirror = true; + setRotation(support1, 0F, 0F, 0F); + tank = new ModelRenderer(this, 0, 0); + tank.addBox(0F, 0F, 0F, 16, 5, 16); + tank.setRotationPoint(-8F, 8F, -8F); + tank.setTextureSize(128, 64); + tank.mirror = true; + setRotation(tank, 0F, 0F, 0F); + rod1 = new ModelRenderer(this, 8, 0); + rod1.addBox(0F, 0F, 0F, 1, 2, 1); + rod1.setRotationPoint(-2F, 13F, 0F); + rod1.setTextureSize(128, 64); + rod1.mirror = true; + setRotation(rod1, 0F, 0F, 0F); + rod2 = new ModelRenderer(this, 8, 3); + rod2.addBox(0F, 0F, 0F, 1, 3, 1); + rod2.setRotationPoint(1F, 13F, 1F); + rod2.setTextureSize(128, 64); + rod2.mirror = true; + setRotation(rod2, 0F, 0F, 0F); + rod3 = new ModelRenderer(this, 4, 0); + rod3.addBox(0F, 0F, 0F, 1, 4, 1); + rod3.setRotationPoint(-0.5F, 13F, -2F); + rod3.setTextureSize(128, 64); + rod3.mirror = true; + setRotation(rod3, 0F, 0F, 0F); + base = new ModelRenderer(this, 0, 21); + base.addBox(0F, 0F, 0F, 16, 5, 16); + base.setRotationPoint(-8F, 19F, -8F); + base.setTextureSize(128, 64); + base.mirror = true; + setRotation(base, 0F, 0F, 0F); + Shape1 = new ModelRenderer(this, 64, 11); + Shape1.addBox(0F, 0F, 0F, 14, 4, 14); + Shape1.setRotationPoint(-7F, 13F, -7F); + Shape1.setTextureSize(128, 64); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); } public void render(float size) { MekanismRenderer.blendOn(); - - Base.render(size); - IO1.render(size); - IO2.render(size); - Base3.render(size); - Base2.render(size); - Can1B.render(size); - Can1T.render(size); - Can1Side3.render(size); - Can1Side1.render(size); - Can1Side2.render(size); - Can1Side4.render(size); - Can2Side4.render(size); - Can3Side3.render(size); - Can2Side2.render(size); - Can2Side3.render(size); - Can2Side1.render(size); - Can4Side3.render(size); - Can4Side1.render(size); - Can4Sjde4.render(size); - Can4Side2.render(size); - Can3Side4.render(size); - Can4B.render(size); - Can3Side2.render(size); - Can3Side1.render(size); - Can2B.render(size); - Can4T.render(size); - Can2T.render(size); - Can3T.render(size); - Can3B.render(size); - Spire.render(size); - Spin.render(size); - Vial1.render(size); - Vial2.render(size); - Vial3.render(size); - Vial4.render(size); - + + tray.render(size); + support4.render(size); + rimBack.render(size); + portRight.render(size); + rimRight.render(size); + rimLeft.render(size); + rimFront.render(size); + portLeft.render(size); + support3.render(size); + support2.render(size); + support1.render(size); + tank.render(size); + rod1.render(size); + rod2.render(size); + rod3.render(size); + base.render(size); + Shape1.render(size); + MekanismRenderer.blendOff(); } - public void renderWithRotation(float size, float rotate) - { - rotate *= Math.PI; - - Spin.rotateAngleY = rotate; - Vial1.rotateAngleY = rotate; - Vial2.rotateAngleY = rotate; - Vial3.rotateAngleY = rotate; - Vial4.rotateAngleY = rotate; - - render(size); - } - private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; diff --git a/src/main/java/mekanism/client/model/ModelChemicalDissolutionChamber.java b/src/main/java/mekanism/client/model/ModelChemicalDissolutionChamber.java index 470ae4726..c69554a8f 100644 --- a/src/main/java/mekanism/client/model/ModelChemicalDissolutionChamber.java +++ b/src/main/java/mekanism/client/model/ModelChemicalDissolutionChamber.java @@ -9,299 +9,259 @@ import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class ModelChemicalDissolutionChamber extends ModelBase { - ModelRenderer Centre; - ModelRenderer Base; - ModelRenderer Base2; - ModelRenderer Can1B; - ModelRenderer Can1T; - ModelRenderer Can1Side3; - ModelRenderer Can1Side1; - ModelRenderer Can1Side2; - ModelRenderer Can1Side4; - ModelRenderer Can2Side4; - ModelRenderer Can3Side3; - ModelRenderer Can2Side2; - ModelRenderer Can2Side3; - ModelRenderer Can2Side1; - ModelRenderer Can4Side3; - ModelRenderer Can4Side1; - ModelRenderer Can4Sjde4; - ModelRenderer Can4Side2; - ModelRenderer Can3Side4; - ModelRenderer Can4B; - ModelRenderer Can3Side2; - ModelRenderer Can3Side1; - ModelRenderer Can2B; - ModelRenderer Can4T; - ModelRenderer Can2T; - ModelRenderer Can3T; - ModelRenderer Can3B; - ModelRenderer IO1; - ModelRenderer IO2Port; - ModelRenderer IO2; - ModelRenderer IO2Port2; - ModelRenderer Coil1; - ModelRenderer Coil2; - ModelRenderer Coil3; - ModelRenderer Coil4; + ModelRenderer support2; + ModelRenderer vat5; + ModelRenderer top2; + ModelRenderer top; + ModelRenderer base; + ModelRenderer vat2; + ModelRenderer vat3; + ModelRenderer vat6; + ModelRenderer vat9; + ModelRenderer vat8; + ModelRenderer vat7; + ModelRenderer vat4; + ModelRenderer backEdge2; + ModelRenderer back; + ModelRenderer backEdge1; + ModelRenderer vents; + ModelRenderer support1; + ModelRenderer vat1; + ModelRenderer nozzle8; + ModelRenderer nozzle5; + ModelRenderer nozzle7; + ModelRenderer nozzle4; + ModelRenderer nozzle9; + ModelRenderer nozzle6; + ModelRenderer nozzle3; + ModelRenderer nozzle2; + ModelRenderer nozzle1; + ModelRenderer glass; + ModelRenderer portToggle1; + ModelRenderer portToggle2; - public ModelChemicalDissolutionChamber() + public ModelChemicalDissolutionChamber() { textureWidth = 128; textureHeight = 64; - Centre = new ModelRenderer(this, 0, 17); - Centre.addBox(0F, 0F, 0F, 2, 13, 2); - Centre.setRotationPoint(-1F, 9F, -1F); - Centre.setTextureSize(128, 64); - Centre.mirror = true; - setRotation(Centre, 0F, 0F, 0F); - Base = new ModelRenderer(this, 16, 0); - Base.addBox(0F, 0F, 0F, 14, 2, 14); - Base.setRotationPoint(-7F, 22F, -7F); - Base.setTextureSize(128, 64); - Base.mirror = true; - setRotation(Base, 0F, 0F, 0F); - Base2 = new ModelRenderer(this, 16, 0); - Base2.addBox(0F, 0F, 0F, 14, 1, 14); - Base2.setRotationPoint(-7F, 16F, -7F); - Base2.setTextureSize(128, 64); - Base2.mirror = true; - setRotation(Base2, 0F, 0F, 0F); - Can1B = new ModelRenderer(this, 0, 0); - Can1B.addBox(0F, 0F, 0F, 4, 1, 4); - Can1B.setRotationPoint(2F, 21F, 2F); - Can1B.setTextureSize(128, 64); - Can1B.mirror = true; - setRotation(Can1B, 0F, 0F, 0F); - Can1T = new ModelRenderer(this, 0, 0); - Can1T.addBox(0F, 0F, 0F, 4, 1, 4); - Can1T.setRotationPoint(2F, 17F, 2F); - Can1T.setTextureSize(128, 64); - Can1T.mirror = true; - setRotation(Can1T, 0F, 0F, 0F); - Can1Side3 = new ModelRenderer(this, 0, 0); - Can1Side3.addBox(0F, 0F, 0F, 1, 3, 2); - Can1Side3.setRotationPoint(5F, 18F, 3F); - Can1Side3.setTextureSize(128, 64); - Can1Side3.mirror = true; - setRotation(Can1Side3, 0F, 0F, 0F); - Can1Side1 = new ModelRenderer(this, 0, 0); - Can1Side1.addBox(0F, 0F, 0F, 4, 3, 1); - Can1Side1.setRotationPoint(2F, 18F, 5F); - Can1Side1.setTextureSize(128, 64); - Can1Side1.mirror = true; - setRotation(Can1Side1, 0F, 0F, 0F); - Can1Side2 = new ModelRenderer(this, 0, 0); - Can1Side2.addBox(0F, 0F, 0F, 4, 3, 1); - Can1Side2.setRotationPoint(2F, 18F, 2F); - Can1Side2.setTextureSize(128, 64); - Can1Side2.mirror = true; - setRotation(Can1Side2, 0F, 0F, 0F); - Can1Side4 = new ModelRenderer(this, 0, 0); - Can1Side4.addBox(0F, 0F, 0F, 1, 3, 2); - Can1Side4.setRotationPoint(2F, 18F, 3F); - Can1Side4.setTextureSize(128, 64); - Can1Side4.mirror = true; - setRotation(Can1Side4, 0F, 0F, 0F); - Can2Side4 = new ModelRenderer(this, 0, 0); - Can2Side4.addBox(0F, 0F, 0F, 1, 3, 2); - Can2Side4.setRotationPoint(-6F, 18F, 3F); - Can2Side4.setTextureSize(128, 64); - Can2Side4.mirror = true; - setRotation(Can2Side4, 0F, 0F, 0F); - Can3Side3 = new ModelRenderer(this, 0, 0); - Can3Side3.addBox(0F, 0F, 0F, 1, 3, 2); - Can3Side3.setRotationPoint(5F, 18F, -5F); - Can3Side3.setTextureSize(128, 64); - Can3Side3.mirror = true; - setRotation(Can3Side3, 0F, 0F, 0F); - Can2Side2 = new ModelRenderer(this, 0, 0); - Can2Side2.addBox(0F, 0F, 0F, 4, 3, 1); - Can2Side2.setRotationPoint(-6F, 18F, 2F); - Can2Side2.setTextureSize(128, 64); - Can2Side2.mirror = true; - setRotation(Can2Side2, 0F, 0F, 0F); - Can2Side3 = new ModelRenderer(this, 0, 0); - Can2Side3.addBox(0F, 0F, 0F, 1, 3, 2); - Can2Side3.setRotationPoint(-3F, 18F, 3F); - Can2Side3.setTextureSize(128, 64); - Can2Side3.mirror = true; - setRotation(Can2Side3, 0F, 0F, 0F); - Can2Side1 = new ModelRenderer(this, 0, 0); - Can2Side1.addBox(0F, 0F, 0F, 4, 3, 1); - Can2Side1.setRotationPoint(-6F, 18F, 5F); - Can2Side1.setTextureSize(128, 64); - Can2Side1.mirror = true; - setRotation(Can2Side1, 0F, 0F, 0F); - Can4Side3 = new ModelRenderer(this, 0, 0); - Can4Side3.addBox(0F, 0F, 0F, 1, 3, 2); - Can4Side3.setRotationPoint(-3F, 18F, -5F); - Can4Side3.setTextureSize(128, 64); - Can4Side3.mirror = true; - setRotation(Can4Side3, 0F, 0F, 0F); - Can4Side1 = new ModelRenderer(this, 0, 0); - Can4Side1.addBox(0F, 0F, 0F, 4, 3, 1); - Can4Side1.setRotationPoint(-6F, 18F, -3F); - Can4Side1.setTextureSize(128, 64); - Can4Side1.mirror = true; - setRotation(Can4Side1, 0F, 0F, 0F); - Can4Sjde4 = new ModelRenderer(this, 0, 0); - Can4Sjde4.addBox(0F, 0F, 0F, 1, 3, 2); - Can4Sjde4.setRotationPoint(-6F, 18F, -5F); - Can4Sjde4.setTextureSize(128, 64); - Can4Sjde4.mirror = true; - setRotation(Can4Sjde4, 0F, 0F, 0F); - Can4Side2 = new ModelRenderer(this, 0, 0); - Can4Side2.addBox(0F, 0F, 0F, 4, 3, 1); - Can4Side2.setRotationPoint(-6F, 18F, -6F); - Can4Side2.setTextureSize(128, 64); - Can4Side2.mirror = true; - setRotation(Can4Side2, 0F, 0F, 0F); - Can3Side4 = new ModelRenderer(this, 0, 0); - Can3Side4.addBox(0F, 0F, 0F, 1, 3, 2); - Can3Side4.setRotationPoint(2F, 18F, -5F); - Can3Side4.setTextureSize(128, 64); - Can3Side4.mirror = true; - setRotation(Can3Side4, 0F, 0F, 0F); - Can4B = new ModelRenderer(this, 0, 0); - Can4B.addBox(0F, 0F, 0F, 4, 1, 4); - Can4B.setRotationPoint(-6F, 21F, -6F); - Can4B.setTextureSize(128, 64); - Can4B.mirror = true; - setRotation(Can4B, 0F, 0F, 0F); - Can3Side2 = new ModelRenderer(this, 0, 0); - Can3Side2.addBox(0F, 0F, 0F, 4, 3, 1); - Can3Side2.setRotationPoint(2F, 18F, -6F); - Can3Side2.setTextureSize(128, 64); - Can3Side2.mirror = true; - setRotation(Can3Side2, 0F, 0F, 0F); - Can3Side1 = new ModelRenderer(this, 0, 0); - Can3Side1.addBox(0F, 0F, 0F, 4, 3, 1); - Can3Side1.setRotationPoint(2F, 18F, -3F); - Can3Side1.setTextureSize(128, 64); - Can3Side1.mirror = true; - setRotation(Can3Side1, 0F, 0F, 0F); - Can2B = new ModelRenderer(this, 0, 0); - Can2B.addBox(0F, 0F, 0F, 4, 1, 4); - Can2B.setRotationPoint(-6F, 21F, 2F); - Can2B.setTextureSize(128, 64); - Can2B.mirror = true; - setRotation(Can2B, 0F, 0F, 0F); - Can4T = new ModelRenderer(this, 0, 0); - Can4T.addBox(0F, 0F, 0F, 4, 1, 4); - Can4T.setRotationPoint(-6F, 17F, -6F); - Can4T.setTextureSize(128, 64); - Can4T.mirror = true; - setRotation(Can4T, 0F, 0F, 0F); - Can2T = new ModelRenderer(this, 0, 0); - Can2T.addBox(0F, 0F, 0F, 4, 1, 4); - Can2T.setRotationPoint(-6F, 17F, 2F); - Can2T.setTextureSize(128, 64); - Can2T.mirror = true; - setRotation(Can2T, 0F, 0F, 0F); - Can3T = new ModelRenderer(this, 0, 0); - Can3T.addBox(0F, 0F, 0F, 4, 1, 4); - Can3T.setRotationPoint(2F, 17F, -6F); - Can3T.setTextureSize(128, 64); - Can3T.mirror = true; - setRotation(Can3T, 0F, 0F, 0F); - Can3B = new ModelRenderer(this, 0, 0); - Can3B.addBox(0F, 0F, 0F, 4, 1, 4); - Can3B.setRotationPoint(2F, 21F, -6F); - Can3B.setTextureSize(128, 64); - Can3B.mirror = true; - setRotation(Can3B, 0F, 0F, 0F); - IO1 = new ModelRenderer(this, 9, 17); - IO1.addBox(0F, 0F, 0F, 1, 8, 8); - IO1.setRotationPoint(-8F, 12F, -4F); - IO1.setTextureSize(128, 64); - IO1.mirror = true; - setRotation(IO1, 0F, 0F, 0F); - IO2Port = new ModelRenderer(this, 28, 17); - IO2Port.addBox(0F, 0F, 0F, 2, 2, 4); - IO2Port.setRotationPoint(-7F, 14F, -2F); - IO2Port.setTextureSize(128, 64); - IO2Port.mirror = true; - setRotation(IO2Port, 0F, 0F, 0F); - IO2 = new ModelRenderer(this, 9, 17); - IO2.addBox(0F, 0F, 0F, 1, 8, 8); - IO2.setRotationPoint(7F, 12F, -4F); - IO2.setTextureSize(128, 64); - IO2.mirror = true; - setRotation(IO2, 0F, 0F, 0F); - IO2Port2 = new ModelRenderer(this, 28, 17); - IO2Port2.addBox(0F, 0F, 0F, 2, 2, 4); - IO2Port2.setRotationPoint(5F, 14F, -2F); - IO2Port2.setTextureSize(128, 64); - IO2Port2.mirror = true; - setRotation(IO2Port2, 0F, 0F, 0F); - Coil1 = new ModelRenderer(this, 0, 34); - Coil1.addBox(0F, 0F, 0F, 8, 1, 8); - Coil1.setRotationPoint(-4F, 14F, -4F); - Coil1.setTextureSize(128, 64); - Coil1.mirror = true; - setRotation(Coil1, 0F, 0F, 0F); - Coil2 = new ModelRenderer(this, 0, 34); - Coil2.addBox(0F, 0F, 0F, 8, 1, 8); - Coil2.setRotationPoint(-4F, 12F, -4F); - Coil2.setTextureSize(128, 64); - Coil2.mirror = true; - setRotation(Coil2, 0F, 0F, 0F); - Coil3 = new ModelRenderer(this, 0, 34); - Coil3.addBox(0F, 0F, 0F, 8, 1, 8); - Coil3.setRotationPoint(-4F, 10F, -4F); - Coil3.setTextureSize(128, 64); - Coil3.mirror = true; - setRotation(Coil3, 0F, 0F, 0F); - Coil4 = new ModelRenderer(this, 0, 34); - Coil4.addBox(0F, 0F, 0F, 8, 1, 8); - Coil4.setRotationPoint(-4F, 8F, -4F); - Coil4.setTextureSize(128, 64); - Coil4.mirror = true; - setRotation(Coil4, 0F, 0F, 0F); + support2 = new ModelRenderer(this, 4, 0); + support2.addBox(0F, 0F, 0F, 1, 2, 1); + support2.setRotationPoint(6F, 9F, -7F); + support2.setTextureSize(128, 64); + support2.mirror = true; + setRotation(support2, 0F, 0F, 0F); + vat5 = new ModelRenderer(this, 0, 23); + vat5.addBox(0F, 0F, 0F, 3, 4, 3); + vat5.setRotationPoint(-1.5F, 13F, -1.5F); + vat5.setTextureSize(128, 64); + vat5.mirror = true; + setRotation(vat5, 0F, 0F, 0F); + top2 = new ModelRenderer(this, 0, 40); + top2.addBox(0F, 0F, 0F, 16, 1, 15); + top2.setRotationPoint(-8F, 11F, -8F); + top2.setTextureSize(128, 64); + top2.mirror = true; + setRotation(top2, 0F, 0F, 0F); + top = new ModelRenderer(this, 0, 23); + top.addBox(0F, 0F, 0F, 16, 1, 16); + top.setRotationPoint(-8F, 8F, -8F); + top.setTextureSize(128, 64); + top.mirror = true; + setRotation(top, 0F, 0F, 0F); + base = new ModelRenderer(this, 0, 0); + base.addBox(0F, 0F, 0F, 16, 7, 16); + base.setRotationPoint(-8F, 17F, -8F); + base.setTextureSize(128, 64); + base.mirror = true; + setRotation(base, 0F, 0F, 0F); + vat2 = new ModelRenderer(this, 0, 23); + vat2.addBox(0F, 0F, 0F, 3, 4, 3); + vat2.setRotationPoint(-5F, 13F, -1.5F); + vat2.setTextureSize(128, 64); + vat2.mirror = true; + setRotation(vat2, 0F, 0F, 0F); + vat3 = new ModelRenderer(this, 0, 23); + vat3.addBox(0F, 0F, 0F, 3, 4, 3); + vat3.setRotationPoint(-5F, 13F, 2F); + vat3.setTextureSize(128, 64); + vat3.mirror = true; + setRotation(vat3, 0F, 0F, 0F); + vat6 = new ModelRenderer(this, 0, 23); + vat6.addBox(0F, 0F, 0F, 3, 4, 3); + vat6.setRotationPoint(-1.5F, 13F, 2F); + vat6.setTextureSize(128, 64); + vat6.mirror = true; + setRotation(vat6, 0F, 0F, 0F); + vat9 = new ModelRenderer(this, 0, 23); + vat9.addBox(0F, 0F, 0F, 3, 4, 3); + vat9.setRotationPoint(2F, 13F, 2F); + vat9.setTextureSize(128, 64); + vat9.mirror = true; + setRotation(vat9, 0F, 0F, 0F); + vat8 = new ModelRenderer(this, 0, 23); + vat8.addBox(0F, 0F, 0F, 3, 4, 3); + vat8.setRotationPoint(2F, 13F, -1.5F); + vat8.setTextureSize(128, 64); + vat8.mirror = true; + setRotation(vat8, 0F, 0F, 0F); + vat7 = new ModelRenderer(this, 0, 23); + vat7.addBox(0F, 0F, 0F, 3, 4, 3); + vat7.setRotationPoint(2F, 13F, -5F); + vat7.setTextureSize(128, 64); + vat7.mirror = true; + setRotation(vat7, 0F, 0F, 0F); + vat4 = new ModelRenderer(this, 0, 23); + vat4.addBox(0F, 0F, 0F, 3, 4, 3); + vat4.setRotationPoint(-1.5F, 13F, -5F); + vat4.setTextureSize(128, 64); + vat4.mirror = true; + setRotation(vat4, 0F, 0F, 0F); + backEdge2 = new ModelRenderer(this, 8, 0); + backEdge2.addBox(0F, 0F, 0F, 1, 8, 1); + backEdge2.setRotationPoint(7F, 9F, 7F); + backEdge2.setTextureSize(128, 64); + backEdge2.mirror = true; + setRotation(backEdge2, 0F, 0F, 0F); + back = new ModelRenderer(this, 48, 0); + back.addBox(0F, 0F, 0F, 14, 8, 2); + back.setRotationPoint(-7F, 9F, 6F); + back.setTextureSize(128, 64); + back.mirror = true; + setRotation(back, 0F, 0F, 0F); + backEdge1 = new ModelRenderer(this, 8, 0); + backEdge1.addBox(0F, 0F, 0F, 1, 8, 1); + backEdge1.setRotationPoint(-8F, 9F, 7F); + backEdge1.setTextureSize(128, 64); + backEdge1.mirror = true; + setRotation(backEdge1, 0F, 0F, 0F); + vents = new ModelRenderer(this, 70, 0); + vents.addBox(0F, 0F, 0F, 8, 2, 10); + vents.setRotationPoint(-4F, 9F, -4F); + vents.setTextureSize(128, 64); + vents.mirror = true; + setRotation(vents, 0F, 0F, 0F); + support1 = new ModelRenderer(this, 4, 0); + support1.addBox(0F, 0F, 0F, 1, 2, 1); + support1.setRotationPoint(-7F, 9F, -7F); + support1.setTextureSize(128, 64); + support1.mirror = true; + setRotation(support1, 0F, 0F, 0F); + vat1 = new ModelRenderer(this, 0, 23); + vat1.addBox(0F, 0F, 0F, 3, 4, 3); + vat1.setRotationPoint(-5F, 13F, -5F); + vat1.setTextureSize(128, 64); + vat1.mirror = true; + setRotation(vat1, 0F, 0F, 0F); + nozzle8 = new ModelRenderer(this, 0, 0); + nozzle8.addBox(0F, 0F, 0F, 1, 1, 1); + nozzle8.setRotationPoint(3F, 11.5F, -0.5F); + nozzle8.setTextureSize(128, 64); + nozzle8.mirror = true; + setRotation(nozzle8, 0F, 0F, 0F); + nozzle5 = new ModelRenderer(this, 0, 0); + nozzle5.addBox(0F, 0F, 0F, 1, 1, 1); + nozzle5.setRotationPoint(-0.5F, 11.5F, -0.5F); + nozzle5.setTextureSize(128, 64); + nozzle5.mirror = true; + setRotation(nozzle5, 0F, 0F, 0F); + nozzle7 = new ModelRenderer(this, 0, 0); + nozzle7.addBox(0F, 0F, 0F, 1, 1, 1); + nozzle7.setRotationPoint(3F, 11.5F, -4F); + nozzle7.setTextureSize(128, 64); + nozzle7.mirror = true; + setRotation(nozzle7, 0F, 0F, 0F); + nozzle4 = new ModelRenderer(this, 0, 0); + nozzle4.addBox(0F, 0F, 0F, 1, 1, 1); + nozzle4.setRotationPoint(-0.5F, 11.5F, -4F); + nozzle4.setTextureSize(128, 64); + nozzle4.mirror = true; + setRotation(nozzle4, 0F, 0F, 0F); + nozzle9 = new ModelRenderer(this, 0, 0); + nozzle9.addBox(0F, 0F, 0F, 1, 1, 1); + nozzle9.setRotationPoint(3F, 11.5F, 3F); + nozzle9.setTextureSize(128, 64); + nozzle9.mirror = true; + setRotation(nozzle9, 0F, 0F, 0F); + nozzle6 = new ModelRenderer(this, 0, 0); + nozzle6.addBox(0F, 0F, 0F, 1, 1, 1); + nozzle6.setRotationPoint(-0.5F, 11.5F, 3F); + nozzle6.setTextureSize(128, 64); + nozzle6.mirror = true; + setRotation(nozzle6, 0F, 0F, 0F); + nozzle3 = new ModelRenderer(this, 0, 0); + nozzle3.addBox(0F, 0F, 0F, 1, 1, 1); + nozzle3.setRotationPoint(-4F, 11.5F, 3F); + nozzle3.setTextureSize(128, 64); + nozzle3.mirror = true; + setRotation(nozzle3, 0F, 0F, 0F); + nozzle2 = new ModelRenderer(this, 0, 0); + nozzle2.addBox(0F, 0F, 0F, 1, 1, 1); + nozzle2.setRotationPoint(-4F, 11.5F, -0.5F); + nozzle2.setTextureSize(128, 64); + nozzle2.mirror = true; + setRotation(nozzle2, 0F, 0F, 0F); + nozzle1 = new ModelRenderer(this, 0, 0); + nozzle1.addBox(0F, 0F, 0F, 1, 1, 1); + nozzle1.setRotationPoint(-4F, 11.5F, -4F); + nozzle1.setTextureSize(128, 64); + nozzle1.mirror = true; + setRotation(nozzle1, 0F, 0F, 0F); + glass = new ModelRenderer(this, 64, 14); + glass.addBox(0F, 0F, 0F, 14, 5, 13); + glass.setRotationPoint(-7F, 12F, -7F); + glass.setTextureSize(128, 64); + glass.mirror = true; + setRotation(glass, 0F, 0F, 0F); + portToggle1 = new ModelRenderer(this, 64, 32); + portToggle1.addBox(0F, 0F, 0F, 1, 8, 8); + portToggle1.setRotationPoint(-8.01F, 12F, -4F); + portToggle1.setTextureSize(128, 64); + portToggle1.mirror = true; + setRotation(portToggle1, 0F, 0F, 0F); + portToggle2 = new ModelRenderer(this, 64, 32); + portToggle2.addBox(0F, 0F, 0F, 1, 8, 8); + portToggle2.setRotationPoint(7.01F, 12F, -4F); + portToggle2.setTextureSize(128, 64); + portToggle2.mirror = true; + setRotation(portToggle2, 0F, 0F, 0F); } public void render(float size) { MekanismRenderer.blendOn(); - - Centre.render(size); - Base.render(size); - Base2.render(size); - Can1B.render(size); - Can1T.render(size); - Can1Side3.render(size); - Can1Side1.render(size); - Can1Side2.render(size); - Can1Side4.render(size); - Can2Side4.render(size); - Can3Side3.render(size); - Can2Side2.render(size); - Can2Side3.render(size); - Can2Side1.render(size); - Can4Side3.render(size); - Can4Side1.render(size); - Can4Sjde4.render(size); - Can4Side2.render(size); - Can3Side4.render(size); - Can4B.render(size); - Can3Side2.render(size); - Can3Side1.render(size); - Can2B.render(size); - Can4T.render(size); - Can2T.render(size); - Can3T.render(size); - Can3B.render(size); - IO1.render(size); - IO2Port.render(size); - IO2.render(size); - IO2Port2.render(size); - Coil1.render(size); - Coil2.render(size); - Coil3.render(size); - Coil4.render(size); - + + support2.render(size); + vat5.render(size); + top2.render(size); + top.render(size); + base.render(size); + vat2.render(size); + vat3.render(size); + vat6.render(size); + vat9.render(size); + vat8.render(size); + vat7.render(size); + vat4.render(size); + backEdge2.render(size); + back.render(size); + backEdge1.render(size); + vents.render(size); + support1.render(size); + vat1.render(size); + nozzle8.render(size); + nozzle5.render(size); + nozzle7.render(size); + nozzle4.render(size); + nozzle9.render(size); + nozzle6.render(size); + nozzle3.render(size); + nozzle2.render(size); + nozzle1.render(size); + glass.render(size); + portToggle1.render(size); + portToggle2.render(size); + MekanismRenderer.blendOff(); } diff --git a/src/main/java/mekanism/client/model/ModelChemicalOxidizer.java b/src/main/java/mekanism/client/model/ModelChemicalOxidizer.java index c3a28875a..da80b3674 100644 --- a/src/main/java/mekanism/client/model/ModelChemicalOxidizer.java +++ b/src/main/java/mekanism/client/model/ModelChemicalOxidizer.java @@ -1,11 +1,7 @@ package mekanism.client.model; -import mekanism.client.render.MekanismRenderer; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; - -import org.lwjgl.opengl.GL11; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/mekanism/client/model/ModelChemicalWasher.java b/src/main/java/mekanism/client/model/ModelChemicalWasher.java index 434e29a32..0eb42e8d6 100644 --- a/src/main/java/mekanism/client/model/ModelChemicalWasher.java +++ b/src/main/java/mekanism/client/model/ModelChemicalWasher.java @@ -1,6 +1,5 @@ package mekanism.client.model; -import mekanism.client.render.MekanismRenderer; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import cpw.mods.fml.relauncher.Side; @@ -9,285 +8,200 @@ import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class ModelChemicalWasher extends ModelBase { - ModelRenderer Base; - ModelRenderer Base2; - ModelRenderer IO1; - ModelRenderer IO2; - ModelRenderer IO3; - ModelRenderer Base3; - ModelRenderer Base4; - ModelRenderer Base5; - ModelRenderer Base6; - ModelRenderer Can1B; - ModelRenderer Can1T; - ModelRenderer Can1Side3; - ModelRenderer Can1Side1; - ModelRenderer Can1Side2; - ModelRenderer Can1Side4; - ModelRenderer Can2Side4; - ModelRenderer Can3Side3; - ModelRenderer Can2Side2; - ModelRenderer Can2Side3; - ModelRenderer Can2Side1; - ModelRenderer Can4Side3; - ModelRenderer Can4Side1; - ModelRenderer Can4Sjde4; - ModelRenderer Can4Side2; - ModelRenderer Can3Side4; - ModelRenderer Can4B; - ModelRenderer Can3Side2; - ModelRenderer Can3Side1; - ModelRenderer Can2B; - ModelRenderer Can4T; - ModelRenderer Can2T; - ModelRenderer Can3T; - ModelRenderer Can3B; + ModelRenderer tankBack; + ModelRenderer base; + ModelRenderer portTop; + ModelRenderer pipe1; + ModelRenderer pipe2b; + ModelRenderer portRight; + ModelRenderer bridge1; + ModelRenderer bridge2; + ModelRenderer bridge3; + ModelRenderer conduit; + ModelRenderer bridge4; + ModelRenderer pipe2; + ModelRenderer tankLeft; + ModelRenderer connectorRight; + ModelRenderer portLeft; + ModelRenderer connectorLeft; + ModelRenderer tankRight; + ModelRenderer tubeLeft1; + ModelRenderer tubeLeft2; + ModelRenderer tubeRight3; + ModelRenderer tubeRight1; + ModelRenderer tubeRight2; + ModelRenderer tubeLeft3; - public ModelChemicalWasher() + public ModelChemicalWasher() { textureWidth = 128; textureHeight = 64; - Base = new ModelRenderer(this, 16, 0); - Base.addBox(0F, 0F, 0F, 14, 1, 14); - Base.setRotationPoint(-7F, 23F, -7F); - Base.setTextureSize(128, 64); - Base.mirror = true; - setRotation(Base, 0F, 0F, 0F); - Base2 = new ModelRenderer(this, 72, 0); - Base2.addBox(0F, 0F, 0F, 14, 10, 1); - Base2.setRotationPoint(-7F, 8F, 6F); - Base2.setTextureSize(128, 64); - Base2.mirror = true; - setRotation(Base2, 0F, 0F, 0F); - Base2.mirror = false; - IO1 = new ModelRenderer(this, 9, 17); - IO1.addBox(0F, 0F, 0F, 1, 8, 8); - IO1.setRotationPoint(-8F, 12F, -4F); - IO1.setTextureSize(128, 64); - IO1.mirror = true; - setRotation(IO1, 0F, 0F, 0F); - IO2 = new ModelRenderer(this, 9, 17); - IO2.addBox(0F, 0F, 0F, 1, 8, 8); - IO2.setRotationPoint(7F, 12F, -4F); - IO2.setTextureSize(128, 64); - IO2.mirror = true; - setRotation(IO2, 0F, 0F, 0F); - IO3 = new ModelRenderer(this, 0, 42); - IO3.addBox(0F, 0F, 0F, 12, 1, 8); - IO3.setRotationPoint(-6F, 8F, -4F); - IO3.setTextureSize(128, 64); - IO3.mirror = true; - setRotation(IO3, 0F, 0F, 0F); - Base3 = new ModelRenderer(this, 72, 0); - Base3.addBox(0F, 0F, 0F, 14, 10, 1); - Base3.setRotationPoint(-7F, 8F, -7F); - Base3.setTextureSize(128, 64); - Base3.mirror = true; - setRotation(Base3, 0F, 0F, 0F); - Base4 = new ModelRenderer(this, 72, 12); - Base4.addBox(0F, 0F, 0F, 1, 10, 12); - Base4.setRotationPoint(6F, 8F, -6F); - Base4.setTextureSize(128, 64); - Base4.mirror = true; - setRotation(Base4, 0F, 0F, 0F); - Base5 = new ModelRenderer(this, 72, 12); - Base5.addBox(0F, 0F, 0F, 1, 10, 12); - Base5.setRotationPoint(-7F, 8F, -6F); - Base5.setTextureSize(128, 64); - Base5.mirror = true; - setRotation(Base5, 0F, 0F, 0F); - Base6 = new ModelRenderer(this, 16, 0); - Base6.addBox(0F, 0F, 0F, 14, 1, 14); - Base6.setRotationPoint(-7F, 18F, -7F); - Base6.setTextureSize(128, 64); - Base6.mirror = true; - setRotation(Base6, 0F, 0F, 0F); - Can1B = new ModelRenderer(this, 0, 0); - Can1B.addBox(0F, 0F, 0F, 4, 1, 4); - Can1B.setRotationPoint(2F, 22F, 2F); - Can1B.setTextureSize(128, 64); - Can1B.mirror = true; - setRotation(Can1B, 0F, 0F, 0F); - Can1T = new ModelRenderer(this, 0, 0); - Can1T.addBox(0F, 0F, 0F, 4, 1, 4); - Can1T.setRotationPoint(2F, 19F, 2F); - Can1T.setTextureSize(128, 64); - Can1T.mirror = true; - setRotation(Can1T, 0F, 0F, 0F); - Can1Side3 = new ModelRenderer(this, 0, 0); - Can1Side3.addBox(0F, 0F, 0F, 1, 2, 2); - Can1Side3.setRotationPoint(5F, 20F, 3F); - Can1Side3.setTextureSize(128, 64); - Can1Side3.mirror = true; - setRotation(Can1Side3, 0F, 0F, 0F); - Can1Side1 = new ModelRenderer(this, 0, 0); - Can1Side1.addBox(0F, 0F, 0F, 4, 2, 1); - Can1Side1.setRotationPoint(2F, 20F, 5F); - Can1Side1.setTextureSize(128, 64); - Can1Side1.mirror = true; - setRotation(Can1Side1, 0F, 0F, 0F); - Can1Side2 = new ModelRenderer(this, 0, 0); - Can1Side2.addBox(0F, 0F, 0F, 4, 2, 1); - Can1Side2.setRotationPoint(2F, 20F, 2F); - Can1Side2.setTextureSize(128, 64); - Can1Side2.mirror = true; - setRotation(Can1Side2, 0F, 0F, 0F); - Can1Side4 = new ModelRenderer(this, 0, 0); - Can1Side4.addBox(0F, 0F, 0F, 1, 2, 2); - Can1Side4.setRotationPoint(2F, 20F, 3F); - Can1Side4.setTextureSize(128, 64); - Can1Side4.mirror = true; - setRotation(Can1Side4, 0F, 0F, 0F); - Can2Side4 = new ModelRenderer(this, 0, 0); - Can2Side4.addBox(0F, 0F, 0F, 1, 2, 2); - Can2Side4.setRotationPoint(-6F, 20F, 3F); - Can2Side4.setTextureSize(128, 64); - Can2Side4.mirror = true; - setRotation(Can2Side4, 0F, 0F, 0F); - Can3Side3 = new ModelRenderer(this, 0, 0); - Can3Side3.addBox(0F, 0F, 0F, 1, 2, 2); - Can3Side3.setRotationPoint(5F, 20F, -5F); - Can3Side3.setTextureSize(128, 64); - Can3Side3.mirror = true; - setRotation(Can3Side3, 0F, 0F, 0F); - Can2Side2 = new ModelRenderer(this, 0, 0); - Can2Side2.addBox(0F, 0F, 0F, 4, 2, 1); - Can2Side2.setRotationPoint(-6F, 20F, 2F); - Can2Side2.setTextureSize(128, 64); - Can2Side2.mirror = true; - setRotation(Can2Side2, 0F, 0F, 0F); - Can2Side3 = new ModelRenderer(this, 0, 0); - Can2Side3.addBox(0F, 0F, 0F, 1, 2, 2); - Can2Side3.setRotationPoint(-3F, 20F, 3F); - Can2Side3.setTextureSize(128, 64); - Can2Side3.mirror = true; - setRotation(Can2Side3, 0F, 0F, 0F); - Can2Side1 = new ModelRenderer(this, 0, 0); - Can2Side1.addBox(0F, 0F, 0F, 4, 2, 1); - Can2Side1.setRotationPoint(-6F, 20F, 5F); - Can2Side1.setTextureSize(128, 64); - Can2Side1.mirror = true; - setRotation(Can2Side1, 0F, 0F, 0F); - Can4Side3 = new ModelRenderer(this, 0, 0); - Can4Side3.addBox(0F, 0F, 0F, 1, 2, 2); - Can4Side3.setRotationPoint(-3F, 20F, -5F); - Can4Side3.setTextureSize(128, 64); - Can4Side3.mirror = true; - setRotation(Can4Side3, 0F, 0F, 0F); - Can4Side1 = new ModelRenderer(this, 0, 0); - Can4Side1.addBox(0F, 0F, 0F, 4, 2, 1); - Can4Side1.setRotationPoint(-6F, 20F, -3F); - Can4Side1.setTextureSize(128, 64); - Can4Side1.mirror = true; - setRotation(Can4Side1, 0F, 0F, 0F); - Can4Sjde4 = new ModelRenderer(this, 0, 0); - Can4Sjde4.addBox(0F, 0F, 0F, 1, 2, 2); - Can4Sjde4.setRotationPoint(-6F, 20F, -5F); - Can4Sjde4.setTextureSize(128, 64); - Can4Sjde4.mirror = true; - setRotation(Can4Sjde4, 0F, 0F, 0F); - Can4Side2 = new ModelRenderer(this, 0, 0); - Can4Side2.addBox(0F, 0F, 0F, 4, 2, 1); - Can4Side2.setRotationPoint(-6F, 20F, -6F); - Can4Side2.setTextureSize(128, 64); - Can4Side2.mirror = true; - setRotation(Can4Side2, 0F, 0F, 0F); - Can3Side4 = new ModelRenderer(this, 0, 0); - Can3Side4.addBox(0F, 0F, 0F, 1, 2, 2); - Can3Side4.setRotationPoint(2F, 20F, -5F); - Can3Side4.setTextureSize(128, 64); - Can3Side4.mirror = true; - setRotation(Can3Side4, 0F, 0F, 0F); - Can4B = new ModelRenderer(this, 0, 0); - Can4B.addBox(0F, 0F, 0F, 4, 1, 4); - Can4B.setRotationPoint(-6F, 22F, -6F); - Can4B.setTextureSize(128, 64); - Can4B.mirror = true; - setRotation(Can4B, 0F, 0F, 0F); - Can3Side2 = new ModelRenderer(this, 0, 0); - Can3Side2.addBox(0F, 0F, 0F, 4, 2, 1); - Can3Side2.setRotationPoint(2F, 20F, -6F); - Can3Side2.setTextureSize(128, 64); - Can3Side2.mirror = true; - setRotation(Can3Side2, 0F, 0F, 0F); - Can3Side1 = new ModelRenderer(this, 0, 0); - Can3Side1.addBox(0F, 0F, 0F, 4, 2, 1); - Can3Side1.setRotationPoint(2F, 20F, -3F); - Can3Side1.setTextureSize(128, 64); - Can3Side1.mirror = true; - setRotation(Can3Side1, 0F, 0F, 0F); - Can2B = new ModelRenderer(this, 0, 0); - Can2B.addBox(0F, 0F, 0F, 4, 1, 4); - Can2B.setRotationPoint(-6F, 22F, 2F); - Can2B.setTextureSize(128, 64); - Can2B.mirror = true; - setRotation(Can2B, 0F, 0F, 0F); - Can4T = new ModelRenderer(this, 0, 0); - Can4T.addBox(0F, 0F, 0F, 4, 1, 4); - Can4T.setRotationPoint(-6F, 19F, -6F); - Can4T.setTextureSize(128, 64); - Can4T.mirror = true; - setRotation(Can4T, 0F, 0F, 0F); - Can2T = new ModelRenderer(this, 0, 0); - Can2T.addBox(0F, 0F, 0F, 4, 1, 4); - Can2T.setRotationPoint(-6F, 19F, 2F); - Can2T.setTextureSize(128, 64); - Can2T.mirror = true; - setRotation(Can2T, 0F, 0F, 0F); - Can3T = new ModelRenderer(this, 0, 0); - Can3T.addBox(0F, 0F, 0F, 4, 1, 4); - Can3T.setRotationPoint(2F, 19F, -6F); - Can3T.setTextureSize(128, 64); - Can3T.mirror = true; - setRotation(Can3T, 0F, 0F, 0F); - Can3B = new ModelRenderer(this, 0, 0); - Can3B.addBox(0F, 0F, 0F, 4, 1, 4); - Can3B.setRotationPoint(2F, 22F, -6F); - Can3B.setTextureSize(128, 64); - Can3B.mirror = true; - setRotation(Can3B, 0F, 0F, 0F); + tankBack = new ModelRenderer(this, 0, 20); + tankBack.addBox(0F, 0F, 0F, 16, 10, 6); + tankBack.setRotationPoint(-8F, 10F, 2F); + tankBack.setTextureSize(128, 64); + tankBack.mirror = true; + setRotation(tankBack, 0F, 0F, 0F); + base = new ModelRenderer(this, 0, 0); + base.addBox(0F, 0F, 0F, 16, 4, 16); + base.setRotationPoint(-8F, 20F, -8F); + base.setTextureSize(128, 64); + base.mirror = true; + setRotation(base, 0F, 0F, 0F); + portTop = new ModelRenderer(this, 66, 0); + portTop.addBox(0F, 0F, 0F, 8, 1, 8); + portTop.setRotationPoint(-4F, 8F, -4F); + portTop.setTextureSize(128, 64); + portTop.mirror = true; + setRotation(portTop, 0F, 0F, 0F); + pipe1 = new ModelRenderer(this, 66, 9); + pipe1.addBox(0F, 0F, 0F, 7, 5, 7); + pipe1.setRotationPoint(-3.5F, 9F, -3.5F); + pipe1.setTextureSize(128, 64); + pipe1.mirror = true; + setRotation(pipe1, 0F, 0F, 0F); + pipe2b = new ModelRenderer(this, 44, 21); + pipe2b.addBox(0F, 0F, 0F, 1, 8, 4); + pipe2b.setRotationPoint(-3.49F, 14F, -3.5F); + pipe2b.setTextureSize(128, 64); + pipe2b.mirror = true; + setRotation(pipe2b, 0.837758F, 0F, 0F); + portRight = new ModelRenderer(this, 48, 0); + portRight.addBox(0F, 0F, 0F, 1, 8, 8); + portRight.setRotationPoint(7.01F, 12F, -4F); + portRight.setTextureSize(128, 64); + portRight.mirror = true; + setRotation(portRight, 0F, 0F, 0F); + bridge1 = new ModelRenderer(this, 0, 0); + bridge1.addBox(0F, 0F, 0F, 2, 1, 1); + bridge1.setRotationPoint(-1F, 11F, -7F); + bridge1.setTextureSize(128, 64); + bridge1.mirror = true; + setRotation(bridge1, 0F, 0F, 0F); + bridge2 = new ModelRenderer(this, 0, 0); + bridge2.addBox(0F, 0F, 0F, 2, 1, 1); + bridge2.setRotationPoint(-1F, 13F, -7F); + bridge2.setTextureSize(128, 64); + bridge2.mirror = true; + setRotation(bridge2, 0F, 0F, 0F); + bridge3 = new ModelRenderer(this, 0, 0); + bridge3.addBox(0F, 0F, 0F, 2, 1, 1); + bridge3.setRotationPoint(-1F, 15F, -7F); + bridge3.setTextureSize(128, 64); + bridge3.mirror = true; + setRotation(bridge3, 0F, 0F, 0F); + conduit = new ModelRenderer(this, 0, 3); + conduit.addBox(0F, 0F, 0F, 2, 1, 2); + conduit.setRotationPoint(-1F, 19.5F, -5F); + conduit.setTextureSize(128, 64); + conduit.mirror = true; + setRotation(conduit, 0F, 0F, 0F); + bridge4 = new ModelRenderer(this, 0, 0); + bridge4.addBox(0F, 0F, 0F, 2, 1, 1); + bridge4.setRotationPoint(-1F, 17F, -7F); + bridge4.setTextureSize(128, 64); + bridge4.mirror = true; + setRotation(bridge4, 0F, 0F, 0F); + pipe2 = new ModelRenderer(this, 54, 21); + pipe2.addBox(0F, 0F, 0F, 6, 8, 4); + pipe2.setRotationPoint(-2.51F, 14F, -3.5F); + pipe2.setTextureSize(128, 64); + pipe2.mirror = true; + setRotation(pipe2, 0.837758F, 0F, 0F); + tankLeft = new ModelRenderer(this, 0, 36); + tankLeft.addBox(0F, 0F, 0F, 7, 10, 8); + tankLeft.setRotationPoint(-8F, 10F, -8F); + tankLeft.setTextureSize(128, 64); + tankLeft.mirror = true; + setRotation(tankLeft, 0F, 0F, 0F); + connectorRight = new ModelRenderer(this, 0, 7); + connectorRight.addBox(0F, 0F, 0F, 2, 6, 2); + connectorRight.setRotationPoint(5F, 13F, 0F); + connectorRight.setTextureSize(128, 64); + connectorRight.mirror = true; + setRotation(connectorRight, 0F, 0F, 0F); + portLeft = new ModelRenderer(this, 48, 0); + portLeft.addBox(0F, 0F, 0F, 1, 8, 8); + portLeft.setRotationPoint(-8.01F, 12F, -4F); + portLeft.setTextureSize(128, 64); + portLeft.mirror = true; + setRotation(portLeft, 0F, 0F, 0F); + connectorLeft = new ModelRenderer(this, 0, 7); + connectorLeft.addBox(0F, 0F, 0F, 2, 6, 2); + connectorLeft.setRotationPoint(-7F, 13F, 0F); + connectorLeft.setTextureSize(128, 64); + connectorLeft.mirror = true; + setRotation(connectorLeft, 0F, 0F, 0F); + tankRight = new ModelRenderer(this, 0, 36); + tankRight.mirror = true; + tankRight.addBox(0F, 0F, 0F, 7, 10, 8); + tankRight.setRotationPoint(1F, 10F, -8F); + tankRight.setTextureSize(128, 64); + setRotation(tankRight, 0F, 0F, 0F); + tubeLeft1 = new ModelRenderer(this, 30, 36); + tubeLeft1.addBox(0F, 0F, -1F, 1, 2, 1); + tubeLeft1.setRotationPoint(-6F, 8.5F, 4F); + tubeLeft1.setTextureSize(128, 64); + tubeLeft1.mirror = true; + setRotation(tubeLeft1, 0.6806784F, 0F, 0F); + tubeLeft2 = new ModelRenderer(this, 30, 36); + tubeLeft2.addBox(0F, 0F, 0F, 1, 1, 8); + tubeLeft2.setRotationPoint(-6F, 8.5F, -4F); + tubeLeft2.setTextureSize(128, 64); + tubeLeft2.mirror = true; + setRotation(tubeLeft2, 0F, 0F, 0F); + tubeRight3 = new ModelRenderer(this, 30, 39); + tubeRight3.addBox(0F, -1F, 0F, 1, 2, 1); + tubeRight3.setRotationPoint(6F, 10F, -2.5F); + tubeRight3.setTextureSize(128, 64); + tubeRight3.mirror = true; + setRotation(tubeRight3, 0F, 0F, 0.3141593F); + tubeRight1 = new ModelRenderer(this, 30, 39); + tubeRight1.addBox(0F, -1F, 0F, 1, 2, 1); + tubeRight1.setRotationPoint(6F, 10F, -6.5F); + tubeRight1.setTextureSize(128, 64); + tubeRight1.mirror = true; + setRotation(tubeRight1, 0F, 0F, 0.3141593F); + tubeRight2 = new ModelRenderer(this, 30, 39); + tubeRight2.addBox(0F, -1F, 0F, 1, 2, 1); + tubeRight2.setRotationPoint(6F, 10F, -4.5F); + tubeRight2.setTextureSize(128, 64); + tubeRight2.mirror = true; + setRotation(tubeRight2, 0F, 0F, 0.3141593F); + tubeLeft3 = new ModelRenderer(this, 30, 36); + tubeLeft3.addBox(0F, 0F, 0F, 1, 2, 1); + tubeLeft3.setRotationPoint(-6F, 9.5F, -4F); + tubeLeft3.setTextureSize(128, 64); + tubeLeft3.mirror = true; + setRotation(tubeLeft3, 0F, 0F, -0.8203047F); } public void render(float size) { - MekanismRenderer.blendOn(); - - Base.render(size); - Base2.render(size); - IO1.render(size); - IO2.render(size); - IO3.render(size); - Base3.render(size); - Base4.render(size); - Base5.render(size); - Base6.render(size); - Can1B.render(size); - Can1T.render(size); - Can1Side3.render(size); - Can1Side1.render(size); - Can1Side2.render(size); - Can1Side4.render(size); - Can2Side4.render(size); - Can3Side3.render(size); - Can2Side2.render(size); - Can2Side3.render(size); - Can2Side1.render(size); - Can4Side3.render(size); - Can4Side1.render(size); - Can4Sjde4.render(size); - Can4Side2.render(size); - Can3Side4.render(size); - Can4B.render(size); - Can3Side2.render(size); - Can3Side1.render(size); - Can2B.render(size); - Can4T.render(size); - Can2T.render(size); - Can3T.render(size); - Can3B.render(size); - - MekanismRenderer.blendOff(); + tankBack.render(size); + base.render(size); + portTop.render(size); + pipe1.render(size); + pipe2b.render(size); + portRight.render(size); + bridge1.render(size); + bridge2.render(size); + bridge3.render(size); + conduit.render(size); + bridge4.render(size); + pipe2.render(size); + tankLeft.render(size); + connectorRight.render(size); + portLeft.render(size); + connectorLeft.render(size); + tankRight.render(size); + tubeLeft1.render(size); + tubeLeft2.render(size); + tubeRight3.render(size); + tubeRight1.render(size); + tubeRight2.render(size); + tubeLeft3.render(size); } private void setRotation(ModelRenderer model, float x, float y, float z) diff --git a/src/main/java/mekanism/client/model/ModelElectricPump.java b/src/main/java/mekanism/client/model/ModelElectricPump.java index 0c442b82a..39c8cdf42 100644 --- a/src/main/java/mekanism/client/model/ModelElectricPump.java +++ b/src/main/java/mekanism/client/model/ModelElectricPump.java @@ -8,112 +8,176 @@ import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class ModelElectricPump extends ModelBase { - ModelRenderer PumpHead; - ModelRenderer Connector; - ModelRenderer Panel1; - ModelRenderer Panel2; - ModelRenderer Panel3; - ModelRenderer Body; - ModelRenderer Axil; - ModelRenderer Axil2; - ModelRenderer Ring1; - ModelRenderer Ring2; - ModelRenderer Plug; - ModelRenderer Ring3; + ModelRenderer pumpRingTop; + ModelRenderer pumpPortTop; + ModelRenderer pumpCasing; + ModelRenderer pumpBase; + ModelRenderer powerPort; + ModelRenderer powerConnector; + ModelRenderer powerConnectorFrame4; + ModelRenderer powerConnectorFrame3; + ModelRenderer powerConnectorFrame2; + ModelRenderer powerConnectorFrame1; + ModelRenderer pipeToggleBack; + ModelRenderer pipeToggleRingBack; + ModelRenderer pipeTogglePortBack; + ModelRenderer pipeToggleLeft; + ModelRenderer pipeToggleRingLeft; + ModelRenderer pipeTogglePortLeft; + ModelRenderer pipeToggleRight; + ModelRenderer pipeToggleRingRight; + ModelRenderer pipeTogglePortRight; + ModelRenderer pumpPipe; - public ModelElectricPump() + public ModelElectricPump() { - textureWidth = 64; + textureWidth = 128; textureHeight = 64; - PumpHead = new ModelRenderer(this, 33, 0); - PumpHead.addBox(0F, 0F, 0F, 6, 3, 6); - PumpHead.setRotationPoint(-3F, 19F, -3F); - PumpHead.setTextureSize(64, 64); - PumpHead.mirror = true; - setRotation(PumpHead, 0F, 0F, 0F); - Connector = new ModelRenderer(this, 33, 10); - Connector.addBox(0F, 0F, 0F, 4, 1, 5); - Connector.setRotationPoint(-2F, 14F, 2.5F); - Connector.setTextureSize(64, 64); - Connector.mirror = true; - setRotation(Connector, 0F, 0F, 0F); - Panel1 = new ModelRenderer(this, 0, 15); - Panel1.addBox(-3F, -6F, 0F, 6, 6, 1); - Panel1.setRotationPoint(0F, 21F, -3F); - Panel1.setTextureSize(64, 64); - Panel1.mirror = true; - setRotation(Panel1, 0.5585054F, 0F, 0F); - Panel2 = new ModelRenderer(this, 15, 15); - Panel2.addBox(0F, -6F, -3F, 1, 6, 6); - Panel2.setRotationPoint(-3F, 21F, 0F); - Panel2.setTextureSize(64, 64); - Panel2.mirror = true; - setRotation(Panel2, 0F, 0F, -0.5585054F); - Panel3 = new ModelRenderer(this, 15, 15); - Panel3.addBox(-1F, -6F, -3F, 1, 6, 6); - Panel3.setRotationPoint(3F, 21F, 0F); - Panel3.setTextureSize(64, 64); - Panel3.mirror = true; - setRotation(Panel3, 0F, 0F, 0.5585054F); - Body = new ModelRenderer(this, 30, 17); - Body.addBox(0F, 0F, 0F, 6, 10, 6); - Body.setRotationPoint(-3F, 9F, -3F); - Body.setTextureSize(64, 64); - Body.mirror = true; - setRotation(Body, 0F, 0F, 0F); - Axil = new ModelRenderer(this, 0, 28); - Axil.addBox(0F, 0F, 0F, 9, 2, 4); - Axil.setRotationPoint(-4.5F, 17F, -2F); - Axil.setTextureSize(64, 64); - Axil.mirror = true; - setRotation(Axil, 0F, 0F, 0F); - Axil2 = new ModelRenderer(this, 0, 0); - Axil2.addBox(0F, 0F, 0F, 4, 2, 12); - Axil2.setRotationPoint(-2F, 17F, -4.5F); - Axil2.setTextureSize(64, 64); - Axil2.mirror = true; - setRotation(Axil2, 0F, 0F, 0F); - Ring1 = new ModelRenderer(this, 0, 35); - Ring1.addBox(0F, 0F, 0F, 8, 1, 8); - Ring1.setRotationPoint(-4F, 12F, -4F); - Ring1.setTextureSize(64, 64); - Ring1.mirror = true; - setRotation(Ring1, 0F, 0F, 0F); - Ring2 = new ModelRenderer(this, 0, 35); - Ring2.addBox(0F, 0F, 0F, 8, 1, 8); - Ring2.setRotationPoint(-4F, 10F, -4F); - Ring2.setTextureSize(64, 64); - Ring2.mirror = true; - setRotation(Ring2, 0F, 0F, 0F); - Plug = new ModelRenderer(this, 0, 45); - Plug.addBox(0F, 0F, 0F, 6, 6, 1); - Plug.setRotationPoint(-3F, 13F, 7F); - Plug.setTextureSize(64, 64); - Plug.mirror = true; - setRotation(Plug, 0F, 0F, 0F); - Ring3 = new ModelRenderer(this, 0, 35); - Ring3.addBox(0F, 0F, 0F, 8, 1, 8); - Ring3.setRotationPoint(-4F, 8F, -4F); - Ring3.setTextureSize(64, 64); - Ring3.mirror = true; - setRotation(Ring3, 0F, 0F, 0F); + pumpRingTop = new ModelRenderer(this, 68, 9); + pumpRingTop.addBox(0F, 0F, 0F, 8, 1, 8); + pumpRingTop.setRotationPoint(-4F, 10F, -4F); + pumpRingTop.setTextureSize(128, 64); + pumpRingTop.mirror = true; + setRotation(pumpRingTop, 0F, 0F, 0F); + pumpPortTop = new ModelRenderer(this, 68, 0); + pumpPortTop.addBox(0F, 0F, 0F, 8, 1, 8); + pumpPortTop.setRotationPoint(-4F, 8F, -4F); + pumpPortTop.setTextureSize(128, 64); + pumpPortTop.mirror = true; + setRotation(pumpPortTop, 0F, 0F, 0F); + pumpCasing = new ModelRenderer(this, 0, 0); + pumpCasing.addBox(0F, 0F, 0F, 7, 12, 7); + pumpCasing.setRotationPoint(-3.5F, 11F, -3.5F); + pumpCasing.setTextureSize(128, 64); + pumpCasing.mirror = true; + setRotation(pumpCasing, 0F, 0F, 0F); + pumpBase = new ModelRenderer(this, 28, 0); + pumpBase.addBox(0F, 0F, 0F, 6, 15, 6); + pumpBase.setRotationPoint(-3F, 9F, -3F); + pumpBase.setTextureSize(128, 64); + pumpBase.mirror = true; + setRotation(pumpBase, 0F, 0F, 0F); + powerPort = new ModelRenderer(this, 38, 29); + powerPort.addBox(0F, 0F, 0F, 8, 8, 1); + powerPort.setRotationPoint(-4F, 12F, -8F); + powerPort.setTextureSize(128, 64); + powerPort.mirror = true; + setRotation(powerPort, 0F, 0F, 0F); + powerConnector = new ModelRenderer(this, 0, 29); + powerConnector.addBox(0F, 0F, 0F, 5, 5, 4); + powerConnector.setRotationPoint(-2.5F, 13.5F, -7F); + powerConnector.setTextureSize(128, 64); + powerConnector.mirror = true; + setRotation(powerConnector, 0F, 0F, 0F); + powerConnectorFrame4 = new ModelRenderer(this, 38, 21); + powerConnectorFrame4.addBox(0F, 0F, 0F, 1, 1, 4); + powerConnectorFrame4.setRotationPoint(2F, 18F, -7F); + powerConnectorFrame4.setTextureSize(128, 64); + powerConnectorFrame4.mirror = true; + setRotation(powerConnectorFrame4, 0F, 0F, 0F); + powerConnectorFrame3 = new ModelRenderer(this, 38, 21); + powerConnectorFrame3.addBox(0F, 0F, 0F, 1, 1, 4); + powerConnectorFrame3.setRotationPoint(-3F, 18F, -7F); + powerConnectorFrame3.setTextureSize(128, 64); + powerConnectorFrame3.mirror = true; + setRotation(powerConnectorFrame3, 0F, 0F, 0F); + powerConnectorFrame2 = new ModelRenderer(this, 38, 21); + powerConnectorFrame2.addBox(0F, 0F, 0F, 1, 1, 4); + powerConnectorFrame2.setRotationPoint(2F, 13F, -7F); + powerConnectorFrame2.setTextureSize(128, 64); + powerConnectorFrame2.mirror = true; + setRotation(powerConnectorFrame2, 0F, 0F, 0F); + powerConnectorFrame1 = new ModelRenderer(this, 38, 21); + powerConnectorFrame1.addBox(0F, 0F, 0F, 1, 1, 4); + powerConnectorFrame1.setRotationPoint(-3F, 13F, -7F); + powerConnectorFrame1.setTextureSize(128, 64); + powerConnectorFrame1.mirror = true; + setRotation(powerConnectorFrame1, 0F, 0F, 0F); + pipeToggleBack = new ModelRenderer(this, 0, 19); + pipeToggleBack.addBox(0F, 0F, 0F, 6, 6, 4); + pipeToggleBack.setRotationPoint(-3F, 13F, 3F); + pipeToggleBack.setTextureSize(128, 64); + pipeToggleBack.mirror = true; + setRotation(pipeToggleBack, 0F, 0F, 0F); + pipeToggleRingBack = new ModelRenderer(this, 18, 30); + pipeToggleRingBack.addBox(0F, 0F, 0F, 7, 7, 1); + pipeToggleRingBack.setRotationPoint(-3.5F, 12.5F, 5F); + pipeToggleRingBack.setTextureSize(128, 64); + pipeToggleRingBack.mirror = true; + setRotation(pipeToggleRingBack, 0F, 0F, 0F); + pipeTogglePortBack = new ModelRenderer(this, 20, 21); + pipeTogglePortBack.addBox(0F, 0F, 0F, 8, 8, 1); + pipeTogglePortBack.setRotationPoint(-4F, 12F, 7F); + pipeTogglePortBack.setTextureSize(128, 64); + pipeTogglePortBack.mirror = true; + setRotation(pipeTogglePortBack, 0F, 0F, 0F); + pipeToggleLeft = new ModelRenderer(this, 34, 38); + pipeToggleLeft.addBox(0F, 0F, 0F, 4, 6, 6); + pipeToggleLeft.setRotationPoint(3F, 13F, -3F); + pipeToggleLeft.setTextureSize(128, 64); + pipeToggleLeft.mirror = true; + setRotation(pipeToggleLeft, 0F, 0F, 0F); + pipeToggleRingLeft = new ModelRenderer(this, 18, 38); + pipeToggleRingLeft.addBox(0F, 0F, 0F, 1, 7, 7); + pipeToggleRingLeft.setRotationPoint(5F, 12.5F, -3.5F); + pipeToggleRingLeft.setTextureSize(128, 64); + pipeToggleRingLeft.mirror = true; + setRotation(pipeToggleRingLeft, 0F, 0F, 0F); + pipeTogglePortLeft = new ModelRenderer(this, 0, 38); + pipeTogglePortLeft.addBox(0F, 0F, 0F, 1, 8, 8); + pipeTogglePortLeft.setRotationPoint(7F, 12F, -4F); + pipeTogglePortLeft.setTextureSize(128, 64); + pipeTogglePortLeft.mirror = true; + setRotation(pipeTogglePortLeft, 0F, 0F, 0F); + pipeToggleRight = new ModelRenderer(this, 34, 38); + pipeToggleRight.mirror = true; + pipeToggleRight.addBox(0F, 0F, 0F, 4, 6, 6); + pipeToggleRight.setRotationPoint(-7F, 13F, -3F); + pipeToggleRight.setTextureSize(128, 64); + setRotation(pipeToggleRight, 0F, 0F, 0F); + pipeToggleRingRight = new ModelRenderer(this, 18, 38); + pipeToggleRingRight.addBox(0F, 0F, 0F, 1, 7, 7); + pipeToggleRingRight.setRotationPoint(-6F, 12.5F, -3.5F); + pipeToggleRingRight.setTextureSize(128, 64); + pipeToggleRingRight.mirror = true; + setRotation(pipeToggleRingRight, 0F, 0F, 0F); + pipeTogglePortRight = new ModelRenderer(this, 0, 38); + pipeTogglePortRight.addBox(0F, 0F, 0F, 1, 8, 8); + pipeTogglePortRight.setRotationPoint(-8F, 12F, -4F); + pipeTogglePortRight.setTextureSize(128, 64); + pipeTogglePortRight.mirror = true; + setRotation(pipeTogglePortRight, 0F, 0F, 0F); + pumpPipe = new ModelRenderer(this, 52, 0); + pumpPipe.addBox(0F, 0F, 0F, 4, 8, 4); + pumpPipe.setRotationPoint(-2F, 24F, -2F); + pumpPipe.setTextureSize(128, 64); + pumpPipe.mirror = true; + setRotation(pumpPipe, 0F, 0F, 0F); } public void render(float size) { - PumpHead.render(size); - Connector.render(size); - Panel1.render(size); - Panel2.render(size); - Panel3.render(size); - Body.render(size); - Axil.render(size); - Axil2.render(size); - Ring1.render(size); - Ring2.render(size); - Plug.render(size); - Ring3.render(size); + pumpRingTop.render(size); + pumpPortTop.render(size); + pumpCasing.render(size); + pumpBase.render(size); + powerPort.render(size); + powerConnector.render(size); + powerConnectorFrame4.render(size); + powerConnectorFrame3.render(size); + powerConnectorFrame2.render(size); + powerConnectorFrame1.render(size); + /*pipeToggleBack.render(size); + pipeToggleRingBack.render(size); + pipeTogglePortBack.render(size); + pipeToggleLeft.render(size); + pipeToggleRingLeft.render(size); + pipeTogglePortLeft.render(size); + pipeToggleRight.render(size); + pipeToggleRingRight.render(size); + pipeTogglePortRight.render(size);*/ + pumpPipe.render(size); } private void setRotation(ModelRenderer model, float x, float y, float z) diff --git a/src/main/java/mekanism/client/model/ModelRotaryCondensentrator.java b/src/main/java/mekanism/client/model/ModelRotaryCondensentrator.java index c52693ee9..5b252f01d 100644 --- a/src/main/java/mekanism/client/model/ModelRotaryCondensentrator.java +++ b/src/main/java/mekanism/client/model/ModelRotaryCondensentrator.java @@ -8,216 +8,192 @@ import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class ModelRotaryCondensentrator extends ModelBase { - ModelRenderer GasBottleLid1; - ModelRenderer GasBottleLid2; - ModelRenderer GasBottleDecor1; - ModelRenderer GasBottleDecor2; - ModelRenderer GasBottleDecor3; - ModelRenderer GasBottleDecor4; - ModelRenderer GasBottle1; - ModelRenderer GasBottle2; - ModelRenderer GasBottleBot1; - ModelRenderer GasBottleBot2; - ModelRenderer LiqBottleLid1; - ModelRenderer LiqBottleLid2; - ModelRenderer LiqBottleBot1; - ModelRenderer LiqBottleBot2; - ModelRenderer LiqBottle2; - ModelRenderer LiqBottle1; - ModelRenderer LiqBottleDecor1; - ModelRenderer LiqBottleDecor2; - ModelRenderer LiqBottleDecor3; - ModelRenderer LiqBottleDecor4; - ModelRenderer GasInput; - ModelRenderer MidSection1; - ModelRenderer MidSection2; - ModelRenderer LiquidOutput; - ModelRenderer MidSection3; + ModelRenderer portRight; + ModelRenderer tankRight; + ModelRenderer base; + ModelRenderer pipe; + ModelRenderer middle; + ModelRenderer shaft; + ModelRenderer portLeft; + ModelRenderer tankLeft; + ModelRenderer support4; + ModelRenderer bridge; + ModelRenderer tube8; + ModelRenderer tube7; + ModelRenderer tube6; + ModelRenderer tube5; + ModelRenderer tube4; + ModelRenderer tube3; + ModelRenderer tube2; + ModelRenderer tube1; + ModelRenderer top; + ModelRenderer support3; + ModelRenderer support2; + ModelRenderer support1; - public ModelRotaryCondensentrator() + public ModelRotaryCondensentrator() { textureWidth = 128; - textureHeight = 128; + textureHeight = 64; - GasBottleLid1 = new ModelRenderer(this, 0, 40); - GasBottleLid1.addBox(0F, 0F, 0F, 6, 1, 6); - GasBottleLid1.setRotationPoint(-7F, 11F, 1F); - GasBottleLid1.setTextureSize(128, 128); - GasBottleLid1.mirror = true; - setRotation(GasBottleLid1, 0F, 0F, 0F); - GasBottleLid2 = new ModelRenderer(this, 0, 40); - GasBottleLid2.addBox(0F, 0F, 0F, 6, 1, 6); - GasBottleLid2.setRotationPoint(1F, 11F, 1F); - GasBottleLid2.setTextureSize(128, 128); - GasBottleLid2.mirror = true; - setRotation(GasBottleLid2, 0F, 0F, 0F); - GasBottleDecor1 = new ModelRenderer(this, 0, 33); - GasBottleDecor1.addBox(0F, 0F, 0F, 5, 1, 5); - GasBottleDecor1.setRotationPoint(1.5F, 21F, 1.5F); - GasBottleDecor1.setTextureSize(128, 128); - GasBottleDecor1.mirror = true; - setRotation(GasBottleDecor1, 0F, 0F, 0F); - GasBottleDecor2 = new ModelRenderer(this, 0, 33); - GasBottleDecor2.addBox(0F, 0F, 0F, 5, 1, 5); - GasBottleDecor2.setRotationPoint(1.5F, 13F, 1.5F); - GasBottleDecor2.setTextureSize(128, 128); - GasBottleDecor2.mirror = true; - setRotation(GasBottleDecor2, 0F, 0F, 0F); - GasBottleDecor3 = new ModelRenderer(this, 0, 33); - GasBottleDecor3.addBox(0F, 0F, 0F, 5, 1, 5); - GasBottleDecor3.setRotationPoint(-6.5F, 21F, 1.5F); - GasBottleDecor3.setTextureSize(128, 128); - GasBottleDecor3.mirror = true; - setRotation(GasBottleDecor3, 0F, 0F, 0F); - GasBottleDecor4 = new ModelRenderer(this, 0, 33); - GasBottleDecor4.addBox(0F, 0F, 0F, 5, 1, 5); - GasBottleDecor4.setRotationPoint(-6.5F, 13F, 1.5F); - GasBottleDecor4.setTextureSize(128, 128); - GasBottleDecor4.mirror = true; - setRotation(GasBottleDecor4, 0F, 0F, 0F); - GasBottle1 = new ModelRenderer(this, 0, 48); - GasBottle1.addBox(0F, 0F, 0F, 4, 11, 4); - GasBottle1.setRotationPoint(-6F, 12F, 2F); - GasBottle1.setTextureSize(128, 128); - GasBottle1.mirror = true; - setRotation(GasBottle1, 0F, 0F, 0F); - GasBottle2 = new ModelRenderer(this, 0, 48); - GasBottle2.addBox(0F, 0F, 0F, 4, 11, 4); - GasBottle2.setRotationPoint(2F, 12F, 2F); - GasBottle2.setTextureSize(128, 128); - GasBottle2.mirror = true; - setRotation(GasBottle2, 0F, 0F, 0F); - GasBottleBot1 = new ModelRenderer(this, 0, 40); - GasBottleBot1.addBox(0F, 0F, 0F, 6, 1, 6); - GasBottleBot1.setRotationPoint(-7F, 23F, 1F); - GasBottleBot1.setTextureSize(128, 128); - GasBottleBot1.mirror = true; - setRotation(GasBottleBot1, 0F, 0F, 0F); - GasBottleBot2 = new ModelRenderer(this, 0, 40); - GasBottleBot2.addBox(0F, 0F, 0F, 6, 1, 6); - GasBottleBot2.setRotationPoint(1F, 23F, 1F); - GasBottleBot2.setTextureSize(128, 128); - GasBottleBot2.mirror = true; - setRotation(GasBottleBot2, 0F, 0F, 0F); - LiqBottleLid1 = new ModelRenderer(this, 25, 40); - LiqBottleLid1.addBox(0F, 0F, 0F, 6, 1, 6); - LiqBottleLid1.setRotationPoint(-7F, 11F, -7F); - LiqBottleLid1.setTextureSize(128, 128); - LiqBottleLid1.mirror = true; - setRotation(LiqBottleLid1, 0F, 0F, 0F); - LiqBottleLid2 = new ModelRenderer(this, 25, 40); - LiqBottleLid2.addBox(0F, 0F, 0F, 6, 1, 6); - LiqBottleLid2.setRotationPoint(1F, 11F, -7F); - LiqBottleLid2.setTextureSize(128, 128); - LiqBottleLid2.mirror = true; - setRotation(LiqBottleLid2, 0F, 0F, 0F); - LiqBottleBot1 = new ModelRenderer(this, 25, 40); - LiqBottleBot1.addBox(0F, 0F, 0F, 6, 1, 6); - LiqBottleBot1.setRotationPoint(-7F, 23F, -7F); - LiqBottleBot1.setTextureSize(128, 128); - LiqBottleBot1.mirror = true; - setRotation(LiqBottleBot1, 0F, 0F, 0F); - LiqBottleBot2 = new ModelRenderer(this, 25, 40); - LiqBottleBot2.addBox(0F, 0F, 0F, 6, 1, 6); - LiqBottleBot2.setRotationPoint(1F, 23F, -7F); - LiqBottleBot2.setTextureSize(128, 128); - LiqBottleBot2.mirror = true; - setRotation(LiqBottleBot2, 0F, 0F, 0F); - LiqBottle2 = new ModelRenderer(this, 25, 48); - LiqBottle2.addBox(0F, 0F, 0F, 4, 11, 4); - LiqBottle2.setRotationPoint(2F, 12F, -6F); - LiqBottle2.setTextureSize(128, 128); - LiqBottle2.mirror = true; - setRotation(LiqBottle2, 0F, 0F, 0F); - LiqBottle1 = new ModelRenderer(this, 25, 48); - LiqBottle1.addBox(0F, 0F, 0F, 4, 11, 4); - LiqBottle1.setRotationPoint(-6F, 12F, -6F); - LiqBottle1.setTextureSize(128, 128); - LiqBottle1.mirror = true; - setRotation(LiqBottle1, 0F, 0F, 0F); - LiqBottleDecor1 = new ModelRenderer(this, 25, 33); - LiqBottleDecor1.addBox(0F, 0F, 0F, 5, 1, 5); - LiqBottleDecor1.setRotationPoint(1.5F, 21F, -6.5F); - LiqBottleDecor1.setTextureSize(128, 128); - LiqBottleDecor1.mirror = true; - setRotation(LiqBottleDecor1, 0F, 0F, 0F); - LiqBottleDecor2 = new ModelRenderer(this, 25, 33); - LiqBottleDecor2.addBox(0F, 0F, 0F, 5, 1, 5); - LiqBottleDecor2.setRotationPoint(1.5F, 13F, -6.5F); - LiqBottleDecor2.setTextureSize(128, 128); - LiqBottleDecor2.mirror = true; - setRotation(LiqBottleDecor2, 0F, 0F, 0F); - LiqBottleDecor3 = new ModelRenderer(this, 25, 33); - LiqBottleDecor3.addBox(0F, 0F, 0F, 5, 1, 5); - LiqBottleDecor3.setRotationPoint(-6.5F, 21F, -6.5F); - LiqBottleDecor3.setTextureSize(128, 128); - LiqBottleDecor3.mirror = true; - setRotation(LiqBottleDecor3, 0F, 0F, 0F); - LiqBottleDecor4 = new ModelRenderer(this, 25, 33); - LiqBottleDecor4.addBox(0F, 0F, 0F, 5, 1, 5); - LiqBottleDecor4.setRotationPoint(-6.5F, 13F, -6.5F); - LiqBottleDecor4.setTextureSize(128, 128); - LiqBottleDecor4.mirror = true; - setRotation(LiqBottleDecor4, 0F, 0F, 0F); - GasInput = new ModelRenderer(this, 0, 24); - GasInput.addBox(0F, 0F, 0F, 6, 6, 1); - GasInput.setRotationPoint(-3F, 13F, 7F); - GasInput.setTextureSize(128, 128); - GasInput.mirror = true; - setRotation(GasInput, 0F, 0F, 0F); - MidSection1 = new ModelRenderer(this, 15, 20); - MidSection1.addBox(0F, 0F, 0F, 4, 5, 6); - MidSection1.setRotationPoint(-2F, 18F, 1F); - MidSection1.setTextureSize(128, 128); - MidSection1.mirror = true; - setRotation(MidSection1, 0F, 0F, 0F); - MidSection2 = new ModelRenderer(this, 37, 0); - MidSection2.addBox(0F, 0F, 0F, 6, 7, 8); - MidSection2.setRotationPoint(-3F, 17F, -7F); - MidSection2.setTextureSize(128, 128); - MidSection2.mirror = true; - setRotation(MidSection2, 0F, 0F, 0F); - LiquidOutput = new ModelRenderer(this, 36, 22); - LiquidOutput.addBox(0F, 0F, 0F, 8, 8, 1); - LiquidOutput.setRotationPoint(-4F, 12F, -8F); - LiquidOutput.setTextureSize(128, 128); - LiquidOutput.mirror = true; - setRotation(LiquidOutput, 0F, 0F, 0F); - MidSection3 = new ModelRenderer(this, 0, 0); - MidSection3.addBox(0F, 0F, 0F, 4, 2, 14); - MidSection3.setRotationPoint(-2F, 15F, -7F); - MidSection3.setTextureSize(128, 128); - MidSection3.mirror = true; - setRotation(MidSection3, 0F, 0F, 0F); + portRight = new ModelRenderer(this, 82, 31); + portRight.addBox(0F, 0F, 0F, 1, 10, 10); + portRight.setRotationPoint(7.01F, 11F, -5F); + portRight.setTextureSize(128, 64); + portRight.mirror = true; + setRotation(portRight, 0F, 0F, 0F); + tankRight = new ModelRenderer(this, 64, 9); + tankRight.mirror = true; + tankRight.addBox(0F, 0F, 0F, 6, 8, 14); + tankRight.setRotationPoint(1F, 11F, -7F); + tankRight.setTextureSize(128, 64); + setRotation(tankRight, 0F, 0F, 0F); + base = new ModelRenderer(this, 0, 34); + base.addBox(0F, 0F, 0F, 16, 5, 16); + base.setRotationPoint(-8F, 19F, -8F); + base.setTextureSize(128, 64); + base.mirror = true; + setRotation(base, 0F, 0F, 0F); + pipe = new ModelRenderer(this, 0, 4); + pipe.addBox(0F, 0F, 0F, 2, 6, 6); + pipe.setRotationPoint(-1.01F, 13F, -3F); + pipe.setTextureSize(128, 64); + pipe.mirror = true; + setRotation(pipe, 0F, 0F, 0F); + middle = new ModelRenderer(this, 0, 17); + middle.addBox(0F, 0F, 0F, 16, 1, 16); + middle.setRotationPoint(-8F, 10F, -8F); + middle.setTextureSize(128, 64); + middle.mirror = true; + setRotation(middle, 0F, 0F, 0F); + shaft = new ModelRenderer(this, 12, 0); + shaft.addBox(0F, 0F, 0F, 1, 2, 1); + shaft.setRotationPoint(-0.5F, 11F, -0.5F); + shaft.setTextureSize(128, 64); + shaft.mirror = true; + setRotation(shaft, 0F, 0F, 0F); + portLeft = new ModelRenderer(this, 64, 31); + portLeft.addBox(0F, 0F, 0F, 1, 8, 8); + portLeft.setRotationPoint(-8.01F, 12F, -4F); + portLeft.setTextureSize(128, 64); + portLeft.mirror = true; + setRotation(portLeft, 0F, 0F, 0F); + tankLeft = new ModelRenderer(this, 64, 9); + tankLeft.addBox(0F, 0F, 0F, 6, 8, 14); + tankLeft.setRotationPoint(-7F, 11F, -7F); + tankLeft.setTextureSize(128, 64); + tankLeft.mirror = true; + setRotation(tankLeft, 0F, 0F, 0F); + support4 = new ModelRenderer(this, 7, 0); + support4.addBox(0F, 0F, 0F, 1, 1, 1); + support4.setRotationPoint(6F, 9F, 6F); + support4.setTextureSize(128, 64); + support4.mirror = true; + setRotation(support4, 0F, 0F, 0F); + bridge = new ModelRenderer(this, 64, 0); + bridge.addBox(0F, 0F, 0F, 8, 1, 8); + bridge.setRotationPoint(-4F, 9F, -4F); + bridge.setTextureSize(128, 64); + bridge.mirror = true; + setRotation(bridge, 0F, 0F, 0F); + tube8 = new ModelRenderer(this, 0, 0); + tube8.addBox(0F, 0F, 0F, 2, 1, 1); + tube8.setRotationPoint(-1F, 18F, 5F); + tube8.setTextureSize(128, 64); + tube8.mirror = true; + setRotation(tube8, 0F, 0F, 0F); + tube7 = new ModelRenderer(this, 0, 0); + tube7.addBox(0F, 0F, 0F, 2, 1, 1); + tube7.setRotationPoint(-1F, 12F, 5F); + tube7.setTextureSize(128, 64); + tube7.mirror = true; + setRotation(tube7, 0F, 0F, 0F); + tube6 = new ModelRenderer(this, 0, 0); + tube6.addBox(0F, 0F, 0F, 2, 1, 1); + tube6.setRotationPoint(-1F, 14F, 5F); + tube6.setTextureSize(128, 64); + tube6.mirror = true; + setRotation(tube6, 0F, 0F, 0F); + tube5 = new ModelRenderer(this, 0, 0); + tube5.addBox(0F, 0F, 0F, 2, 1, 1); + tube5.setRotationPoint(-1F, 16F, 5F); + tube5.setTextureSize(128, 64); + tube5.mirror = true; + setRotation(tube5, 0F, 0F, 0F); + tube4 = new ModelRenderer(this, 0, 0); + tube4.addBox(0F, 0F, 0F, 2, 1, 1); + tube4.setRotationPoint(-1F, 18F, -6F); + tube4.setTextureSize(128, 64); + tube4.mirror = true; + setRotation(tube4, 0F, 0F, 0F); + tube3 = new ModelRenderer(this, 0, 0); + tube3.addBox(0F, 0F, 0F, 2, 1, 1); + tube3.setRotationPoint(-1F, 16F, -6F); + tube3.setTextureSize(128, 64); + tube3.mirror = true; + setRotation(tube3, 0F, 0F, 0F); + tube2 = new ModelRenderer(this, 0, 0); + tube2.addBox(0F, 0F, 0F, 2, 1, 1); + tube2.setRotationPoint(-1F, 14F, -6F); + tube2.setTextureSize(128, 64); + tube2.mirror = true; + setRotation(tube2, 0F, 0F, 0F); + tube1 = new ModelRenderer(this, 0, 0); + tube1.addBox(0F, 0F, 0F, 2, 1, 1); + tube1.setRotationPoint(-1F, 12F, -6F); + tube1.setTextureSize(128, 64); + tube1.mirror = true; + setRotation(tube1, 0F, 0F, 0F); + top = new ModelRenderer(this, 0, 0); + top.addBox(0F, 0F, 0F, 16, 1, 16); + top.setRotationPoint(-8F, 8F, -8F); + top.setTextureSize(128, 64); + top.mirror = true; + setRotation(top, 0F, 0F, 0F); + support3 = new ModelRenderer(this, 7, 0); + support3.addBox(0F, 0F, 0F, 1, 1, 1); + support3.setRotationPoint(6F, 9F, -7F); + support3.setTextureSize(128, 64); + support3.mirror = true; + setRotation(support3, 0F, 0F, 0F); + support2 = new ModelRenderer(this, 7, 0); + support2.addBox(0F, 0F, 0F, 1, 1, 1); + support2.setRotationPoint(-7F, 9F, -7F); + support2.setTextureSize(128, 64); + support2.mirror = true; + setRotation(support2, 0F, 0F, 0F); + support1 = new ModelRenderer(this, 7, 0); + support1.addBox(0F, 0F, 0F, 1, 1, 1); + support1.setRotationPoint(-7F, 9F, 6F); + support1.setTextureSize(128, 64); + support1.mirror = true; + setRotation(support1, 0F, 0F, 0F); } public void render(float size) { - GasBottleLid1.render(size); - GasBottleLid2.render(size); - GasBottleDecor1.render(size); - GasBottleDecor2.render(size); - GasBottleDecor3.render(size); - GasBottleDecor4.render(size); - GasBottle1.render(size); - GasBottle2.render(size); - GasBottleBot1.render(size); - GasBottleBot2.render(size); - LiqBottleLid1.render(size); - LiqBottleLid2.render(size); - LiqBottleBot1.render(size); - LiqBottleBot2.render(size); - LiqBottle2.render(size); - LiqBottle1.render(size); - LiqBottleDecor1.render(size); - LiqBottleDecor2.render(size); - LiqBottleDecor3.render(size); - LiqBottleDecor4.render(size); - GasInput.render(size); - MidSection1.render(size); - MidSection2.render(size); - LiquidOutput.render(size); - MidSection3.render(size); + portRight.render(size); + tankRight.render(size); + base.render(size); + pipe.render(size); + middle.render(size); + shaft.render(size); + portLeft.render(size); + tankLeft.render(size); + support4.render(size); + bridge.render(size); + tube8.render(size); + tube7.render(size); + tube6.render(size); + tube5.render(size); + tube4.render(size); + tube3.render(size); + tube2.render(size); + tube1.render(size); + top.render(size); + support3.render(size); + support2.render(size); + support1.render(size); } private void setRotation(ModelRenderer model, float x, float y, float z) diff --git a/src/main/java/mekanism/client/render/block/MachineRenderingHandler.java b/src/main/java/mekanism/client/render/block/MachineRenderingHandler.java index 0ccade6ec..a99f56d7c 100644 --- a/src/main/java/mekanism/client/render/block/MachineRenderingHandler.java +++ b/src/main/java/mekanism/client/render/block/MachineRenderingHandler.java @@ -75,7 +75,6 @@ public class MachineRenderingHandler implements ISimpleBlockRenderingHandler if(type == MachineType.ELECTRIC_PUMP) { GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(90F, 0.0F, -1.0F, 0.0F); GL11.glTranslatef(0.0F, -0.85F, 0.0F); Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "ElectricPump.png")); electricPump.render(0.0560F); @@ -114,8 +113,8 @@ public class MachineRenderingHandler implements ISimpleBlockRenderingHandler else if(type == MachineType.ROTARY_CONDENSENTRATOR) { GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(270F, 0.0F, -1.0F, 0.0F); - GL11.glTranslatef(0.0F, -1.06F, 0.05F); + GL11.glRotatef(180F, 0.0F, -1.0F, 0.0F); + GL11.glTranslatef(0.05F, -0.96F, 0.05F); Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "RotaryCondensentrator.png")); rotaryCondensentrator.render(0.0625F); } @@ -146,24 +145,24 @@ public class MachineRenderingHandler implements ISimpleBlockRenderingHandler else if(type == MachineType.CHEMICAL_DISSOLUTION_CHAMBER) { GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(270F, 0.0F, -1.0F, 0.0F); - GL11.glTranslatef(0.0F, -1.06F, 0.05F); + GL11.glRotatef(180F, 0.0F, -1.0F, 0.0F); + GL11.glTranslatef(0.05F, -0.96F, 0.05F); Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "ChemicalDissolutionChamber.png")); chemicalDissolutionChamber.render(0.0625F); } else if(type == MachineType.CHEMICAL_WASHER) { GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(270F, 0.0F, -1.0F, 0.0F); - GL11.glTranslatef(0.0F, -1.06F, 0.05F); + GL11.glRotatef(180F, 0.0F, -1.0F, 0.0F); + GL11.glTranslatef(0.05F, -0.96F, 0.05F); Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "ChemicalWasher.png")); chemicalWasher.render(0.0625F); } else if(type == MachineType.CHEMICAL_CRYSTALLIZER) { GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(270F, 0.0F, -1.0F, 0.0F); - GL11.glTranslatef(0.0F, -1.06F, 0.05F); + GL11.glRotatef(180F, 0.0F, -1.0F, 0.0F); + GL11.glTranslatef(0.05F, -0.96F, 0.05F); Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "ChemicalCrystallizer.png")); chemicalCrystallizer.render(0.0625F); } @@ -178,8 +177,8 @@ public class MachineRenderingHandler implements ISimpleBlockRenderingHandler else if(type == MachineType.PRESSURIZED_REACTION_CHAMBER) { GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(270F, 0.0F, -1.0F, 0.0F); - GL11.glTranslatef(0.0F, -1.06F, 0.05F); + GL11.glRotatef(180F, 0.0F, -1.0F, 0.0F); + GL11.glTranslatef(0.05F, -0.96F, 0.05F); Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "PressurizedReactionChamber.png")); pressurizedReactionChamber.render(0.0625F); } diff --git a/src/main/java/mekanism/client/render/tileentity/RenderChemicalCrystallizer.java b/src/main/java/mekanism/client/render/tileentity/RenderChemicalCrystallizer.java index 73f91d754..847c9f532 100644 --- a/src/main/java/mekanism/client/render/tileentity/RenderChemicalCrystallizer.java +++ b/src/main/java/mekanism/client/render/tileentity/RenderChemicalCrystallizer.java @@ -49,7 +49,7 @@ public class RenderChemicalCrystallizer extends TileEntitySpecialRenderer tileEntity.spin = (tileEntity.spin + (tileEntity.spinSpeed*0.1F)) % 1; GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - model.renderWithRotation(0.0625F, tileEntity.spin); + model.render(0.0625F); GL11.glPopMatrix(); MekanismRenderer.machineRenderer.renderAModelAt(tileEntity, x, y, z, partialTick); diff --git a/src/main/java/mekanism/client/render/tileentity/RenderElectricPump.java b/src/main/java/mekanism/client/render/tileentity/RenderElectricPump.java index 0c08cb083..2524e3938 100644 --- a/src/main/java/mekanism/client/render/tileentity/RenderElectricPump.java +++ b/src/main/java/mekanism/client/render/tileentity/RenderElectricPump.java @@ -32,10 +32,10 @@ public class RenderElectricPump extends TileEntitySpecialRenderer switch(tileEntity.facing) { - case 2: GL11.glRotatef(0, 0.0F, 1.0F, 0.0F); break; - case 3: GL11.glRotatef(180, 0.0F, 1.0F, 0.0F); break; - case 4: GL11.glRotatef(90, 0.0F, 1.0F, 0.0F); break; - case 5: GL11.glRotatef(270, 0.0F, 1.0F, 0.0F); break; + case 2: GL11.glRotatef(180, 0.0F, 1.0F, 0.0F); break; + case 3: GL11.glRotatef(0, 0.0F, 1.0F, 0.0F); break; + case 4: GL11.glRotatef(270, 0.0F, 1.0F, 0.0F); break; + case 5: GL11.glRotatef(90, 0.0F, 1.0F, 0.0F); break; } GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); diff --git a/src/main/java/mekanism/client/render/tileentity/RenderRotaryCondensentrator.java b/src/main/java/mekanism/client/render/tileentity/RenderRotaryCondensentrator.java index f1a96863e..ac2892a04 100644 --- a/src/main/java/mekanism/client/render/tileentity/RenderRotaryCondensentrator.java +++ b/src/main/java/mekanism/client/render/tileentity/RenderRotaryCondensentrator.java @@ -32,10 +32,10 @@ public class RenderRotaryCondensentrator extends TileEntitySpecialRenderer switch(tileEntity.facing) { - case 2: GL11.glRotatef(90, 0.0F, 1.0F, 0.0F); break; - case 3: GL11.glRotatef(270, 0.0F, 1.0F, 0.0F); break; - case 4: GL11.glRotatef(180, 0.0F, 1.0F, 0.0F); break; - case 5: GL11.glRotatef(0, 0.0F, 1.0F, 0.0F); break; + case 2: GL11.glRotatef(0, 0.0F, 1.0F, 0.0F); break; + case 3: GL11.glRotatef(180, 0.0F, 1.0F, 0.0F); break; + case 4: GL11.glRotatef(90, 0.0F, 1.0F, 0.0F); break; + case 5: GL11.glRotatef(270, 0.0F, 1.0F, 0.0F); break; } GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); diff --git a/src/main/java/mekanism/common/item/ItemBlockMachine.java b/src/main/java/mekanism/common/item/ItemBlockMachine.java index 17f615a42..5354c8cf8 100644 --- a/src/main/java/mekanism/common/item/ItemBlockMachine.java +++ b/src/main/java/mekanism/common/item/ItemBlockMachine.java @@ -280,7 +280,7 @@ public class ItemBlockMachine extends ItemBlock implements IEnergizedItem, ISpec } } } - else if(type == MachineType.SOLAR_NEUTRON_ACTIVATOR) + else if(type == MachineType.SOLAR_NEUTRON_ACTIVATOR || type == MachineType.SEISMIC_VIBRATOR) { if(y+1 > 255 || !world.getBlock(x, y+1, z).isReplaceable(world, x, y+1, z)) { diff --git a/src/main/java/mekanism/common/tile/TileEntityChemicalCrystallizer.java b/src/main/java/mekanism/common/tile/TileEntityChemicalCrystallizer.java index 373f2af47..8218d594e 100644 --- a/src/main/java/mekanism/common/tile/TileEntityChemicalCrystallizer.java +++ b/src/main/java/mekanism/common/tile/TileEntityChemicalCrystallizer.java @@ -95,7 +95,7 @@ public class TileEntityChemicalCrystallizer extends TileEntityNoisyElectricBlock configComponent.addOutput(TransmissionType.GAS, new SideData("None", EnumColor.GREY, InventoryUtils.EMPTY)); configComponent.addOutput(TransmissionType.GAS, new SideData("Gas", EnumColor.YELLOW, new int[] {0})); - configComponent.setConfig(TransmissionType.GAS, new byte[] {0, 0, 0, 0, 1, 0}); + configComponent.setConfig(TransmissionType.GAS, new byte[] {-1, -1, -1, -1, 1, -1}); configComponent.setCanEject(TransmissionType.GAS, false); configComponent.setInputConfig(TransmissionType.ENERGY); diff --git a/src/main/java/mekanism/common/tile/TileEntitySeismicVibrator.java b/src/main/java/mekanism/common/tile/TileEntitySeismicVibrator.java index ceee8968b..7e0447554 100644 --- a/src/main/java/mekanism/common/tile/TileEntitySeismicVibrator.java +++ b/src/main/java/mekanism/common/tile/TileEntitySeismicVibrator.java @@ -11,6 +11,7 @@ import mekanism.api.MekanismConfig.usage; import mekanism.api.Range4D; import mekanism.common.Mekanism; import mekanism.common.base.IActiveState; +import mekanism.common.base.IBoundingBlock; import mekanism.common.base.IRedstoneControl; import mekanism.common.block.BlockMachine.MachineType; import mekanism.common.network.PacketTileEntity.TileEntityMessage; @@ -22,7 +23,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntitySeismicVibrator extends TileEntityElectricBlock implements IActiveState, IRedstoneControl, ISecurityTile +public class TileEntitySeismicVibrator extends TileEntityElectricBlock implements IActiveState, IRedstoneControl, ISecurityTile, IBoundingBlock { public boolean isActive; @@ -214,4 +215,17 @@ public class TileEntitySeismicVibrator extends TileEntityElectricBlock implement { return securityComponent; } + + @Override + public void onPlace() + { + MekanismUtils.makeBoundingBlock(worldObj, Coord4D.get(this).getFromSide(ForgeDirection.UP), Coord4D.get(this)); + } + + @Override + public void onBreak() + { + worldObj.setBlockToAir(xCoord, yCoord+1, zCoord); + worldObj.setBlockToAir(xCoord, yCoord, zCoord); + } } diff --git a/src/main/resources/assets/mekanism/render/ChemicalCrystallizer.png b/src/main/resources/assets/mekanism/render/ChemicalCrystallizer.png index c4d0ff88e2e59e2191d75f909372aad568688172..a67fe178f1baffb6b26f06e58067d7b044d7e76c 100644 GIT binary patch literal 5158 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 diff --git a/src/main/resources/assets/mekanism/render/ChemicalDissolutionChamber.png b/src/main/resources/assets/mekanism/render/ChemicalDissolutionChamber.png index 7b1e34027b91469b0d0ac37af85ec16a699721f6..250669e6205dfeb3bf47c3e4bd2026ceacd87465 100644 GIT binary patch literal 5995 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 J_>|Ap{{fllQC=RW0GBpK-53C1 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 diff --git a/src/main/resources/assets/mekanism/render/ChemicalWasher.png b/src/main/resources/assets/mekanism/render/ChemicalWasher.png index 34e4e5cb18f833b08945ddcab449ca09fe406da7..b332e7c848864e66c327d676768b32c4f5bddae6 100644 GIT binary patch literal 5820 zcmbtYXIxX+x4i*G6cmtAq(^YT21y`vLg?s7QBeUwdVok8JrF}^3XYP9jZr{A6bk}M zR|ts|!C@#WO#(q`RJuR{hL9JX^8bH$^S-=%$nV^fz1CiPpLOp!H3T7oTzW+DPCD#{;B#A0xfW<-SM4_-6T`1>?O z6Z|72Dh#3drzj8SV_;i+1PW}ZXQUelgTcVYrg|_#69aw2LtuR<%n$-Kg}|V?P?#AE zYNihb|Mk%nWs3+3HalVG@K-L;6+$yKDvDqRfyBnf>ctx9;UhvIFjG@g2vi@UudgeL z(2b14MfnqTagkboGuWXb10&FcC^Q}i{?6zhfRBzsXo{5nSpt^u4=pb8uQrJq1|j+r zATT}X_mch&bawu~L$TO@q9dbDp#G!xeDJ&mD~m!pBDL|ABFKHamigjPl0?qK?=hG({|W zXmpU7zAeL z#eTN~mLSS(hl)VQpn@DC@L2GVvdz%{ss-louY7-DgZ^C$^k1GL#r?0v{(DN~ zpzp(ftSh?s$NVUq$ng;(Yj4{hDY|164jr+xK1m#$IeV6N^3<+b$xW%+!w$BZTaDny z?`iMO#-%&!Q<6-SG|n##*Q_aY)-9r6cm7fTxG8^0d`c^P$4ix+wqxRLX>hFmoqbz1 zxAqWl6>XO7^lA2!m%XQING10p`KN~?yB>Q*bA3p8be>Y~-MhF989B!K*Q4R8YHGUF z8vIBnyLCF-2>UxVc5Y}tHFlmIUAFm5$t_Y|N49YYPwAvkgR;IDTE~g})Lk%EOA&62 zt+r{=g2w9!qc-hqd_+Vb5O`fZ35@Z!fG>b7D$P4Xn7$s%*mKs}X9 z)ZlnkWA;;h&o9~+9hdB-^m0=8(D%&M)%eiE>Lad5!HtZEzQiRSLuoD4A033_F0?sb zmez_isAyShH+ZilJZnM!7H^hEk8L2tPc#X=%c|(zav<^H$-p_I|1A>p%d%|7uYB93v05^pJGMGbL%vkrohRF0=&Nc@wzRNR)$+Cbu=+*v z^=-JJHeUItnRfLx>f?F1&y_uB!iK0liWA~;7n4DUEag0oq?0;(;05oe(dGTaKA}?L zer2X`EetM{!0odgv#qeda}^uUWk(8)@$5rX^O%`7IFeNOc4M$AOz%3A{L0T`e96Ri z3z@-)^5}uNvpJ9P$|_Ih#!)t5Sigdf1**SkHI z?opOo$1m2XF;@w`A1^5Sw9U1Ki~V7>YU)?dT$%1?4XzHkGN7>&gwbbB%~jV;$<@n( zj}{*mqH7eJfmDzIAf@Sa(q!%$^k}ky;DTkMI!k(+Kk)SSYMW72@A|E+<-x%$4Nm54 zm(f1Q-{J%$!ACMw8Y*x1F-hqeHsK>P>8aY71eB_icV1sbmhX_bxOi!7m0@n~PFAit z&1V_M@HT1}EsS`Rq-NqZN#QiIGgF3h!#v`?N?i$vRhX)yTF|!fac<(Mj zMaMRl+8w3h?K7wl6}9=4J^31Q!kG^h2n6Hy?b|aAM~@yA7g)Z^-=QmfKccs5yz%}f zRI70Hu3NV(U;8B%0`HLseYmnlaRnBd-Tm4Um6(lVZRV8Kv+}R`UlDs&-ac+=^vY9> zK}S5~ae_m(e!JW0x-p$sRjqiS^Le2ot=d9G@9Q1g$Z(nX-Zmpi_>w`Fg_|nl+m~XD z>Sxty2KQ45-|I{|*VSUNS={kNqsXH^s_v&xmnU>19e0(>CTe{q-UN;NOM*IL#$RVV z6}nok-Ph?gG&j#CTT4qzi=Vo%o7VcrOyoX(ZZs>QJI_}pUseV%LZ+pRZ4N-R%)oX@ z6l4JDUwcit7T1_`7yZM;Y{uQ!$R%P?` zAqHhT^3~=PRz|`$ELd#6s9|YzxYKpblzs~{yPQ_#b5u}L?c6_39{BWm1+M-Zs85GkEaUxovr}RP z;2G%{zEu^^lu0D(TAf{+r?WXdkKN9qneM*is!6h5u(~Qt2|+85nQ!3Fg+ds{{^?49 zPU66^WAm3Mdc|n_Wy}>G9Tc98Tefi(1K-)}ZCj@Iv03$rB{MV72j*zHkVBl5=>+%R^=}Fuy>W+A3L|;*wyM}U)e&Qob zU{I$cx%+tWTCI(oqeR3kqP|mR&y$zZc_3F|0nHZ?i+PqKV6{i2FlVL+-QaZ*2Rw?uPkS2yL?NzbX7Y?&@|1JWzQ9@0$=7;!nmchm#MgJ*TBmATuhTdSbynGZLzUAa-8&Z|k=j zZL*(7c1SYdo1!Nf2WdW^(!*uj=a|QXR9e4|=PZdm-E#balZR51e}_8i=FQ$=8YX}p z`K)xN&S(BT)@UfKj6O9bMktly{KDkUR}S;%86#QVi5a&{jFx4rMy{^8|#&d^&FCCbcVKo^6{-XR0liXV3SPbwpEB!622jFXA zJAkY8B<_qS9drugk2k=W_-sq(z6jwcbe4I)xQ2dYy)v?Yio;ZP7RWqDgUXvQO zm8dBhctES_CC2?R!QcLq!t>#&HN2%R zB!ueb=GG#gi8n#U&UuID2kvbP8!H#3pk}e_yAHH%26v}=(gyX=&-$KEr_3=9ht8t^12o#6il_|MWz`zVp&dpcS(bg{K zt;Gke*gv0=_efcgEy2*3xYo;0ZK0V@R2=Q9tEz6&H(tPvkUHk0Pb?sHX$4t9%}#rM zfAEa#b@7!TpN(uiNH7=GD}})nS9unb>Qri2GnG!_jt2ps0(t7O$}35?FDaVMk|hfY z!~owh?kvlIWmNtkd^<}6HhKICxw6DqNQfghe6RQNbnMK)=(&jM+_;BocLzK+rGKlL ztSSjcZBs_*B0t=!Plb};d)ljOsM>q+Rl_b&qEkz|!our;LBD%oz#~T8{x{GwL7WE3r=J#6f%4i}9o4&Gt_I-)19cg^IByG|%JEZ@ zKhFLqGDI&`U@6-+;F(@WW^A{gcZw`?g~XeS#tK8-9D;$jX3@PHb#(PpX(Tnsc{!9o z`Ujw?1;`)0%IFMxiD?(FclQZmiPv|k)4Pf#Q37LBz38b2mTEj!5F)#Bu&n-FxiaK; z$%*IyNHzVJy6ZZwT=>-I&!77o)=ORTEK7Vzn=qBAV=%yapv^MT2M=TjmfyRE+{p>- zme)x+;Q^S-_tg-yAcWN#3>&L>+!{<)i{CWU`zG6x&$6+ z?d#<01a~_8G$QfbF@%WNh$;)PR}my`P_=Q4zXFkFlU6ib73Ln^{L*s1B<)GP zFGUdDhb!Ul{Ijh4MAKcu^|hszMP`zCi~KwU0tr#h4qF{nttBo7grDbr2&v!`>Z<14 z{}jJNe4re4G}vvPO|LTv==U9%BC09xWS_vv;`tL3LBa2rO6yX-{1trdp8Zn<=1W+A zDN1>_@-C8;i<47Oe<1>XsI-Y+D_b@q`^5LpW*z?Z8t++CyczWwz2NwZ6SDIYDJ$`n zDZ$jil4wTq_Xk|^)t?Tzv#lpo%d(rM)HO7^O4B4?uiZ8X`Bkfaja7|3NL`qU{9_~k z+n*T&X-|t&sfsZ86k#0dsG{l`O*zDoy`37!Kzt;W7 zfItzp&ip4U+~MZWI#K~ZGWakcl?(=frIIB??%(nMn`pFJpnxQS_Q#|q@N>tQ@Bb$s Mv3Id6wed^-9~C&y`2YX_ literal 7088 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 XrKBY8PR8heA9A|)^tB2!tV8|>i{P-y diff --git a/src/main/resources/assets/mekanism/render/ElectricPump.png b/src/main/resources/assets/mekanism/render/ElectricPump.png index f881af1fe17ccddbe2ca2fec6e3dad5f83463814..eb8209e46400b76ecc1d4de614f43e6154ecdfee 100644 GIT binary patch literal 6249 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 literal 3253 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 a->36L=R@hufDZmI2Ef(|VM#IfO87VIltu*r diff --git a/src/main/resources/assets/mekanism/render/RotaryCondensentrator.png b/src/main/resources/assets/mekanism/render/RotaryCondensentrator.png index f0f8e3574322ba3e96afd2b9882bef73c72e06cd..0a1e540843e7f50068db3f0fe29715a745331301 100644 GIT binary patch literal 7349 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 literal 3702 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