246 lines
8 KiB
Java
246 lines
8 KiB
Java
package resonantinduction.electrical.levitator;
|
|
|
|
import net.minecraft.client.model.ModelBase;
|
|
import net.minecraft.client.model.ModelRenderer;
|
|
|
|
public class ModelEMContractor extends ModelBase
|
|
{
|
|
public boolean doSpin;
|
|
|
|
// fields
|
|
ModelRenderer frame1;
|
|
ModelRenderer frame2;
|
|
ModelRenderer frame3;
|
|
ModelRenderer frame4;
|
|
ModelRenderer frame5;
|
|
ModelRenderer frame6;
|
|
ModelRenderer frame7;
|
|
ModelRenderer frame8;
|
|
ModelRenderer left_frame_connector;
|
|
ModelRenderer right_frame_connector;
|
|
ModelRenderer teslapole;
|
|
ModelRenderer Coil1;
|
|
ModelRenderer coil2;
|
|
ModelRenderer coil3;
|
|
ModelRenderer coil4;
|
|
ModelRenderer pole1;
|
|
ModelRenderer pole2;
|
|
ModelRenderer pole3;
|
|
ModelRenderer pole4;
|
|
ModelRenderer poletop1;
|
|
ModelRenderer poletop2;
|
|
ModelRenderer poletop3;
|
|
ModelRenderer poletop4;
|
|
ModelRenderer base1;
|
|
ModelRenderer base2;
|
|
ModelRenderer base3;
|
|
|
|
public ModelEMContractor(boolean spin)
|
|
{
|
|
doSpin = spin;
|
|
textureWidth = 128;
|
|
textureHeight = 128;
|
|
|
|
frame1 = new ModelRenderer(this, 0, 24);
|
|
frame1.addBox(0F, 0F, 0F, 1, 8, 1);
|
|
frame1.setRotationPoint(-3F, 15F, -2F);
|
|
frame1.setTextureSize(128, 128);
|
|
frame1.mirror = true;
|
|
setRotation(frame1, 0F, 0F, 0F);
|
|
frame2 = new ModelRenderer(this, 0, 24);
|
|
frame2.addBox(0F, 0F, 0F, 1, 8, 1);
|
|
frame2.setRotationPoint(1F, 15F, 2F);
|
|
frame2.setTextureSize(128, 128);
|
|
frame2.mirror = true;
|
|
setRotation(frame2, 0F, 0F, 0F);
|
|
frame3 = new ModelRenderer(this, 0, 24);
|
|
frame3.addBox(0F, 0F, 0F, 1, 8, 1);
|
|
frame3.setRotationPoint(2F, 15F, -2F);
|
|
frame3.setTextureSize(128, 128);
|
|
frame3.mirror = true;
|
|
setRotation(frame3, 0F, 0F, 0F);
|
|
frame4 = new ModelRenderer(this, 0, 24);
|
|
frame4.addBox(0F, 0F, 0F, 1, 8, 1);
|
|
frame4.setRotationPoint(-3F, 15F, 1F);
|
|
frame4.setTextureSize(128, 128);
|
|
frame4.mirror = true;
|
|
setRotation(frame4, 0F, 0F, 0F);
|
|
frame5 = new ModelRenderer(this, 0, 24);
|
|
frame5.addBox(0F, 0F, 0F, 1, 8, 1);
|
|
frame5.setRotationPoint(2F, 15F, 1F);
|
|
frame5.setTextureSize(128, 128);
|
|
frame5.mirror = true;
|
|
setRotation(frame5, 0F, 0F, 0F);
|
|
frame6 = new ModelRenderer(this, 0, 24);
|
|
frame6.addBox(0F, 0F, 0F, 1, 8, 1);
|
|
frame6.setRotationPoint(1F, 15F, -3F);
|
|
frame6.setTextureSize(128, 128);
|
|
frame6.mirror = true;
|
|
setRotation(frame6, 0F, 0F, 0F);
|
|
frame7 = new ModelRenderer(this, 0, 24);
|
|
frame7.addBox(0F, 0F, 0F, 1, 8, 1);
|
|
frame7.setRotationPoint(-2F, 15F, 2F);
|
|
frame7.setTextureSize(128, 128);
|
|
frame7.mirror = true;
|
|
setRotation(frame7, 0F, 0F, 0F);
|
|
frame8 = new ModelRenderer(this, 0, 24);
|
|
frame8.addBox(0F, 0F, 0F, 1, 8, 1);
|
|
frame8.setRotationPoint(-2F, 15F, -3F);
|
|
frame8.setTextureSize(128, 128);
|
|
frame8.mirror = true;
|
|
setRotation(frame8, 0F, 0F, 0F);
|
|
left_frame_connector = new ModelRenderer(this, 0, 20);
|
|
left_frame_connector.addBox(0F, 0F, 0F, 1, 1, 2);
|
|
left_frame_connector.setRotationPoint(-3F, 15F, -1F);
|
|
left_frame_connector.setTextureSize(128, 128);
|
|
left_frame_connector.mirror = true;
|
|
setRotation(left_frame_connector, 0F, 0F, 0F);
|
|
right_frame_connector = new ModelRenderer(this, 0, 20);
|
|
right_frame_connector.addBox(0F, 0F, 0F, 1, 1, 2);
|
|
right_frame_connector.setRotationPoint(2F, 15F, -1F);
|
|
right_frame_connector.setTextureSize(128, 128);
|
|
right_frame_connector.mirror = true;
|
|
setRotation(right_frame_connector, 0F, 0F, 0F);
|
|
teslapole = new ModelRenderer(this, 0, 0);
|
|
teslapole.addBox(-1F, -1F, -1F, 2, 15, 2);
|
|
teslapole.setRotationPoint(0F, 9F, 0F);
|
|
teslapole.setTextureSize(128, 128);
|
|
teslapole.mirror = true;
|
|
setRotation(teslapole, 0F, 0F, 0F);
|
|
Coil1 = new ModelRenderer(this, 17, 0);
|
|
Coil1.addBox(-1.5F, -0.5F, -1.5F, 3, 1, 3);
|
|
Coil1.setRotationPoint(0F, 12.5F, 0F);
|
|
Coil1.setTextureSize(128, 128);
|
|
Coil1.mirror = true;
|
|
setRotation(Coil1, 0F, 0F, 0F);
|
|
coil2 = new ModelRenderer(this, 17, 0);
|
|
coil2.addBox(-1.5F, -0.5F, -1.5F, 3, 1, 3);
|
|
coil2.setRotationPoint(0F, 14F, 0F);
|
|
coil2.setTextureSize(128, 128);
|
|
coil2.mirror = true;
|
|
setRotation(coil2, 0F, 0F, 0F);
|
|
coil3 = new ModelRenderer(this, 17, 0);
|
|
coil3.addBox(-1.5F, -0.5F, -1.5F, 3, 1, 3);
|
|
coil3.setRotationPoint(0F, 9.5F, 0F);
|
|
coil3.setTextureSize(128, 128);
|
|
coil3.mirror = true;
|
|
setRotation(coil3, 0F, 0F, 0F);
|
|
coil4 = new ModelRenderer(this, 17, 0);
|
|
coil4.addBox(-1.5F, -0.5F, -1.5F, 3, 1, 3);
|
|
coil4.setRotationPoint(0F, 11F, 0F);
|
|
coil4.setTextureSize(128, 128);
|
|
coil4.mirror = true;
|
|
setRotation(coil4, 0F, 0F, 0F);
|
|
pole1 = new ModelRenderer(this, 5, 26);
|
|
pole1.addBox(-0.5F, -1F, -0.5F, 1, 6, 1);
|
|
pole1.setRotationPoint(0F, 18F, 6.5F);
|
|
pole1.setTextureSize(128, 128);
|
|
pole1.mirror = true;
|
|
setRotation(pole1, 0F, 0F, 0F);
|
|
pole2 = new ModelRenderer(this, 5, 26);
|
|
pole2.addBox(-0.5F, -1F, -0.5F, 1, 6, 1);
|
|
pole2.setRotationPoint(0F, 18F, -6.5F);
|
|
pole2.setTextureSize(128, 128);
|
|
pole2.mirror = true;
|
|
setRotation(pole2, 0F, 0F, 0F);
|
|
pole3 = new ModelRenderer(this, 5, 26);
|
|
pole3.addBox(-0.5F, -1F, -0.5F, 1, 6, 1);
|
|
pole3.setRotationPoint(-6.5F, 18F, 0F);
|
|
pole3.setTextureSize(128, 128);
|
|
pole3.mirror = true;
|
|
setRotation(pole3, 0F, 0F, 0F);
|
|
pole4 = new ModelRenderer(this, 5, 26);
|
|
pole4.addBox(-0.5F, -1F, -0.5F, 1, 6, 1);
|
|
pole4.setRotationPoint(6.5F, 18F, 0F);
|
|
pole4.setTextureSize(128, 128);
|
|
pole4.mirror = true;
|
|
setRotation(pole4, 0F, 0F, 0F);
|
|
poletop1 = new ModelRenderer(this, 31, 0);
|
|
poletop1.addBox(-1F, -1F, -1F, 2, 2, 2);
|
|
poletop1.setRotationPoint(0F, 16.5F, -6.5F);
|
|
poletop1.setTextureSize(128, 128);
|
|
poletop1.mirror = true;
|
|
setRotation(poletop1, 0F, 0F, 0F);
|
|
poletop2 = new ModelRenderer(this, 31, 0);
|
|
poletop2.addBox(-1F, -1F, -1F, 2, 2, 2);
|
|
poletop2.setRotationPoint(0F, 16.5F, 6.5F);
|
|
poletop2.setTextureSize(128, 128);
|
|
poletop2.mirror = true;
|
|
setRotation(poletop2, 0F, 0F, 0F);
|
|
poletop3 = new ModelRenderer(this, 31, 0);
|
|
poletop3.addBox(-1F, -1F, -1F, 2, 2, 2);
|
|
poletop3.setRotationPoint(6.5F, 16.5F, 0F);
|
|
poletop3.setTextureSize(128, 128);
|
|
poletop3.mirror = true;
|
|
setRotation(poletop3, 0F, 0F, 0F);
|
|
poletop4 = new ModelRenderer(this, 31, 0);
|
|
poletop4.addBox(-1F, -1F, -1F, 2, 2, 2);
|
|
poletop4.setRotationPoint(-6.5F, 16.5F, 0F);
|
|
poletop4.setTextureSize(128, 128);
|
|
poletop4.mirror = true;
|
|
setRotation(poletop4, 0F, 0F, 0F);
|
|
base1 = new ModelRenderer(this, 0, 55);
|
|
base1.addBox(0F, 0F, 0F, 16, 1, 8);
|
|
base1.setRotationPoint(-8F, 23F, -4F);
|
|
base1.setTextureSize(128, 128);
|
|
base1.mirror = true;
|
|
setRotation(base1, 0F, 0F, 0F);
|
|
base2 = new ModelRenderer(this, 0, 68);
|
|
base2.addBox(0F, 0F, 0F, 8, 1, 5);
|
|
base2.setRotationPoint(-4F, 23F, 3F);
|
|
base2.setTextureSize(128, 128);
|
|
base2.mirror = true;
|
|
setRotation(base2, 0F, 0F, 0F);
|
|
base3 = new ModelRenderer(this, 0, 79);
|
|
base3.addBox(0F, 0F, 0F, 8, 1, 5);
|
|
base3.setRotationPoint(-4F, 23F, -8F);
|
|
base3.setTextureSize(128, 128);
|
|
base3.mirror = true;
|
|
setRotation(base3, 0F, 0F, 0F);
|
|
}
|
|
|
|
public void render(float f5)
|
|
{
|
|
if (doSpin)
|
|
{
|
|
Coil1.rotateAngleY = (float) Math.toRadians(Math.toDegrees(Coil1.rotateAngleY) + 3 < 360 ? Math.toDegrees(Coil1.rotateAngleY) + 3 : 0);
|
|
coil2.rotateAngleY = (float) Math.toRadians(Math.toDegrees(coil2.rotateAngleY) + 3 < 360 ? Math.toDegrees(coil2.rotateAngleY) + 3 : 0);
|
|
coil3.rotateAngleY = (float) Math.toRadians(Math.toDegrees(coil3.rotateAngleY) + 3 < 360 ? Math.toDegrees(coil3.rotateAngleY) + 3 : 0);
|
|
coil4.rotateAngleY = (float) Math.toRadians(Math.toDegrees(coil4.rotateAngleY) + 3 < 360 ? Math.toDegrees(coil4.rotateAngleY) + 3 : 0);
|
|
}
|
|
|
|
frame1.render(f5);
|
|
frame2.render(f5);
|
|
frame3.render(f5);
|
|
frame4.render(f5);
|
|
frame5.render(f5);
|
|
frame6.render(f5);
|
|
frame7.render(f5);
|
|
frame8.render(f5);
|
|
left_frame_connector.render(f5);
|
|
right_frame_connector.render(f5);
|
|
teslapole.render(f5);
|
|
Coil1.render(f5);
|
|
coil2.render(f5);
|
|
coil3.render(f5);
|
|
coil4.render(f5);
|
|
pole1.render(f5);
|
|
pole2.render(f5);
|
|
pole3.render(f5);
|
|
pole4.render(f5);
|
|
poletop1.render(f5);
|
|
poletop2.render(f5);
|
|
poletop3.render(f5);
|
|
poletop4.render(f5);
|
|
base1.render(f5);
|
|
base2.render(f5);
|
|
base3.render(f5);
|
|
}
|
|
|
|
private void setRotation(ModelRenderer model, float x, float y, float z)
|
|
{
|
|
model.rotateAngleX = x;
|
|
model.rotateAngleY = y;
|
|
model.rotateAngleZ = z;
|
|
}
|
|
}
|