Worked a lot on frame

This commit is contained in:
Brian Ricketts 2013-02-10 01:32:35 -06:00
parent d9d93e6103
commit c5edf68989
18 changed files with 1444 additions and 353 deletions

View file

@ -96,7 +96,7 @@
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>

Binary file not shown.

413
models/CraneRail.java Normal file
View file

@ -0,0 +1,413 @@
// Date: 2/9/2013 10:50:15 PM
// Template version 1.1
// Java generated by Techne
// Keep in mind that you still need to fill in some blanks
// - ZeuX
package net.minecraft.src;
public class ModelCraneRail extends ModelBase
{
//fields
ModelRenderer SegmentBLBack;
ModelRenderer SegmentLUBack;
ModelRenderer SegmentRUBack;
ModelRenderer SegmentBRBack;
ModelRenderer SegmentBLFront;
ModelRenderer SegmentLUFront;
ModelRenderer SegmentRUFront;
ModelRenderer SegmentBRFront;
ModelRenderer SegmentLBUp;
ModelRenderer SegmentRBUp;
ModelRenderer SegmentLFUp;
ModelRenderer SegmentRFUp;
ModelRenderer SegmentUBRight;
ModelRenderer SegmentBFRight;
ModelRenderer SegmentUFRight;
ModelRenderer SegmentBBRight;
ModelRenderer SegmentLFDown;
ModelRenderer SegmentLBDown;
ModelRenderer SegmentRBDown;
ModelRenderer FootTop;
ModelRenderer SegmentRFDown;
ModelRenderer FootBottom;
ModelRenderer SegmentBFMid;
ModelRenderer SegmentUBMid;
ModelRenderer SegmentBBMid;
ModelRenderer SegmentUFMid;
ModelRenderer SegmentLBMid;
ModelRenderer SegmentLFMid;
ModelRenderer SegmentRBMid;
ModelRenderer SegmentRFMid;
ModelRenderer SegmentMidDiag4;
ModelRenderer SegmentRUMid;
ModelRenderer SegmentBRMid;
ModelRenderer SegmentBLMid;
ModelRenderer SegmentLUMid;
ModelRenderer SegmentMidDiag3;
ModelRenderer SegmentMidDiag7;
ModelRenderer SegmentMidDiag8;
ModelRenderer SegmentMidDiag1;
ModelRenderer SegmentMidDiag2;
ModelRenderer SegmentMidDiag6;
ModelRenderer SegmentMidDiag5;
ModelRenderer SegmentUBLeft;
ModelRenderer SegmentUFLeft;
ModelRenderer SegmentBFLeft;
ModelRenderer SegmentBBLeft;
public ModelCraneRail()
{
textureWidth = 64;
textureHeight = 32;
SegmentBLBack = new ModelRenderer(this, 10, 13);
SegmentBLBack.addBox(0F, 0F, 0F, 1, 1, 4);
SegmentBLBack.setRotationPoint(3F, 19F, 4F);
SegmentBLBack.setTextureSize(64, 32);
SegmentBLBack.mirror = true;
setRotation(SegmentBLBack, 0F, 0F, 0F);
SegmentLUBack = new ModelRenderer(this, 10, 13);
SegmentLUBack.addBox(0F, 0F, 0F, 1, 1, 4);
SegmentLUBack.setRotationPoint(3F, 12F, 4F);
SegmentLUBack.setTextureSize(64, 32);
SegmentLUBack.mirror = true;
setRotation(SegmentLUBack, 0F, 0F, 0F);
SegmentRUBack = new ModelRenderer(this, 10, 13);
SegmentRUBack.addBox(0F, 0F, 0F, 1, 1, 4);
SegmentRUBack.setRotationPoint(-4F, 12F, 4F);
SegmentRUBack.setTextureSize(64, 32);
SegmentRUBack.mirror = true;
setRotation(SegmentRUBack, 0F, 0F, 0F);
SegmentBRBack = new ModelRenderer(this, 10, 13);
SegmentBRBack.addBox(0F, 0F, 0F, 1, 1, 4);
SegmentBRBack.setRotationPoint(-4F, 19F, 4F);
SegmentBRBack.setTextureSize(64, 32);
SegmentBRBack.mirror = true;
setRotation(SegmentBRBack, 0F, 0F, 0F);
SegmentBLFront = new ModelRenderer(this, 10, 13);
SegmentBLFront.addBox(0F, 0F, 0F, 1, 1, 4);
SegmentBLFront.setRotationPoint(3F, 19F, -8F);
SegmentBLFront.setTextureSize(64, 32);
SegmentBLFront.mirror = true;
setRotation(SegmentBLFront, 0F, 0F, 0F);
SegmentLUFront = new ModelRenderer(this, 10, 13);
SegmentLUFront.addBox(0F, 0F, 0F, 1, 1, 4);
SegmentLUFront.setRotationPoint(3F, 12F, -8F);
SegmentLUFront.setTextureSize(64, 32);
SegmentLUFront.mirror = true;
setRotation(SegmentLUFront, 0F, 0F, 0F);
SegmentRUFront = new ModelRenderer(this, 10, 13);
SegmentRUFront.addBox(0F, 0F, 0F, 1, 1, 4);
SegmentRUFront.setRotationPoint(-4F, 12F, -8F);
SegmentRUFront.setTextureSize(64, 32);
SegmentRUFront.mirror = true;
setRotation(SegmentRUFront, 0F, 0F, 0F);
SegmentBRFront = new ModelRenderer(this, 10, 13);
SegmentBRFront.addBox(0F, 0F, 0F, 1, 1, 4);
SegmentBRFront.setRotationPoint(-4F, 19F, -8F);
SegmentBRFront.setTextureSize(64, 32);
SegmentBRFront.mirror = true;
setRotation(SegmentBRFront, 0F, 0F, 0F);
SegmentLBUp = new ModelRenderer(this, 20, 13);
SegmentLBUp.addBox(0F, 0F, 0F, 1, 4, 1);
SegmentLBUp.setRotationPoint(3F, 8F, 3F);
SegmentLBUp.setTextureSize(64, 32);
SegmentLBUp.mirror = true;
setRotation(SegmentLBUp, 0F, 0F, 0F);
SegmentRBUp = new ModelRenderer(this, 20, 13);
SegmentRBUp.addBox(0F, 0F, 0F, 1, 4, 1);
SegmentRBUp.setRotationPoint(-4F, 8F, 3F);
SegmentRBUp.setTextureSize(64, 32);
SegmentRBUp.mirror = true;
setRotation(SegmentRBUp, 0F, 0F, 0F);
SegmentLFUp = new ModelRenderer(this, 20, 13);
SegmentLFUp.addBox(0F, 0F, 0F, 1, 4, 1);
SegmentLFUp.setRotationPoint(3F, 8F, -4F);
SegmentLFUp.setTextureSize(64, 32);
SegmentLFUp.mirror = true;
setRotation(SegmentLFUp, 0F, 0F, 0F);
SegmentRFUp = new ModelRenderer(this, 20, 13);
SegmentRFUp.addBox(0F, 0F, 0F, 1, 4, 1);
SegmentRFUp.setRotationPoint(-4F, 8F, -4F);
SegmentRFUp.setTextureSize(64, 32);
SegmentRFUp.mirror = true;
setRotation(SegmentRFUp, 0F, 0F, 0F);
SegmentUBRight = new ModelRenderer(this, 0, 13);
SegmentUBRight.addBox(0F, 0F, 0F, 4, 1, 1);
SegmentUBRight.setRotationPoint(-8F, 12F, 3F);
SegmentUBRight.setTextureSize(64, 32);
SegmentUBRight.mirror = true;
setRotation(SegmentUBRight, 0F, 0F, 0F);
SegmentBFRight = new ModelRenderer(this, 0, 13);
SegmentBFRight.addBox(0F, 0F, 0F, 4, 1, 1);
SegmentBFRight.setRotationPoint(-8F, 19F, -4F);
SegmentBFRight.setTextureSize(64, 32);
SegmentBFRight.mirror = true;
setRotation(SegmentBFRight, 0F, 0F, 0F);
SegmentUFRight = new ModelRenderer(this, 0, 13);
SegmentUFRight.addBox(0F, 0F, 0F, 4, 1, 1);
SegmentUFRight.setRotationPoint(-8F, 12F, -4F);
SegmentUFRight.setTextureSize(64, 32);
SegmentUFRight.mirror = true;
setRotation(SegmentUFRight, 0F, 0F, 0F);
SegmentBBRight = new ModelRenderer(this, 0, 13);
SegmentBBRight.addBox(0F, 0F, 0F, 4, 1, 1);
SegmentBBRight.setRotationPoint(-8F, 19F, 3F);
SegmentBBRight.setTextureSize(64, 32);
SegmentBBRight.mirror = true;
setRotation(SegmentBBRight, 0F, 0F, 0F);
SegmentLFDown = new ModelRenderer(this, 20, 13);
SegmentLFDown.addBox(0F, 0F, 0F, 1, 4, 1);
SegmentLFDown.setRotationPoint(3F, 20F, -4F);
SegmentLFDown.setTextureSize(64, 32);
SegmentLFDown.mirror = true;
setRotation(SegmentLFDown, 0F, 0F, 0F);
SegmentLBDown = new ModelRenderer(this, 20, 13);
SegmentLBDown.addBox(0F, 0F, 0F, 1, 4, 1);
SegmentLBDown.setRotationPoint(3F, 20F, 3F);
SegmentLBDown.setTextureSize(64, 32);
SegmentLBDown.mirror = true;
setRotation(SegmentLBDown, 0F, 0F, 0F);
SegmentRBDown = new ModelRenderer(this, 20, 13);
SegmentRBDown.addBox(0F, 0F, 0F, 1, 4, 1);
SegmentRBDown.setRotationPoint(-4F, 20F, 3F);
SegmentRBDown.setTextureSize(64, 32);
SegmentRBDown.mirror = true;
setRotation(SegmentRBDown, 0F, 0F, 0F);
FootTop = new ModelRenderer(this, 24, 0);
FootTop.addBox(0F, 0F, 0F, 10, 2, 10);
FootTop.setRotationPoint(-5F, 20F, -5F);
FootTop.setTextureSize(64, 32);
FootTop.mirror = true;
setRotation(FootTop, 0F, 0F, 0F);
SegmentRFDown = new ModelRenderer(this, 20, 13);
SegmentRFDown.addBox(0F, 0F, 0F, 1, 4, 1);
SegmentRFDown.setRotationPoint(-4F, 20F, -4F);
SegmentRFDown.setTextureSize(64, 32);
SegmentRFDown.mirror = true;
setRotation(SegmentRFDown, 0F, 0F, 0F);
FootBottom = new ModelRenderer(this, 0, 18);
FootBottom.addBox(0F, 0F, 0F, 12, 2, 12);
FootBottom.setRotationPoint(-6F, 22F, -6F);
FootBottom.setTextureSize(64, 32);
FootBottom.mirror = true;
setRotation(FootBottom, 0F, 0F, 0F);
SegmentBFMid = new ModelRenderer(this, 30, 12);
SegmentBFMid.addBox(0F, 0F, 0F, 8, 1, 1);
SegmentBFMid.setRotationPoint(-4F, 19F, -4F);
SegmentBFMid.setTextureSize(64, 32);
SegmentBFMid.mirror = true;
setRotation(SegmentBFMid, 0F, 0F, 0F);
SegmentUBMid = new ModelRenderer(this, 30, 12);
SegmentUBMid.addBox(0F, 0F, 0F, 8, 1, 1);
SegmentUBMid.setRotationPoint(-4F, 12F, 3F);
SegmentUBMid.setTextureSize(64, 32);
SegmentUBMid.mirror = true;
setRotation(SegmentUBMid, 0F, 0F, 0F);
SegmentBBMid = new ModelRenderer(this, 30, 12);
SegmentBBMid.addBox(0F, 0F, 0F, 8, 1, 1);
SegmentBBMid.setRotationPoint(-4F, 19F, 3F);
SegmentBBMid.setTextureSize(64, 32);
SegmentBBMid.mirror = true;
setRotation(SegmentBBMid, 0F, 0F, 0F);
SegmentUFMid = new ModelRenderer(this, 30, 12);
SegmentUFMid.addBox(0F, 0F, 0F, 8, 1, 1);
SegmentUFMid.setRotationPoint(-4F, 12F, -4F);
SegmentUFMid.setTextureSize(64, 32);
SegmentUFMid.mirror = true;
setRotation(SegmentUFMid, 0F, 0F, 0F);
SegmentLBMid = new ModelRenderer(this, 48, 19);
SegmentLBMid.addBox(0F, 0F, 0F, 1, 6, 1);
SegmentLBMid.setRotationPoint(3F, 13F, 3F);
SegmentLBMid.setTextureSize(64, 32);
SegmentLBMid.mirror = true;
setRotation(SegmentLBMid, 0F, 0F, 0F);
SegmentLFMid = new ModelRenderer(this, 48, 19);
SegmentLFMid.addBox(0F, 0F, 0F, 1, 6, 1);
SegmentLFMid.setRotationPoint(3F, 13F, -4F);
SegmentLFMid.setTextureSize(64, 32);
SegmentLFMid.mirror = true;
setRotation(SegmentLFMid, 0F, 0F, 0F);
SegmentRBMid = new ModelRenderer(this, 48, 19);
SegmentRBMid.addBox(0F, 0F, 0F, 1, 6, 1);
SegmentRBMid.setRotationPoint(-4F, 13F, 3F);
SegmentRBMid.setTextureSize(64, 32);
SegmentRBMid.mirror = true;
setRotation(SegmentRBMid, 0F, 0F, 0F);
SegmentRFMid = new ModelRenderer(this, 48, 19);
SegmentRFMid.addBox(0F, 0F, 0F, 1, 6, 1);
SegmentRFMid.setRotationPoint(-4F, 13F, -4F);
SegmentRFMid.setTextureSize(64, 32);
SegmentRFMid.mirror = true;
setRotation(SegmentRFMid, 0F, 0F, 0F);
SegmentMidDiag4.mirror = true;
SegmentMidDiag4 = new ModelRenderer(this, 0, 0);
SegmentMidDiag4.addBox(0F, 0F, 0F, 1, 1, 10);
SegmentMidDiag4.setRotationPoint(-3.99F, 12F, -3F);
SegmentMidDiag4.setTextureSize(64, 32);
SegmentMidDiag4.mirror = true;
setRotation(SegmentMidDiag4, -0.7853982F, 0F, 0F);
SegmentMidDiag4.mirror = false;
SegmentRUMid = new ModelRenderer(this, 48, 12);
SegmentRUMid.addBox(0F, 0F, 0F, 1, 1, 6);
SegmentRUMid.setRotationPoint(-4F, 12F, -3F);
SegmentRUMid.setTextureSize(64, 32);
SegmentRUMid.mirror = true;
setRotation(SegmentRUMid, 0F, 0F, 0F);
SegmentBRMid = new ModelRenderer(this, 48, 12);
SegmentBRMid.addBox(0F, 0F, 0F, 1, 1, 6);
SegmentBRMid.setRotationPoint(-4F, 19F, -3F);
SegmentBRMid.setTextureSize(64, 32);
SegmentBRMid.mirror = true;
setRotation(SegmentBRMid, 0F, 0F, 0F);
SegmentBLMid = new ModelRenderer(this, 48, 12);
SegmentBLMid.addBox(0F, 0F, 0F, 1, 1, 6);
SegmentBLMid.setRotationPoint(3F, 19F, -3F);
SegmentBLMid.setTextureSize(64, 32);
SegmentBLMid.mirror = true;
setRotation(SegmentBLMid, 0F, 0F, 0F);
SegmentLUMid = new ModelRenderer(this, 48, 12);
SegmentLUMid.addBox(0F, 0F, 0F, 1, 1, 6);
SegmentLUMid.setRotationPoint(3F, 12F, -3F);
SegmentLUMid.setTextureSize(64, 32);
SegmentLUMid.mirror = true;
setRotation(SegmentLUMid, 0F, 0F, 0F);
SegmentMidDiag3 = new ModelRenderer(this, 0, 0);
SegmentMidDiag3.addBox(0F, 0F, 0F, 1, 1, 10);
SegmentMidDiag3.setRotationPoint(-4F, 19F, -4F);
SegmentMidDiag3.setTextureSize(64, 32);
SegmentMidDiag3.mirror = true;
setRotation(SegmentMidDiag3, 0.7853982F, 0F, 0F);
SegmentMidDiag7 = new ModelRenderer(this, 0, 0);
SegmentMidDiag7.addBox(0F, 0F, 0F, 1, 1, 10);
SegmentMidDiag7.setRotationPoint(-2.99F, 12F, 4F);
SegmentMidDiag7.setTextureSize(64, 32);
SegmentMidDiag7.mirror = true;
setRotation(SegmentMidDiag7, -0.7853982F, 1.570796F, 0F);
SegmentMidDiag8 = new ModelRenderer(this, 0, 0);
SegmentMidDiag8.addBox(0F, 0F, 0F, 1, 1, 10);
SegmentMidDiag8.setRotationPoint(-4F, 19F, 4F);
SegmentMidDiag8.setTextureSize(64, 32);
SegmentMidDiag8.mirror = true;
setRotation(SegmentMidDiag8, 0.7853982F, 1.570796F, 0F);
SegmentMidDiag1 = new ModelRenderer(this, 0, 0);
SegmentMidDiag1.addBox(0F, 0F, 0F, 1, 1, 10);
SegmentMidDiag1.setRotationPoint(3F, 19F, -4F);
SegmentMidDiag1.setTextureSize(64, 32);
SegmentMidDiag1.mirror = true;
setRotation(SegmentMidDiag1, 0.7853982F, 0F, 0F);
SegmentMidDiag2 = new ModelRenderer(this, 0, 0);
SegmentMidDiag2.addBox(0F, 0F, 0F, 1, 1, 10);
SegmentMidDiag2.setRotationPoint(3.01F, 12F, -3F);
SegmentMidDiag2.setTextureSize(64, 32);
SegmentMidDiag2.mirror = true;
setRotation(SegmentMidDiag2, -0.7853982F, 0F, 0F);
SegmentMidDiag6 = new ModelRenderer(this, 0, 0);
SegmentMidDiag6.addBox(0F, 0F, 0F, 1, 1, 10);
SegmentMidDiag6.setRotationPoint(-4F, 19F, -3F);
SegmentMidDiag6.setTextureSize(64, 32);
SegmentMidDiag6.mirror = true;
setRotation(SegmentMidDiag6, 0.7853982F, 1.570796F, 0F);
SegmentMidDiag5 = new ModelRenderer(this, 0, 0);
SegmentMidDiag5.addBox(0F, 0F, 0F, 1, 1, 10);
SegmentMidDiag5.setRotationPoint(-2.99F, 12F, -3F);
SegmentMidDiag5.setTextureSize(64, 32);
SegmentMidDiag5.mirror = true;
setRotation(SegmentMidDiag5, -0.7853982F, 1.570796F, 0F);
SegmentUBLeft = new ModelRenderer(this, 0, 13);
SegmentUBLeft.addBox(0F, 0F, 0F, 4, 1, 1);
SegmentUBLeft.setRotationPoint(4F, 12F, 3F);
SegmentUBLeft.setTextureSize(64, 32);
SegmentUBLeft.mirror = true;
setRotation(SegmentUBLeft, 0F, 0F, 0F);
SegmentUFLeft = new ModelRenderer(this, 0, 13);
SegmentUFLeft.addBox(0F, 0F, 0F, 4, 1, 1);
SegmentUFLeft.setRotationPoint(4F, 12F, -4F);
SegmentUFLeft.setTextureSize(64, 32);
SegmentUFLeft.mirror = true;
setRotation(SegmentUFLeft, 0F, 0F, 0F);
SegmentBFLeft = new ModelRenderer(this, 0, 13);
SegmentBFLeft.addBox(0F, 0F, 0F, 4, 1, 1);
SegmentBFLeft.setRotationPoint(4F, 19F, -4F);
SegmentBFLeft.setTextureSize(64, 32);
SegmentBFLeft.mirror = true;
setRotation(SegmentBFLeft, 0F, 0F, 0F);
SegmentBBLeft = new ModelRenderer(this, 0, 13);
SegmentBBLeft.addBox(0F, 0F, 0F, 4, 1, 1);
SegmentBBLeft.setRotationPoint(4F, 19F, 3F);
SegmentBBLeft.setTextureSize(64, 32);
SegmentBBLeft.mirror = true;
setRotation(SegmentBBLeft, 0F, 0F, 0F);
}
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
setRotationAngles(f, f1, f2, f3, f4, f5);
SegmentBLBack.render(f5);
SegmentLUBack.render(f5);
SegmentRUBack.render(f5);
SegmentBRBack.render(f5);
SegmentBLFront.render(f5);
SegmentLUFront.render(f5);
SegmentRUFront.render(f5);
SegmentBRFront.render(f5);
SegmentLBUp.render(f5);
SegmentRBUp.render(f5);
SegmentLFUp.render(f5);
SegmentRFUp.render(f5);
SegmentUBRight.render(f5);
SegmentBFRight.render(f5);
SegmentUFRight.render(f5);
SegmentBBRight.render(f5);
SegmentLFDown.render(f5);
SegmentLBDown.render(f5);
SegmentRBDown.render(f5);
FootTop.render(f5);
SegmentRFDown.render(f5);
FootBottom.render(f5);
SegmentBFMid.render(f5);
SegmentUBMid.render(f5);
SegmentBBMid.render(f5);
SegmentUFMid.render(f5);
SegmentLBMid.render(f5);
SegmentLFMid.render(f5);
SegmentRBMid.render(f5);
SegmentRFMid.render(f5);
SegmentMidDiag4.render(f5);
SegmentRUMid.render(f5);
SegmentBRMid.render(f5);
SegmentBLMid.render(f5);
SegmentLUMid.render(f5);
SegmentMidDiag3.render(f5);
SegmentMidDiag7.render(f5);
SegmentMidDiag8.render(f5);
SegmentMidDiag1.render(f5);
SegmentMidDiag2.render(f5);
SegmentMidDiag6.render(f5);
SegmentMidDiag5.render(f5);
SegmentUBLeft.render(f5);
SegmentUFLeft.render(f5);
SegmentBFLeft.render(f5);
SegmentBBLeft.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)
{
super.setRotationAngles(f, f1, f2, f3, f4, f5);
}
}

