/*
* Copyright (c) CovertJaguar, 2014 http://railcraft.info
*
* This code is the property of CovertJaguar
* and may only be used with explicit written
* permission unless otherwise specified on the
* license page at http://railcraft.info/wiki/info:license.
*/
package mods.railcraft.client.render.models.bore;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
// Referenced classes of package net.minecraft.src:
// Modelbase, ModelRenderer
public class ModelTunnelBore extends ModelBase
{
private ModelRenderer base;
private ModelRenderer rear;
private ModelRenderer boreHead;
private ModelRenderer boreFrame;
private ModelRenderer furnaceBox;
private ModelRenderer furnaceIdle;
private ModelRenderer furnaceActive;
private ModelRenderer stack;
private boolean active;
private boolean renderBoreHead;
public ModelTunnelBore()
{
base = new ModelRenderer(this, 0, 0).setTextureSize(256, 256);
rear = new ModelRenderer(this, 0, 18).setTextureSize(256, 256);
furnaceBox = new ModelRenderer(this, 99, 112).setTextureSize(256, 256);
boreHead = new ModelRenderer(this, 59, 78).setTextureSize(256, 256);
boreFrame = new ModelRenderer(this, 96, 18).setTextureSize(256, 256);
furnaceIdle = new ModelRenderer(this, 0, 66).setTextureSize(256, 256);
furnaceActive = new ModelRenderer(this, 37, 66).setTextureSize(256, 256);
stack = new ModelRenderer(this, 74, 66).setTextureSize(256, 256);
// sideModels[3] = new ModelRenderer(0, 0);
// sideModels[4] = new ModelRenderer(0, 0);
// sideModels[5] = new ModelRenderer(44, 10);
int offset = 3;
int baseYOffset = 2;
int baseXOffset = 0;
int baseLength = 80;
int baseWidth = 16;
int baseHeight = 2;
int rearYOffset = 0;
int rearXOffset = 27;
int rearLength = 42;
int rearWidth = 24;
int rearHeight = 24;
int boxXOffset = -6;
int boxLength = 24;
int boxWidth = 32;
int boxHeight = 32;
int furnaceXOffset = -6;
int furnaceYOffset = 6;
int furnace1ZOffset = 17;
int furnace2ZOffset = -17;
int furnaceLength = 16;
int furnaceWidth = 2;
int furnaceHeight = 16;
int stackXOffset = -6;
int stackYOffset = 22;
int stack1ZOffset = 15;
int stack2ZOffset = -15;
int stackLength = 4;
int stackWidth = 4;
int stackHeight = 16;
int frameXOffset = -18;
int frameLength = 32;
int frameWidth = 48;
int frameHeight = 43;
int headXOffset = -50;
int headLength = 2;
int headWidth = 32;
int headHeight = 32;
int headYOffset = headHeight / 2 - frameHeight / 2 + offset;
base.addBox(-baseLength / 2 + baseXOffset, -baseHeight + offset + baseYOffset, -baseWidth / 2, baseLength, baseHeight, baseWidth, 0.0F);
rear.addBox(-rearLength / 2 + rearXOffset, -rearHeight + offset + rearYOffset, -rearWidth / 2, rearLength, rearHeight, rearWidth, 0.0F);
furnaceBox.addBox(-boxLength / 2 + boxXOffset, -boxHeight + offset, -boxWidth / 2, boxLength, boxHeight, boxWidth, 0.0F);
furnaceIdle.addBox(-furnaceLength / 2 + furnaceXOffset, -furnaceHeight + offset - furnaceYOffset, -furnaceWidth / 2 + furnace1ZOffset, furnaceLength, furnaceHeight, furnaceWidth, 0.0F);
furnaceIdle.addBox(-furnaceLength / 2 + furnaceXOffset, -furnaceHeight + offset - furnaceYOffset, -furnaceWidth / 2 + furnace2ZOffset, furnaceLength, furnaceHeight, furnaceWidth, 0.0F);
furnaceActive.addBox(-furnaceLength / 2 + furnaceXOffset, -furnaceHeight + offset - furnaceYOffset, -furnaceWidth / 2 + furnace1ZOffset, furnaceLength, furnaceHeight, furnaceWidth, 0.0F);
furnaceActive.addBox(-furnaceLength / 2 + furnaceXOffset, -furnaceHeight + offset - furnaceYOffset, -furnaceWidth / 2 + furnace2ZOffset, furnaceLength, furnaceHeight, furnaceWidth, 0.0F);
stack.addBox(-stackLength / 2 + stackXOffset, -stackHeight + offset - stackYOffset, -stackWidth / 2 + stack1ZOffset, stackLength, stackHeight, stackWidth, 0.0F);
stack.addBox(-stackLength / 2 + stackXOffset, -stackHeight + offset - stackYOffset, -stackWidth / 2 + stack2ZOffset, stackLength, stackHeight, stackWidth, 0.0F);
boreFrame.addBox(-frameLength + frameXOffset, -frameHeight + offset, -frameWidth / 2, frameLength, frameHeight, frameWidth, 0.0F);
boreHead.addBox(-headLength + headXOffset, -headHeight / 2, -headWidth / 2, headLength, headHeight, headWidth, 0.0F);
boreHead.setRotationPoint(0, -headHeight / 2 + headYOffset, 0);
// boreHead.rotateAngleX = 1;
// boreHead.addBox(-25 / 2, -25 / 2, 0, 25, 25, 28, 1);
// boreHead.setRotationPoint(-25 / 2, 0 + byte3, 0.0F);
// sideModels[5].addBox(-byte0 / 2 + 1, -byte2 / 2 + 1, -1F, byte0 - 2, byte2 - 2, 1, 0.0F);
// sideModels[5].setRotationPoint(0.0F, 0 + byte3, 0.0F);
// boreFrame.setRotationPoint(-baseLength / 2 + 1, 0 + byte3, 0.0F);
// sideModels[2].addBox(-byte0 / 2 + 2, -byte1 - 1, -1F, byte0 - 4, byte1, 2, 0.0F);
// sideModels[2].setRotationPoint(byte0 / 2 - 1, 0 + byte3, 0.0F);
// sideModels[3].addBox(-byte0 / 2 + 2, -byte1 - 1, -1F, byte0 - 4, byte1, 2, 0.0F);
// sideModels[3].setRotationPoint(0.0F, 0 + byte3, -byte2 / 2 + 1);
// sideModels[4].addBox(-byte0 / 2 + 2, -byte1 - 1, -1F, byte0 - 4, byte1, 2, 0.0F);
// sideModels[4].setRotationPoint(0.0F, 0 + byte3, byte2 / 2 - 1);
// base.rotateAngleX = 1.570796F;
// furnaceBox.rotateAngleX = 1.570796F;
// boreHead.rotateAngleY = 4.712389F;
// boreFrame.rotateAngleY = 4.712389F;
// sideModels[2].rotateAngleY = 1.570796F;
// sideModels[3].rotateAngleY = 3.141593F;
// sideModels[5].rotateAngleX = -1.570796F;
}
public void render(float f, float f1, float f2, float f3, float f4, float f5)
{
// sideModels[5].rotationPointY = 4F - f2;
base.render(f5);
rear.render(f5);
if(renderBoreHead) {
boreHead.render(f5);
}
boreFrame.render(f5);
furnaceBox.render(f5);
if(active) {
furnaceActive.render(f5);
} else {
furnaceIdle.render(f5);
}
stack.render(f5);
}
public void setBoreHeadRotation(float rotation)
{
boreHead.rotateAngleX = rotation;
}
public void setBoreActive(boolean active)
{
this.active = active;
}
public void setRenderBoreHead(boolean render)
{
renderBoreHead = render;
}
}