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

View file

@ -99,9 +99,9 @@ public class ModelCraneController extends ModelBase
setRotation(Decoration4, 0F, 0F, 0F); setRotation(Decoration4, 0F, 0F, 0F);
ConnectorTop.setRotationPoint(-4F, 16F, -4F); ConnectorTop.setRotationPoint(-4F, 16F, -4F);
setRotation(ConnectorTop, 0F, 0F, -1.570796F); 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); setRotation(ConnectorFront, 0F, 1.570796F, 0F);
ConnectorRight.setRotationPoint(0.01F, 12F, -4F); ConnectorRight.setRotationPoint(0.01F, 11.99F, -4F);
setRotation(ConnectorRight, 0F, 0F, 0F); setRotation(ConnectorRight, 0F, 0F, 0F);
Base2.render(scale); 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); RenderCraneController.MODEL.render(0.0625f);
GL11.glPopMatrix(); 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) 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.armbot.TileEntityArmbot;
import assemblyline.common.machine.belt.TileEntityConveyorBelt; import assemblyline.common.machine.belt.TileEntityConveyorBelt;
import assemblyline.common.machine.crane.TileEntityCraneController; import assemblyline.common.machine.crane.TileEntityCraneController;
import assemblyline.common.machine.crane.TileEntityCraneRail;
import assemblyline.common.machine.detector.TileEntityDetector; import assemblyline.common.machine.detector.TileEntityDetector;
import assemblyline.common.machine.encoder.ContainerEncoder; import assemblyline.common.machine.encoder.ContainerEncoder;
import assemblyline.common.machine.encoder.TileEntityEncoder; import assemblyline.common.machine.encoder.TileEntityEncoder;
@ -45,6 +46,7 @@ public class CommonProxy implements IGuiHandler
GameRegistry.registerTileEntity(TileEntityEncoder.class, "ALEncoder"); GameRegistry.registerTileEntity(TileEntityEncoder.class, "ALEncoder");
GameRegistry.registerTileEntity(TileEntityArmbot.class, "ALArmbot"); GameRegistry.registerTileEntity(TileEntityArmbot.class, "ALArmbot");
GameRegistry.registerTileEntity(TileEntityCraneController.class, "ALCraneController"); GameRegistry.registerTileEntity(TileEntityCraneController.class, "ALCraneController");
GameRegistry.registerTileEntity(TileEntityCraneRail.class, "ALCraneRail");
GameRegistry.registerTileEntity(TileEntityImprinter.class, "ALImprinter"); GameRegistry.registerTileEntity(TileEntityImprinter.class, "ALImprinter");
GameRegistry.registerTileEntity(TileEntityMulti.class, "ALMulti"); GameRegistry.registerTileEntity(TileEntityMulti.class, "ALMulti");
} }

View file

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

View file

@ -1,16 +1,161 @@
package assemblyline.common.machine.crane; 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.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 universalelectricity.prefab.BlockMachine;
import assemblyline.client.render.BlockRenderingHandler;
import assemblyline.common.TabAssemblyLine;
public class BlockCraneRail extends BlockMachine public class BlockCraneRail extends BlockMachine
{ {
public static final int RAIL_META = 0;
public BlockCraneRail(int id) public BlockCraneRail(int id)
{ {
super("CraneParts", id, Material.iron); super("CraneRail", id, Material.iron);
// this.setCreativeTab(TabAssemblyLine.INSTANCE); 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; package assemblyline.common.machine.crane;
import net.minecraftforge.common.ForgeDirection;
import assemblyline.common.machine.TileEntityAssemblyNetwork; 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
{
}