BIN
models/CraneRails.tcn Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 718 B

View file

@ -12,6 +12,7 @@ import assemblyline.client.render.BlockRenderingHandler;
import assemblyline.client.render.RenderArmbot;
import assemblyline.client.render.RenderConveyorBelt;
import assemblyline.client.render.RenderCraneController;
import assemblyline.client.render.RenderCraneRail;
import assemblyline.client.render.RenderCrate;
import assemblyline.client.render.RenderDetector;
import assemblyline.client.render.RenderManipulator;
@ -24,6 +25,7 @@ import assemblyline.common.machine.TileEntityRejector;
import assemblyline.common.machine.armbot.TileEntityArmbot;
import assemblyline.common.machine.belt.TileEntityConveyorBelt;
import assemblyline.common.machine.crane.TileEntityCraneController;
import assemblyline.common.machine.crane.TileEntityCraneRail;
import assemblyline.common.machine.detector.TileEntityDetector;
import assemblyline.common.machine.encoder.TileEntityEncoder;
import assemblyline.common.machine.imprinter.TileEntityImprinter;
@ -53,6 +55,7 @@ public class ClientProxy extends CommonProxy
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCrate.class, new RenderCrate());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityArmbot.class, new RenderArmbot());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCraneController.class, new RenderCraneController());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCraneRail.class, new RenderCraneRail());
}
@Override

