BloodMagic/1.7.2/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelSpellEnhancementBlock.java
2014-02-19 17:03:56 -05:00

335 lines
11 KiB
Java

package WayofTime.alchemicalWizardry.common.renderer.model;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import net.minecraftforge.common.util.ForgeDirection;
public class ModelSpellEnhancementBlock extends ModelBase
{
//fields
ModelRenderer core;
ModelRenderer frame1;
ModelRenderer frame2;
ModelRenderer frame3;
ModelRenderer frame4;
ModelRenderer frame5;
ModelRenderer frame6;
ModelRenderer frame7;
ModelRenderer frame8;
ModelRenderer frame9;
ModelRenderer frame10;
ModelRenderer frame11;
ModelRenderer frame12;
ModelRenderer outputMain;
ModelRenderer inputMain;
ModelRenderer output1;
ModelRenderer output2;
ModelRenderer output3;
ModelRenderer output4;
ModelRenderer input1;
ModelRenderer input2;
ModelRenderer input3;
ModelRenderer input4;
ModelRenderer outputSecond;
public ModelSpellEnhancementBlock()
{
textureWidth = 128;
textureHeight = 64;
core = new ModelRenderer(this, 0, 0);
core.addBox(-3F, -3F, -3F, 6, 6, 6);
core.setRotationPoint(0F, 16F, 0F);
core.setTextureSize(128, 64);
core.mirror = true;
setRotation(core, 0F, 0F, 0F);
frame1 = new ModelRenderer(this, 0, 32);
frame1.addBox(-7F, 5F, -7F, 14, 2, 2);
frame1.setRotationPoint(0F, 16F, 0F);
frame1.setTextureSize(128, 64);
frame1.mirror = true;
setRotation(frame1, 0F, 0F, 0F);
frame2 = new ModelRenderer(this, 24, 19);
frame2.addBox(5F, -5F, -7F, 2, 10, 2);
frame2.setRotationPoint(0F, 16F, 0F);
frame2.setTextureSize(128, 64);
frame2.mirror = true;
setRotation(frame2, 0F, 0F, 0F);
frame3 = new ModelRenderer(this, 0, 19);
frame3.addBox(-7F, -5F, -7F, 2, 10, 2);
frame3.setRotationPoint(0F, 16F, 0F);
frame3.setTextureSize(128, 64);
frame3.mirror = true;
setRotation(frame3, 0F, 0F, 0F);
frame4 = new ModelRenderer(this, 0, 14);
frame4.addBox(-7F, -7F, -7F, 14, 2, 2);
frame4.setRotationPoint(0F, 16F, 0F);
frame4.setTextureSize(128, 64);
frame4.mirror = true;
setRotation(frame4, 0F, 0F, 0F);
frame5 = new ModelRenderer(this, 0, 57);
frame5.addBox(-7F, 5F, 5F, 14, 2, 2);
frame5.setRotationPoint(0F, 16F, 0F);
frame5.setTextureSize(128, 64);
frame5.mirror = true;
setRotation(frame5, 0F, 0F, 0F);
frame6 = new ModelRenderer(this, 0, 44);
frame6.addBox(5F, -5F, 5F, 2, 10, 2);
frame6.setRotationPoint(0F, 16F, 0F);
frame6.setTextureSize(128, 64);
frame6.mirror = true;
setRotation(frame6, 0F, 0F, 0F);
frame7 = new ModelRenderer(this, 24, 44);
frame7.addBox(-7F, -5F, 5F, 2, 10, 2);
frame7.setRotationPoint(0F, 16F, 0F);
frame7.setTextureSize(128, 64);
frame7.mirror = true;
setRotation(frame7, 0F, 0F, 0F);
frame8 = new ModelRenderer(this, 0, 39);
frame8.addBox(-7F, -7F, 5F, 14, 2, 2);
frame8.setRotationPoint(0F, 16F, 0F);
frame8.setTextureSize(128, 64);
frame8.mirror = true;
setRotation(frame8, 0F, 0F, 0F);
frame9 = new ModelRenderer(this, 66, 14);
frame9.addBox(5F, 5F, -5F, 2, 2, 10);
frame9.setRotationPoint(0F, 16F, 0F);
frame9.setTextureSize(128, 64);
frame9.mirror = true;
setRotation(frame9, 0F, 0F, 0F);
frame10 = new ModelRenderer(this, 40, 14);
frame10.addBox(-7F, 5F, -5F, 2, 2, 10);
frame10.setRotationPoint(0F, 16F, 0F);
frame10.setTextureSize(128, 64);
frame10.mirror = true;
setRotation(frame10, 0F, 0F, 0F);
frame11 = new ModelRenderer(this, 66, 0);
frame11.addBox(5F, -7F, -5F, 2, 2, 10);
frame11.setRotationPoint(0F, 16F, 0F);
frame11.setTextureSize(128, 64);
frame11.mirror = true;
setRotation(frame11, 0F, 0F, 0F);
frame12 = new ModelRenderer(this, 40, 0);
frame12.addBox(-7F, -7F, -5F, 2, 2, 10);
frame12.setRotationPoint(0F, 16F, 0F);
frame12.setTextureSize(128, 64);
frame12.mirror = true;
setRotation(frame12, 0F, 0F, 0F);
outputMain = new ModelRenderer(this, 78, 36);
outputMain.addBox(6F, -2F, -2F, 2, 4, 4);
outputMain.setRotationPoint(0F, 16F, 0F);
outputMain.setTextureSize(128, 64);
outputMain.mirror = true;
setRotation(outputMain, 0F, 0F, 0F);
inputMain = new ModelRenderer(this, 40, 36);
inputMain.addBox(-2F, -2F, -8F, 4, 4, 5);
inputMain.setRotationPoint(0F, 16F, 0F);
inputMain.setTextureSize(128, 64);
inputMain.mirror = true;
setRotation(inputMain, 0F, 0F, 0F);
output1 = new ModelRenderer(this, 80, 30);
output1.addBox(5F, -5F, -5F, 3, 2, 2);
output1.setRotationPoint(0F, 16F, 0F);
output1.setTextureSize(128, 64);
output1.mirror = true;
setRotation(output1, 0F, 0F, 0F);
output2 = new ModelRenderer(this, 80, 30);
output2.addBox(5F, -5F, 3F, 3, 2, 2);
output2.setRotationPoint(0F, 16F, 0F);
output2.setTextureSize(128, 64);
output2.mirror = true;
setRotation(output2, 0F, 0F, 0F);
output3 = new ModelRenderer(this, 80, 30);
output3.addBox(5F, 3F, -5F, 3, 2, 2);
output3.setRotationPoint(0F, 16F, 0F);
output3.setTextureSize(128, 64);
output3.mirror = true;
setRotation(output3, 0F, 0F, 0F);
output4 = new ModelRenderer(this, 80, 30);
output4.addBox(5F, 3F, 3F, 3, 2, 2);
output4.setRotationPoint(0F, 16F, 0F);
output4.setTextureSize(128, 64);
output4.mirror = true;
setRotation(output4, 0F, 0F, 0F);
input1 = new ModelRenderer(this, 40, 27);
input1.addBox(3F, -5F, -8F, 2, 2, 5);
input1.setRotationPoint(0F, 16F, 0F);
input1.setTextureSize(128, 64);
input1.mirror = true;
setRotation(input1, 0F, 0F, 0F);
input2 = new ModelRenderer(this, 40, 27);
input2.addBox(-5F, -5F, -8F, 2, 2, 5);
input2.setRotationPoint(0F, 16F, 0F);
input2.setTextureSize(128, 64);
input2.mirror = true;
setRotation(input2, 0F, 0F, 0F);
input3 = new ModelRenderer(this, 40, 27);
input3.addBox(3F, 3F, -8F, 2, 2, 5);
input3.setRotationPoint(0F, 16F, 0F);
input3.setTextureSize(128, 64);
input3.mirror = true;
setRotation(input3, 0F, 0F, 0F);
input4 = new ModelRenderer(this, 40, 27);
input4.addBox(-5F, 3F, -8F, 2, 2, 5);
input4.setRotationPoint(0F, 16F, 0F);
input4.setTextureSize(128, 64);
input4.mirror = true;
setRotation(input4, 0F, 0F, 0F);
outputSecond = new ModelRenderer(this, 78, 47);
outputSecond.addBox(4F, -3F, -3F, 1, 6, 6);
outputSecond.setRotationPoint(0F, 16F, 0F);
outputSecond.setTextureSize(128, 64);
outputSecond.mirror = true;
setRotation(outputSecond, 0F, 0F, 0F);
}
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, ForgeDirection input, ForgeDirection output)
{
super.render(entity, f, f1, f2, f3, f4, f5);
setRotationAngles(f, f1, f2, f3, f4, f5, entity);
float xInputRot = 0.0f;
float yInputRot = 0.0f;
float zInputRot = 0.0f;
float xOutputRot = 0.0f;
float yOutputRot = 0.0f;
float zOutputRot = 0.0f;
switch (input)
{
case NORTH:
xInputRot = 0.0f;
yInputRot = 0.0f;
zInputRot = 0.0f;
break;
case EAST:
xInputRot = 0.0f;
yInputRot = (float) (0.5f * Math.PI);
zInputRot = 0.0f;
break;
case SOUTH:
xInputRot = 0.0f;
yInputRot = (float) (1.0f * Math.PI);
zInputRot = 0.0f;
break;
case WEST:
xInputRot = 0.0f;
yInputRot = (float) (-0.5f * Math.PI);
zInputRot = 0.0f;
break;
case UP:
xInputRot = (float) (-0.5f * Math.PI);
yInputRot = 0.0f;
zInputRot = 0.0f;
break;
case DOWN:
xInputRot = (float) (0.5f * Math.PI);
yInputRot = 0.0f;
zInputRot = 0.0f;
break;
default:
break;
}
switch (output)
{
case NORTH:
xOutputRot = 0.0f;
yOutputRot = (float) (0.5f * Math.PI);
zOutputRot = 0.0f;
break;
case EAST:
xOutputRot = 0.0f;
yOutputRot = (float) (1.0f * Math.PI);
zOutputRot = 0.0f;
break;
case SOUTH:
xOutputRot = 0.0f;
yOutputRot = (float) (-0.5f * Math.PI);
zOutputRot = 0.0f;
break;
case WEST:
xOutputRot = 0.0f;
yOutputRot = 0.0f;
zOutputRot = 0.0f;
break;
case UP:
xOutputRot = 0.0f;
yOutputRot = 0.0f;
zOutputRot = (float) (-0.5f * Math.PI);
break;
case DOWN:
xOutputRot = 0.0f;
yOutputRot = 0.0f;
zOutputRot = (float) (0.5f * Math.PI);
break;
default:
break;
}
this.setRotation(inputMain, xInputRot, yInputRot, zInputRot);
this.setRotation(outputMain, xOutputRot, yOutputRot, zOutputRot);
this.setRotation(input1, xInputRot, yInputRot, zInputRot);
this.setRotation(input2, xInputRot, yInputRot, zInputRot);
this.setRotation(input3, xInputRot, yInputRot, zInputRot);
this.setRotation(input4, xInputRot, yInputRot, zInputRot);
this.setRotation(outputSecond, xOutputRot, yOutputRot, zOutputRot);
this.setRotation(output1, xOutputRot, yOutputRot, zOutputRot);
this.setRotation(output2, xOutputRot, yOutputRot, zOutputRot);
this.setRotation(output3, xOutputRot, yOutputRot, zOutputRot);
this.setRotation(output4, xOutputRot, yOutputRot, zOutputRot);
core.render(f5);
frame1.render(f5);
frame2.render(f5);
frame3.render(f5);
frame4.render(f5);
frame5.render(f5);
frame6.render(f5);
frame7.render(f5);
frame8.render(f5);
frame9.render(f5);
frame10.render(f5);
frame11.render(f5);
frame12.render(f5);
outputMain.render(f5);
inputMain.render(f5);
output1.render(f5);
output2.render(f5);
output3.render(f5);
output4.render(f5);
input1.render(f5);
input2.render(f5);
input3.render(f5);
input4.render(f5);
outputSecond.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
{
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
}
}