View file

@ -99,9 +99,9 @@ public class ModelCraneController extends ModelBase
setRotation(Decoration4, 0F, 0F, 0F);
ConnectorTop.setRotationPoint(-4F, 16F, -4F);
setRotation(ConnectorTop, 0F, 0F, -1.570796F);
ConnectorFront.setRotationPoint(-4F, 12F, -0.01F);
ConnectorFront.setRotationPoint(-4F, 11.99F, -0.01F);
setRotation(ConnectorFront, 0F, 1.570796F, 0F);
ConnectorRight.setRotationPoint(0.01F, 12F, -4F);
ConnectorRight.setRotationPoint(0.01F, 11.99F, -4F);
setRotation(ConnectorRight, 0F, 0F, 0F);
Base2.render(scale);

View file

@ -0,0 +1,476 @@
package assemblyline.client.model;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
public class ModelCraneRail extends ModelBase
{
// left
ModelRenderer SegmentUBLeft;
ModelRenderer SegmentUFLeft;
ModelRenderer SegmentBFLeft;
ModelRenderer SegmentBBLeft;
// back
ModelRenderer SegmentBLBack;
ModelRenderer SegmentLUBack;
ModelRenderer SegmentRUBack;
ModelRenderer SegmentBRBack;
// front
ModelRenderer SegmentBLFront;
ModelRenderer SegmentLUFront;
ModelRenderer SegmentRUFront;
ModelRenderer SegmentBRFront;
// up
ModelRenderer SegmentLBUp;
ModelRenderer SegmentRBUp;
ModelRenderer SegmentLFUp;
ModelRenderer SegmentRFUp;
// right
ModelRenderer SegmentUBRight;
ModelRenderer SegmentBFRight;
ModelRenderer SegmentUFRight;
ModelRenderer SegmentBBRight;
// down
ModelRenderer SegmentLFDown;
ModelRenderer SegmentLBDown;
ModelRenderer SegmentRBDown;
ModelRenderer SegmentRFDown;
// middle
ModelRenderer SegmentBFMid;
ModelRenderer SegmentUBMid;
ModelRenderer SegmentBBMid;
ModelRenderer SegmentUFMid;
ModelRenderer SegmentLBMid;
ModelRenderer SegmentLFMid;
ModelRenderer SegmentRBMid;
ModelRenderer SegmentRFMid;
ModelRenderer SegmentRUMid;
ModelRenderer SegmentBRMid;
ModelRenderer SegmentBLMid;
ModelRenderer SegmentLUMid;
ModelRenderer SegmentMidDiag1;
ModelRenderer SegmentMidDiag2;
ModelRenderer SegmentMidDiag3;
ModelRenderer SegmentMidDiag4;
ModelRenderer SegmentMidDiag5;
ModelRenderer SegmentMidDiag6;
ModelRenderer SegmentMidDiag7;
ModelRenderer SegmentMidDiag8;
ModelRenderer FootBottom;
ModelRenderer FootTop;
public ModelCraneRail()
{
textureWidth = 64;
textureHeight = 32;
SegmentBLBack = new ModelRenderer(this, 10, 13);
SegmentBLBack.addBox(0F, 0F, 0F, 1, 1, 4);
SegmentBLBack.setRotationPoint(3F, 19F, 4F);
SegmentBLBack.setTextureSize(64, 32);
SegmentBLBack.mirror = true;
setRotation(SegmentBLBack, 0F, 0F, 0F);
SegmentLUBack = new ModelRenderer(this, 10, 13);
SegmentLUBack.addBox(0F, 0F, 0F, 1, 1, 4);
SegmentLUBack.setRotationPoint(3F, 12F, 4F);
SegmentLUBack.setTextureSize(64, 32);
SegmentLUBack.mirror = true;
setRotation(SegmentLUBack, 0F, 0F, 0F);
SegmentRUBack = new ModelRenderer(this, 10, 13);
SegmentRUBack.addBox(0F, 0F, 0F, 1, 1, 4);
SegmentRUBack.setRotationPoint(-4F, 12F, 4F);
SegmentRUBack.setTextureSize(64, 32);
SegmentRUBack.mirror = true;
setRotation(SegmentRUBack, 0F, 0F, 0F);
SegmentBRBack = new ModelRenderer(this, 10, 13);
SegmentBRBack.addBox(0F, 0F, 0F, 1, 1, 4);
SegmentBRBack.setRotationPoint(-4F, 19F, 4F);
SegmentBRBack.setTextureSize(64, 32);
SegmentBRBack.mirror = true;
setRotation(SegmentBRBack, 0F, 0F, 0F);
SegmentBLFront = new ModelRenderer(this, 10, 13);
SegmentBLFront.addBox(0F, 0F, 0F, 1, 1, 4);
SegmentBLFront.setRotationPoint(3F, 19F, -8F);
SegmentBLFront.setTextureSize(64, 32);
SegmentBLFront.mirror = true;
setRotation(SegmentBLFront, 0F, 0F, 0F);
SegmentLUFront = new ModelRenderer(this, 10, 13);
SegmentLUFront.addBox(0F, 0F, 0F, 1, 1, 4);
SegmentLUFront.setRotationPoint(3F, 12F, -8F);
SegmentLUFront.setTextureSize(64, 32);
SegmentLUFront.mirror = true;
setRotation(SegmentLUFront, 0F, 0F, 0F);
SegmentRUFront = new ModelRenderer(this, 10, 13);
SegmentRUFront.addBox(0F, 0F, 0F, 1, 1, 4);
SegmentRUFront.setRotationPoint(-4F, 12F, -8F);
SegmentRUFront.setTextureSize(64, 32);
SegmentRUFront.mirror = true;
setRotation(SegmentRUFront, 0F, 0F, 0F);
SegmentBRFront = new ModelRenderer(this, 10, 13);
SegmentBRFront.addBox(0F, 0F, 0F, 1, 1, 4);
SegmentBRFront.setRotationPoint(-4F, 19F, -8F);
SegmentBRFront.setTextureSize(64, 32);
SegmentBRFront.mirror = true;
setRotation(SegmentBRFront, 0F, 0F, 0F);
SegmentLBUp = new ModelRenderer(this, 20, 13);
SegmentLBUp.addBox(0F, 0F, 0F, 1, 4, 1);
SegmentLBUp.setRotationPoint(3F, 8F, 3F);
SegmentLBUp.setTextureSize(64, 32);
SegmentLBUp.mirror = true;
setRotation(SegmentLBUp, 0F, 0F, 0F);
SegmentRBUp = new ModelRenderer(this, 20, 13);
SegmentRBUp.addBox(0F, 0F, 0F, 1, 4, 1);
SegmentRBUp.setRotationPoint(-4F, 8F, 3F);
SegmentRBUp.setTextureSize(64, 32);
SegmentRBUp.mirror = true;
setRotation(SegmentRBUp, 0F, 0F, 0F);
SegmentLFUp = new ModelRenderer(this, 20, 13);
SegmentLFUp.addBox(0F, 0F, 0F, 1, 4, 1);
SegmentLFUp.setRotationPoint(3F, 8F, -4F);
SegmentLFUp.setTextureSize(64, 32);
SegmentLFUp.mirror = true;
setRotation(SegmentLFUp, 0F, 0F, 0F);
SegmentRFUp = new ModelRenderer(this, 20, 13);
SegmentRFUp.addBox(0F, 0F, 0F, 1, 4, 1);
SegmentRFUp.setRotationPoint(-4F, 8F, -4F);
SegmentRFUp.setTextureSize(64, 32);
SegmentRFUp.mirror = true;
setRotation(SegmentRFUp, 0F, 0F, 0F);
SegmentUBRight = new ModelRenderer(this, 0, 13);
SegmentUBRight.addBox(0F, 0F, 0F, 4, 1, 1);
SegmentUBRight.setRotationPoint(-8F, 12F, 3F);
SegmentUBRight.setTextureSize(64, 32);
SegmentUBRight.mirror = true;
setRotation(SegmentUBRight, 0F, 0F, 0F);
SegmentBFRight = new ModelRenderer(this, 0, 13);
SegmentBFRight.addBox(0F, 0F, 0F, 4, 1, 1);
SegmentBFRight.setRotationPoint(-8F, 19F, -4F);
SegmentBFRight.setTextureSize(64, 32);
SegmentBFRight.mirror = true;
setRotation(SegmentBFRight, 0F, 0F, 0F);
SegmentUFRight = new ModelRenderer(this, 0, 13);
SegmentUFRight.addBox(0F, 0F, 0F, 4, 1, 1);
SegmentUFRight.setRotationPoint(-8F, 12F, -4F);
SegmentUFRight.setTextureSize(64, 32);
SegmentUFRight.mirror = true;
setRotation(SegmentUFRight, 0F, 0F, 0F);
SegmentBBRight = new ModelRenderer(this, 0, 13);
SegmentBBRight.addBox(0F, 0F, 0F, 4, 1, 1);
SegmentBBRight.setRotationPoint(-8F, 19F, 3F);
SegmentBBRight.setTextureSize(64, 32);
SegmentBBRight.mirror = true;
setRotation(SegmentBBRight, 0F, 0F, 0F);
SegmentLFDown = new ModelRenderer(this, 20, 13);
SegmentLFDown.addBox(0F, 0F, 0F, 1, 4, 1);
SegmentLFDown.setRotationPoint(3F, 20F, -4F);
SegmentLFDown.setTextureSize(64, 32);
SegmentLFDown.mirror = true;
setRotation(SegmentLFDown, 0F, 0F, 0F);
SegmentLBDown = new ModelRenderer(this, 20, 13);
SegmentLBDown.addBox(0F, 0F, 0F, 1, 4, 1);
SegmentLBDown.setRotationPoint(3F, 20F, 3F);
SegmentLBDown.setTextureSize(64, 32);
SegmentLBDown.mirror = true;
setRotation(SegmentLBDown, 0F, 0F, 0F);
SegmentRBDown = new ModelRenderer(this, 20, 13);
SegmentRBDown.addBox(0F, 0F, 0F, 1, 4, 1);
SegmentRBDown.setRotationPoint(-4F, 20F, 3F);
SegmentRBDown.setTextureSize(64, 32);
SegmentRBDown.mirror = true;
setRotation(SegmentRBDown, 0F, 0F, 0F);
FootTop = new ModelRenderer(this, 24, 0);
FootTop.addBox(0F, 0F, 0F, 10, 2, 10);
FootTop.setRotationPoint(-5F, 20F, -5F);
FootTop.setTextureSize(64, 32);
FootTop.mirror = true;
setRotation(FootTop, 0F, 0F, 0F);
SegmentRFDown = new ModelRenderer(this, 20, 13);
SegmentRFDown.addBox(0F, 0F, 0F, 1, 4, 1);
SegmentRFDown.setRotationPoint(-4F, 20F, -4F);
SegmentRFDown.setTextureSize(64, 32);
SegmentRFDown.mirror = true;
setRotation(SegmentRFDown, 0F, 0F, 0F);
FootBottom = new ModelRenderer(this, 0, 18);
FootBottom.addBox(0F, 0F, 0F, 12, 2, 12);
FootBottom.setRotationPoint(-6F, 22F, -6F);
FootBottom.setTextureSize(64, 32);
FootBottom.mirror = true;
setRotation(FootBottom, 0F, 0F, 0F);
SegmentBFMid = new ModelRenderer(this, 30, 12);
SegmentBFMid.addBox(0F, 0F, 0F, 8, 1, 1);
SegmentBFMid.setRotationPoint(-4F, 19F, -4F);
SegmentBFMid.setTextureSize(64, 32);
SegmentBFMid.mirror = true;
setRotation(SegmentBFMid, 0F, 0F, 0F);
SegmentUBMid = new ModelRenderer(this, 30, 12);
SegmentUBMid.addBox(0F, 0F, 0F, 8, 1, 1);
SegmentUBMid.setRotationPoint(-4F, 12F, 3F);
SegmentUBMid.setTextureSize(64, 32);
SegmentUBMid.mirror = true;
setRotation(SegmentUBMid, 0F, 0F, 0F);
SegmentBBMid = new ModelRenderer(this, 30, 12);
SegmentBBMid.addBox(0F, 0F, 0F, 8, 1, 1);
SegmentBBMid.setRotationPoint(-4F, 19F, 3F);
SegmentBBMid.setTextureSize(64, 32);
SegmentBBMid.mirror = true;
setRotation(SegmentBBMid, 0F, 0F, 0F);
SegmentUFMid = new ModelRenderer(this, 30, 12);
SegmentUFMid.addBox(0F, 0F, 0F, 8, 1, 1);
SegmentUFMid.setRotationPoint(-4F, 12F, -4F);
SegmentUFMid.setTextureSize(64, 32);
SegmentUFMid.mirror = true;
setRotation(SegmentUFMid, 0F, 0F, 0F);
SegmentLBMid = new ModelRenderer(this, 48, 19);
SegmentLBMid.addBox(0F, 0F, 0F, 1, 6, 1);
SegmentLBMid.setRotationPoint(3F, 13F, 3F);
SegmentLBMid.setTextureSize(64, 32);
SegmentLBMid.mirror = true;
setRotation(SegmentLBMid, 0F, 0F, 0F);
SegmentLFMid = new ModelRenderer(this, 48, 19);
SegmentLFMid.addBox(0F, 0F, 0F, 1, 6, 1);
SegmentLFMid.setRotationPoint(3F, 13F, -4F);
SegmentLFMid.setTextureSize(64, 32);
SegmentLFMid.mirror = true;
setRotation(SegmentLFMid, 0F, 0F, 0F);
SegmentRBMid = new ModelRenderer(this, 48, 19);
SegmentRBMid.addBox(0F, 0F, 0F, 1, 6, 1);
SegmentRBMid.setRotationPoint(-4F, 13F, 3F);
SegmentRBMid.setTextureSize(64, 32);
SegmentRBMid.mirror = true;
setRotation(SegmentRBMid, 0F, 0F, 0F);
SegmentRFMid = new ModelRenderer(this, 48, 19);
SegmentRFMid.addBox(0F, 0F, 0F, 1, 6, 1);
SegmentRFMid.setRotationPoint(-4F, 13F, -4F);
SegmentRFMid.setTextureSize(64, 32);
SegmentRFMid.mirror = true;
setRotation(SegmentRFMid, 0F, 0F, 0F);
SegmentMidDiag4 = new ModelRenderer(this, 0, 0);
SegmentMidDiag4.addBox(0F, 0F, 0F, 1, 1, 10);
SegmentMidDiag4.setRotationPoint(-3.99F, 12F, -3F);
SegmentMidDiag4.setTextureSize(64, 32);
SegmentMidDiag4.mirror = true;
setRotation(SegmentMidDiag4, -0.7853982F, 0F, 0F);
SegmentRUMid = new ModelRenderer(this, 48, 12);
SegmentRUMid.addBox(0F, 0F, 0F, 1, 1, 6);
SegmentRUMid.setRotationPoint(-4F, 12F, -3F);
SegmentRUMid.setTextureSize(64, 32);
SegmentRUMid.mirror = true;
setRotation(SegmentRUMid, 0F, 0F, 0F);
SegmentBRMid = new ModelRenderer(this, 48, 12);
SegmentBRMid.addBox(0F, 0F, 0F, 1, 1, 6);
SegmentBRMid.setRotationPoint(-4F, 19F, -3F);
SegmentBRMid.setTextureSize(64, 32);
SegmentBRMid.mirror = true;
setRotation(SegmentBRMid, 0F, 0F, 0F);
SegmentBLMid = new ModelRenderer(this, 48, 12);
SegmentBLMid.addBox(0F, 0F, 0F, 1, 1, 6);
SegmentBLMid.setRotationPoint(3F, 19F, -3F);
SegmentBLMid.setTextureSize(64, 32);
SegmentBLMid.mirror = true;
setRotation(SegmentBLMid, 0F, 0F, 0F);
SegmentLUMid = new ModelRenderer(this, 48, 12);
SegmentLUMid.addBox(0F, 0F, 0F, 1, 1, 6);
SegmentLUMid.setRotationPoint(3F, 12F, -3F);
SegmentLUMid.setTextureSize(64, 32);
SegmentLUMid.mirror = true;
setRotation(SegmentLUMid, 0F, 0F, 0F);
SegmentMidDiag3 = new ModelRenderer(this, 0, 0);
SegmentMidDiag3.addBox(0F, 0F, 0F, 1, 1, 10);
SegmentMidDiag3.setRotationPoint(-4F, 19F, -4F);
SegmentMidDiag3.setTextureSize(64, 32);
SegmentMidDiag3.mirror = true;
setRotation(SegmentMidDiag3, 0.7853982F, 0F, 0F);
SegmentMidDiag7 = new ModelRenderer(this, 0, 0);
SegmentMidDiag7.addBox(0F, 0F, 0F, 1, 1, 10);
SegmentMidDiag7.setRotationPoint(-2.99F, 12F, 4F);
SegmentMidDiag7.setTextureSize(64, 32);
SegmentMidDiag7.mirror = true;
setRotation(SegmentMidDiag7, -0.7853982F, 1.570796F, 0F);
SegmentMidDiag8 = new ModelRenderer(this, 0, 0);
SegmentMidDiag8.addBox(0F, 0F, 0F, 1, 1, 10);
SegmentMidDiag8.setRotationPoint(-4F, 19F, 4F);
SegmentMidDiag8.setTextureSize(64, 32);
SegmentMidDiag8.mirror = true;
setRotation(SegmentMidDiag8, 0.7853982F, 1.570796F, 0F);
SegmentMidDiag1 = new ModelRenderer(this, 0, 0);
SegmentMidDiag1.addBox(0F, 0F, 0F, 1, 1, 10);
SegmentMidDiag1.setRotationPoint(3F, 19F, -4F);
SegmentMidDiag1.setTextureSize(64, 32);
SegmentMidDiag1.mirror = true;
setRotation(SegmentMidDiag1, 0.7853982F, 0F, 0F);
SegmentMidDiag2 = new ModelRenderer(this, 0, 0);
SegmentMidDiag2.addBox(0F, 0F, 0F, 1, 1, 10);
SegmentMidDiag2.setRotationPoint(3.01F, 12F, -3F);
SegmentMidDiag2.setTextureSize(64, 32);
SegmentMidDiag2.mirror = true;
setRotation(SegmentMidDiag2, -0.7853982F, 0F, 0F);
SegmentMidDiag6 = new ModelRenderer(this, 0, 0);
SegmentMidDiag6.addBox(0F, 0F, 0F, 1, 1, 10);
SegmentMidDiag6.setRotationPoint(-4F, 19F, -3F);
SegmentMidDiag6.setTextureSize(64, 32);
SegmentMidDiag6.mirror = true;
setRotation(SegmentMidDiag6, 0.7853982F, 1.570796F, 0F);
SegmentMidDiag5 = new ModelRenderer(this, 0, 0);
SegmentMidDiag5.addBox(0F, 0F, 0F, 1, 1, 10);
SegmentMidDiag5.setRotationPoint(-2.99F, 12F, -3F);
SegmentMidDiag5.setTextureSize(64, 32);
SegmentMidDiag5.mirror = true;
setRotation(SegmentMidDiag5, -0.7853982F, 1.570796F, 0F);
SegmentUBLeft = new ModelRenderer(this, 0, 13);
SegmentUBLeft.addBox(0F, 0F, 0F, 4, 1, 1);
SegmentUBLeft.setRotationPoint(4F, 12F, 3F);
SegmentUBLeft.setTextureSize(64, 32);
SegmentUBLeft.mirror = true;
setRotation(SegmentUBLeft, 0F, 0F, 0F);
SegmentUFLeft = new ModelRenderer(this, 0, 13);
SegmentUFLeft.addBox(0F, 0F, 0F, 4, 1, 1);
SegmentUFLeft.setRotationPoint(4F, 12F, -4F);
SegmentUFLeft.setTextureSize(64, 32);
SegmentUFLeft.mirror = true;
setRotation(SegmentUFLeft, 0F, 0F, 0F);
SegmentBFLeft = new ModelRenderer(this, 0, 13);
SegmentBFLeft.addBox(0F, 0F, 0F, 4, 1, 1);
SegmentBFLeft.setRotationPoint(4F, 19F, -4F);
SegmentBFLeft.setTextureSize(64, 32);
SegmentBFLeft.mirror = true;
setRotation(SegmentBFLeft, 0F, 0F, 0F);
SegmentBBLeft = new ModelRenderer(this, 0, 13);
SegmentBBLeft.addBox(0F, 0F, 0F, 4, 1, 1);
SegmentBBLeft.setRotationPoint(4F, 19F, 3F);
SegmentBBLeft.setTextureSize(64, 32);
SegmentBBLeft.mirror = true;
setRotation(SegmentBBLeft, 0F, 0F, 0F);
fixPositions();
}
// this offsets some positions to avoid Z-Fighting
public void fixPositions()
{
SegmentBLBack.setRotationPoint(3F, 19F, 4F);
SegmentLUBack.setRotationPoint(3F, 12F, 4F);
SegmentRUBack.setRotationPoint(-4F, 12F, 4F);
SegmentBRBack.setRotationPoint(-4F, 19F, 4F);
SegmentBLFront.setRotationPoint(3F, 19F, -8F);
SegmentLUFront.setRotationPoint(3F, 12F, -8F);
SegmentRUFront.setRotationPoint(-4F, 12F, -8F);
SegmentBRFront.setRotationPoint(-4F, 19F, -8F);
SegmentLBUp.setRotationPoint(3F, 8F, 3F);
SegmentRBUp.setRotationPoint(-4F, 8F, 3F);
SegmentLFUp.setRotationPoint(3F, 8F, -4F);
SegmentRFUp.setRotationPoint(-4F, 8F, -4F);
SegmentUBRight.setRotationPoint(-8F, 12F, 3F);
SegmentBFRight.setRotationPoint(-8F, 19F, -4F);
SegmentUFRight.setRotationPoint(-8F, 12F, -4F);
SegmentBBRight.setRotationPoint(-8F, 19F, 3F);
SegmentLFDown.setRotationPoint(3F, 20F, -4F);
SegmentLBDown.setRotationPoint(3F, 20F, 3F);
SegmentRBDown.setRotationPoint(-4F, 20F, 3F);
SegmentRFDown.setRotationPoint(-4F, 20F, -4F);
SegmentBFMid.setRotationPoint(-4F, 19F, -4F);
SegmentUBMid.setRotationPoint(-4F, 12F, 3F);
SegmentBBMid.setRotationPoint(-4F, 19F, 3F);
SegmentUFMid.setRotationPoint(-4F, 12F, -4F);
SegmentLBMid.setRotationPoint(3F, 13F, 3F);
SegmentLFMid.setRotationPoint(3F, 13F, -4F);
SegmentRBMid.setRotationPoint(-4F, 13F, 3F);
SegmentRFMid.setRotationPoint(-4F, 13F, -4F);
SegmentRUMid.setRotationPoint(-4F, 12F, -3F);
SegmentBRMid.setRotationPoint(-4F, 19F, -3F);
SegmentBLMid.setRotationPoint(3F, 19F, -3F);
SegmentLUMid.setRotationPoint(3F, 12F, -3F);
SegmentMidDiag1.setRotationPoint(2.99F, 19.1F, -4F);
SegmentMidDiag2.setRotationPoint(2.99F, 12F, -3.1F);
SegmentMidDiag3.setRotationPoint(-3.99F, 19.1F, -4F);
SegmentMidDiag4.setRotationPoint(-3.99F, 12F, -3.1F);
SegmentMidDiag5.setRotationPoint(-3.1F, 12F, -2.99F);
SegmentMidDiag6.setRotationPoint(-4F, 19.1F, -2.99F);
SegmentMidDiag7.setRotationPoint(-3.1F, 12F, 3.99F);
SegmentMidDiag8.setRotationPoint(-4F, 19F, 3.99F);
SegmentUBLeft.setRotationPoint(4F, 12F, 3F);
SegmentUFLeft.setRotationPoint(4F, 12F, -4F);
SegmentBFLeft.setRotationPoint(4F, 19F, -4F);
SegmentBBLeft.setRotationPoint(4F, 19F, 3F);
}
public void render(boolean up, boolean down, boolean left, boolean right, boolean front, boolean back, boolean foot)
{
float scale = 0.0625f;
if (up)
{
SegmentLBUp.render(scale);
SegmentRBUp.render(scale);
SegmentLFUp.render(scale);
SegmentRFUp.render(scale);
}
if (down)
{
SegmentLFDown.render(scale);
SegmentLBDown.render(scale);
SegmentRBDown.render(scale);
SegmentRFDown.render(scale);
}
if (left)
{
SegmentUBLeft.render(scale);
SegmentUFLeft.render(scale);
SegmentBFLeft.render(scale);
SegmentBBLeft.render(scale);
}
if (right)
{
SegmentUBRight.render(scale);
SegmentBFRight.render(scale);
SegmentUFRight.render(scale);
SegmentBBRight.render(scale);
}
if (front)
{
SegmentBLFront.render(scale);
SegmentLUFront.render(scale);
SegmentRUFront.render(scale);
SegmentBRFront.render(scale);
}
if (back)
{
SegmentBLBack.render(scale);
SegmentLUBack.render(scale);
SegmentRUBack.render(scale);
SegmentBRBack.render(scale);
}
if (foot)
{
FootBottom.render(scale);
FootTop.render(scale);
}
SegmentBFMid.render(scale);
SegmentUBMid.render(scale);
SegmentBBMid.render(scale);
SegmentUFMid.render(scale);
SegmentLBMid.render(scale);
SegmentLFMid.render(scale);
SegmentRBMid.render(scale);
SegmentRFMid.render(scale);
SegmentRUMid.render(scale);
SegmentBRMid.render(scale);
SegmentBLMid.render(scale);
SegmentLUMid.render(scale);
SegmentMidDiag1.render(scale);
SegmentMidDiag2.render(scale);
SegmentMidDiag3.render(scale);
SegmentMidDiag4.render(scale);
SegmentMidDiag5.render(scale);
SegmentMidDiag6.render(scale);
SegmentMidDiag7.render(scale);
SegmentMidDiag8.render(scale);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}

View file

@ -84,6 +84,15 @@ public class BlockRenderingHandler implements ISimpleBlockRenderingHandler
RenderCraneController.MODEL.render(0.0625f);
GL11.glPopMatrix();
}
else if (block.blockID == AssemblyLine.blockCraneRail.blockID){
GL11.glBindTexture(GL11.GL_TEXTURE_2D, FMLClientHandler.instance().getClient().renderEngine.getTexture(AssemblyLine.TEXTURE_PATH + RenderCraneRail.TEXTURE));
GL11.glPushMatrix();
GL11.glTranslatef(0f, 1f, 0f);
GL11.glRotatef(180f, 0f, 0f, 1f);
GL11.glRotatef(-90f, 0f, 1f, 0f);
RenderCraneRail.MODEL.render(true, true, false, false, false, false, false);
GL11.glPopMatrix();
}
}
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)

View file

@ -0,0 +1,46 @@
package assemblyline.client.render;
import static org.lwjgl.opengl.GL11.*;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.ForgeDirection;
import assemblyline.client.model.ModelCraneRail;
import assemblyline.common.AssemblyLine;
import assemblyline.common.machine.crane.CraneHelper;
import assemblyline.common.machine.crane.TileEntityCraneRail;
public class RenderCraneRail extends RenderImprintable
{
public static final String TEXTURE = "craneRail.png";
public static final ModelCraneRail MODEL = new ModelCraneRail();
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f)
{
if (tileEntity != null && tileEntity instanceof TileEntityCraneRail)
{
int tX, tY, tZ;
tX = tileEntity.xCoord;
tY = tileEntity.yCoord;
tZ = tileEntity.zCoord;
boolean renderUp = CraneHelper.canFrameConnectTo(tileEntity, tX, tY + 1, tZ, ForgeDirection.DOWN);
boolean renderDown = CraneHelper.canFrameConnectTo(tileEntity, tX, tY - 1, tZ, ForgeDirection.UP);
//EAST, X-
boolean renderLeft = CraneHelper.canFrameConnectTo(tileEntity, tX - 1, tY, tZ, ForgeDirection.EAST);
//WAST, X+
boolean renderRight = CraneHelper.canFrameConnectTo(tileEntity, tX + 1, tY, tZ, ForgeDirection.WEST);
//SOUTH, Z-
boolean renderFront = CraneHelper.canFrameConnectTo(tileEntity, tX, tY, tZ - 1, ForgeDirection.SOUTH);
//NORTH, Z+
boolean renderBack = CraneHelper.canFrameConnectTo(tileEntity, tX, tY, tZ + 1, ForgeDirection.NORTH);
boolean renderFoot = tileEntity.worldObj.isBlockSolidOnSide(tX, tY - 1, tZ, ForgeDirection.UP);
this.bindTextureByName(AssemblyLine.TEXTURE_PATH + TEXTURE);
glPushMatrix();
glTranslated(x + 0.5, y + 1.5, z + 0.5);
glRotatef(180f, 0f, 0f, 1f);
glEnable(GL_LIGHTING);
MODEL.render(renderUp, renderDown && !renderFoot, renderLeft, renderRight, renderFront, renderBack, renderFoot);
glPopMatrix();
}
}
}

View file

@ -16,6 +16,7 @@ import assemblyline.common.machine.TileEntityRejector;
import assemblyline.common.machine.armbot.TileEntityArmbot;
import assemblyline.common.machine.belt.TileEntityConveyorBelt;
import assemblyline.common.machine.crane.TileEntityCraneController;
import assemblyline.common.machine.crane.TileEntityCraneRail;
import assemblyline.common.machine.detector.TileEntityDetector;
import assemblyline.common.machine.encoder.ContainerEncoder;
import assemblyline.common.machine.encoder.TileEntityEncoder;
@ -45,6 +46,7 @@ public class CommonProxy implements IGuiHandler
GameRegistry.registerTileEntity(TileEntityEncoder.class, "ALEncoder");
GameRegistry.registerTileEntity(TileEntityArmbot.class, "ALArmbot");
GameRegistry.registerTileEntity(TileEntityCraneController.class, "ALCraneController");
GameRegistry.registerTileEntity(TileEntityCraneRail.class, "ALCraneRail");
GameRegistry.registerTileEntity(TileEntityImprinter.class, "ALImprinter");
GameRegistry.registerTileEntity(TileEntityMulti.class, "ALMulti");
}

View file

@ -42,21 +42,25 @@ public class BlockCraneController extends BlockMachine
{
case 0: // WEST
{
System.out.println("Facing west...");
world.setBlockMetadataWithNotify(x, y, z, ForgeDirection.WEST.ordinal());
break;
}
case 1: // NORTH
{
System.out.println("Facing north...");
world.setBlockMetadataWithNotify(x, y, z, ForgeDirection.NORTH.ordinal());
break;
}
case 2: // EAST
{
System.out.println("Facing east...");
world.setBlockMetadataWithNotify(x, y, z, ForgeDirection.EAST.ordinal());
break;
}
default: // SOUTH
{
System.out.println("Facing south...");
world.setBlockMetadataWithNotify(x, y, z, ForgeDirection.SOUTH.ordinal());
break;
}

View file

@ -1,16 +1,161 @@
package assemblyline.common.machine.crane;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import universalelectricity.prefab.BlockMachine;
import assemblyline.client.render.BlockRenderingHandler;
import assemblyline.common.TabAssemblyLine;
public class BlockCraneRail extends BlockMachine
{
public static final int RAIL_META = 0;
public BlockCraneRail(int id)
{
super("CraneParts", id, Material.iron);
// this.setCreativeTab(TabAssemblyLine.INSTANCE);
super("CraneRail", id, Material.iron);
this.setCreativeTab(TabAssemblyLine.INSTANCE);
this.setBlockBounds(0.25f, 0.25f, 0.25f, 0.75f, 0.75f, 0.75f);
}
@Override
@SideOnly(Side.CLIENT)
public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z)
{
return super.getSelectedBoundingBoxFromPool(world, x, y, z);
}
@Override
public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z)
{
TileEntity tE = world.getBlockTileEntity(x, y, z);
if (tE != null && tE instanceof TileEntityCraneRail)
{
AxisAlignedBB middle = AxisAlignedBB.getBoundingBox(0.25f, 0.25f, 0.25f, 0.75f, 0.75f, 0.75f);
AxisAlignedBB up = AxisAlignedBB.getBoundingBox(0.25f, 0.75f, 0.25f, 0.75f, 1.0f, 0.75f);
AxisAlignedBB down = AxisAlignedBB.getBoundingBox(0.25f, 0.0f, 0.25f, 0.75f, 0.25f, 0.75f);
AxisAlignedBB left = AxisAlignedBB.getBoundingBox(0.0f, 0.25f, 0.25f, 0.25f, 0.75f, 0.75f);
AxisAlignedBB right = AxisAlignedBB.getBoundingBox(0.75f, 0.25f, 0.25f, 1.0f, 0.75f, 0.75f);
AxisAlignedBB front = AxisAlignedBB.getBoundingBox(0.25f, 0.25f, 0.0f, 0.75f, 0.75f, 0.25f);
AxisAlignedBB back = AxisAlignedBB.getBoundingBox(0.25f, 0.25f, 0.75f, 0.75f, 0.75f, 1.0f);
boolean connectUp = CraneHelper.canFrameConnectTo(tE, x, y + 1, z, ForgeDirection.DOWN);
boolean connectDown = CraneHelper.canFrameConnectTo(tE, x, y - 1, z, ForgeDirection.UP);
// EAST, X-
boolean connectLeft = CraneHelper.canFrameConnectTo(tE, x - 1, y, z, ForgeDirection.EAST);
// WAST, X+
boolean connectRight = CraneHelper.canFrameConnectTo(tE, x + 1, y, z, ForgeDirection.WEST);
// SOUTH, Z-
boolean connectFront = CraneHelper.canFrameConnectTo(tE, x, y, z - 1, ForgeDirection.SOUTH);
// NORTH, Z+
boolean connectBack = CraneHelper.canFrameConnectTo(tE, x, y, z + 1, ForgeDirection.NORTH);
if (connectUp)
{
middle.maxY = up.maxY;
}
if (connectDown)
{
middle.minY = down.minY;
}
if (connectLeft)
{
middle.minX = left.minX;
}
if (connectRight)
{
middle.maxX = right.maxX;
}
if (connectFront)
{
middle.minZ = front.minZ;
}
if (connectBack)
{
middle.maxZ = back.maxZ;
}
setBlockBounds((float) middle.minX, (float) middle.minY, (float) middle.minZ, (float) middle.maxX, (float) middle.maxY, (float) middle.maxZ);
middle.offset(x, y, z);
return middle;
}
return super.getCollisionBoundingBoxFromPool(world, x, y, z);
}
@Override
public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z)
{
TileEntity tE = world.getBlockTileEntity(x, y, z);
if (tE != null && tE instanceof TileEntityCraneRail)
{
AxisAlignedBB middle = AxisAlignedBB.getBoundingBox(0.25f, 0.25f, 0.25f, 0.75f, 0.75f, 0.75f);
AxisAlignedBB up = AxisAlignedBB.getBoundingBox(0.25f, 0.75f, 0.25f, 0.75f, 1.0f, 0.75f);
AxisAlignedBB down = AxisAlignedBB.getBoundingBox(0.25f, 0.0f, 0.25f, 0.75f, 0.25f, 0.75f);
AxisAlignedBB left = AxisAlignedBB.getBoundingBox(0.0f, 0.25f, 0.25f, 0.25f, 0.75f, 0.75f);
AxisAlignedBB right = AxisAlignedBB.getBoundingBox(0.75f, 0.25f, 0.25f, 1.0f, 0.75f, 0.75f);
AxisAlignedBB front = AxisAlignedBB.getBoundingBox(0.25f, 0.25f, 0.0f, 0.75f, 0.75f, 0.25f);
AxisAlignedBB back = AxisAlignedBB.getBoundingBox(0.25f, 0.25f, 0.75f, 0.75f, 0.75f, 1.0f);
boolean connectUp = CraneHelper.canFrameConnectTo(tE, x, y + 1, z, ForgeDirection.DOWN);
boolean connectDown = CraneHelper.canFrameConnectTo(tE, x, y - 1, z, ForgeDirection.UP);
// EAST, X-
boolean connectLeft = CraneHelper.canFrameConnectTo(tE, x - 1, y, z, ForgeDirection.EAST);
// WAST, X+
boolean connectRight = CraneHelper.canFrameConnectTo(tE, x + 1, y, z, ForgeDirection.WEST);
// SOUTH, Z-
boolean connectFront = CraneHelper.canFrameConnectTo(tE, x, y, z - 1, ForgeDirection.SOUTH);
// NORTH, Z+
boolean connectBack = CraneHelper.canFrameConnectTo(tE, x, y, z + 1, ForgeDirection.NORTH);
if (connectUp)
{
middle.maxY = up.maxY;
}
if (connectDown)
{
middle.minY = down.minY;
}
if (connectLeft)
{
middle.minX = left.minX;
}
if (connectRight)
{
middle.maxX = right.maxX;
}
if (connectFront)
{
middle.minZ = front.minZ;
}
if (connectBack)
{
middle.maxZ = back.maxZ;
}
setBlockBounds((float) middle.minX, (float) middle.minY, (float) middle.minZ, (float) middle.maxX, (float) middle.maxY, (float) middle.maxZ);
return;
}
setBlockBounds(0.25f, 0.25f, 0.25f, 0.75f, 0.75f, 0.75f);
}
@Override
public TileEntity createNewTileEntity(World world, int metadata)
{
return new TileEntityCraneRail();
}
@Override
public boolean renderAsNormalBlock()
{
return false;
}
@Override
public boolean isOpaqueCube()
{
return false;
}
@Override
public int getRenderType()
{
return BlockRenderingHandler.BLOCK_RENDER_ID;
}
}

View file

@ -0,0 +1,28 @@
package assemblyline.common.machine.crane;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.ForgeDirection;
/**
* Manager of crane movement, mapping, setup, but not AI
*
* @author Rseifert
*
*/
public class CraneHelper
{
/**
* The maximum size that a crane can be
*/
public static final int MAX_SIZE = 64;
public static boolean canFrameConnectTo(TileEntity tileEntity, int x, int y, int z, ForgeDirection side)
{
if (tileEntity.worldObj.getBlockTileEntity(x, y, z) != null && tileEntity.worldObj.getBlockTileEntity(x, y, z) instanceof ICraneConnectable)
{
return true;
}
return false;
}
}

View file

@ -1,54 +0,0 @@
package assemblyline.common.machine.crane;
import assemblyline.common.AssemblyLine;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import universalelectricity.core.vector.Vector3;
/**
* Manager of crane movement, mapping, setup, but not AI
* @author Rseifert
*
*/
public class CraneManager
{
protected int ticks = 0;
/** Limits of how far the crane can move on a 2D plane */
public int maxLimitX, minLimitY,maxLimitZ, minLimitZ;
public World world;
public CraneManager()
{
}
/**
* maps out the rail system that the crane will use for movement
*/
public void mapRails()
{
//TODO figure out what i'm going to use as the center point of this mapping first
//Most likely it will be the crane head itself, but this might be trigger by
//the crane controller.
}
/**
* finds if the rail at this location is a rail and lines up with the current direction of the rails
*
* @return true if the rail is good to use
*/
public boolean isValidRail(World world, Vector3 loc, ForgeDirection dir)
{
int id = world.getBlockId(loc.intX(), loc.intY(), loc.intZ());
int meta = world.getBlockMetadata(loc.intX(), loc.intY(), loc.intZ());
//might have to change this meta later if i go with a more complex render that will connect to walls
ForgeDirection facing = ForgeDirection.getOrientation(meta);
if (id == AssemblyLine.blockCraneRail.blockID && (dir == facing || dir == facing.getOpposite()))
{
return true;
}
else
{
return false;
}
}
}

View file

@ -0,0 +1,6 @@
package assemblyline.common.machine.crane;
public interface ICraneConnectable
{
}

View file

@ -1,8 +1,13 @@
package assemblyline.common.machine.crane;
import net.minecraftforge.common.ForgeDirection;
import assemblyline.common.machine.TileEntityAssemblyNetwork;
public class TileEntityCraneController extends TileEntityAssemblyNetwork
public class TileEntityCraneController extends TileEntityAssemblyNetwork implements ICraneConnectable
{
@Override
public void updateEntity()
{
}
}

View file

@ -0,0 +1,8 @@
package assemblyline.common.machine.crane;
import assemblyline.common.machine.TileEntityAssemblyNetwork;
public class TileEntityCraneRail extends TileEntityAssemblyNetwork implements ICraneConnectable
{
}