From 8f4427d14cb990b168c908e64eb03cf4f0bb8d4b Mon Sep 17 00:00:00 2001 From: Calclavia Date: Sun, 25 Aug 2013 16:59:52 +0800 Subject: [PATCH] Added insulation and colored wires --- models/insulation.tcn | Bin 0 -> 11992 bytes .../textures/models/insulation.png | Bin 0 -> 9996 bytes .../model/ModelInsulation.java | 454 ++++++++++++++++++ src/resonantinduction/render/RenderWire.java | 17 +- src/resonantinduction/wire/BlockWire.java | 26 +- .../wire/TileEntityWire.java | 17 +- 6 files changed, 487 insertions(+), 27 deletions(-) create mode 100644 models/insulation.tcn create mode 100644 resources/assets/resonantinduction/textures/models/insulation.png create mode 100644 src/resonantinduction/model/ModelInsulation.java diff --git a/models/insulation.tcn b/models/insulation.tcn new file mode 100644 index 0000000000000000000000000000000000000000..3d6aa693dcf1314358291cbb1e2d40608e42a102 GIT binary patch literal 11992 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 literal 0 HcmV?d00001 diff --git a/src/resonantinduction/model/ModelInsulation.java b/src/resonantinduction/model/ModelInsulation.java new file mode 100644 index 000000000..80d28c945 --- /dev/null +++ b/src/resonantinduction/model/ModelInsulation.java @@ -0,0 +1,454 @@ +package resonantinduction.model; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +@SideOnly(Side.CLIENT) +public class ModelInsulation extends ModelBase +{ + // fields + ModelRenderer Middle; + ModelRenderer ToBLeft; + ModelRenderer BoBLeft; + ModelRenderer ToBRight; + ModelRenderer BoBRight; + ModelRenderer BoBFront; + ModelRenderer BoBBack; + ModelRenderer ToBFront; + ModelRenderer ToBBack; + ModelRenderer BoTLeft; + ModelRenderer ToTRight; + ModelRenderer BoTRight; + ModelRenderer BoTFront; + ModelRenderer ToTLeft; + ModelRenderer BoTBack; + ModelRenderer ToTBack; + ModelRenderer ToTFront; + ModelRenderer LoFFront; + ModelRenderer BoFBack; + ModelRenderer RoFFront; + ModelRenderer BoFFront; + ModelRenderer ToFBack; + ModelRenderer ToFFront; + ModelRenderer RoFBack; + ModelRenderer LoFBack; + ModelRenderer BoBackBack; + ModelRenderer ToBackBack; + ModelRenderer RoBackBack; + ModelRenderer RoBackFront; + ModelRenderer LoBackFront; + ModelRenderer BoBackFront; + ModelRenderer ToBackFront; + ModelRenderer LoBackFront2; + ModelRenderer BToRLeft; + ModelRenderer FoRRight; + ModelRenderer ToRLeft; + ModelRenderer BToRRight; + ModelRenderer BoRLeft; + ModelRenderer ToRRight; + ModelRenderer FoRLeft; + ModelRenderer BoRRight; + ModelRenderer BoLRight; + ModelRenderer BToLRight; + ModelRenderer FoLLeft; + ModelRenderer ToLRight; + ModelRenderer FoLRight; + ModelRenderer BoLLeft; + ModelRenderer ToLLeft; + ModelRenderer BToLLeft; + + public ModelInsulation() + { + textureWidth = 128; + textureHeight = 128; + + Middle = new ModelRenderer(this, 0, 0); + Middle.addBox(0F, 0F, 0F, 6, 6, 6); + Middle.setRotationPoint(-3F, 13F, -3F); + Middle.setTextureSize(128, 128); + Middle.mirror = true; + setRotation(Middle, 0F, 0F, 0F); + ToBLeft = new ModelRenderer(this, 25, 0); + ToBLeft.addBox(0F, 0F, 0F, 1, 2, 4); + ToBLeft.setRotationPoint(-3F, 19F, -2F); + ToBLeft.setTextureSize(128, 128); + ToBLeft.mirror = true; + setRotation(ToBLeft, 0F, 0F, 0F); + BoBLeft = new ModelRenderer(this, 25, 0); + BoBLeft.addBox(0F, 0F, 0F, 1, 2, 4); + BoBLeft.setRotationPoint(-3F, 22F, -2F); + BoBLeft.setTextureSize(128, 128); + BoBLeft.mirror = true; + setRotation(BoBLeft, 0F, 0F, 0F); + ToBRight = new ModelRenderer(this, 36, 0); + ToBRight.addBox(0F, 0F, 0F, 1, 2, 4); + ToBRight.setRotationPoint(2F, 19F, -2F); + ToBRight.setTextureSize(128, 128); + ToBRight.mirror = true; + setRotation(ToBRight, 0F, 0F, 0F); + BoBRight = new ModelRenderer(this, 36, 0); + BoBRight.addBox(0F, 0F, 0F, 1, 2, 4); + BoBRight.setRotationPoint(2F, 22F, -2F); + BoBRight.setTextureSize(128, 128); + BoBRight.mirror = true; + setRotation(BoBRight, 0F, 0F, 0F); + BoBFront = new ModelRenderer(this, 25, 7); + BoBFront.addBox(0F, 0F, 0F, 6, 2, 1); + BoBFront.setRotationPoint(-3F, 22F, -3F); + BoBFront.setTextureSize(128, 128); + BoBFront.mirror = true; + setRotation(BoBFront, 0F, 0F, 0F); + BoBBack = new ModelRenderer(this, 40, 7); + BoBBack.addBox(0F, 0F, 0F, 6, 2, 1); + BoBBack.setRotationPoint(-3F, 22F, 2F); + BoBBack.setTextureSize(128, 128); + BoBBack.mirror = true; + setRotation(BoBBack, 0F, 0F, 0F); + ToBFront = new ModelRenderer(this, 25, 7); + ToBFront.addBox(0F, 0F, 0F, 6, 2, 1); + ToBFront.setRotationPoint(-3F, 19F, -3F); + ToBFront.setTextureSize(128, 128); + ToBFront.mirror = true; + setRotation(ToBFront, 0F, 0F, 0F); + ToBBack = new ModelRenderer(this, 40, 7); + ToBBack.addBox(0F, 0F, 0F, 6, 2, 1); + ToBBack.setRotationPoint(-3F, 19F, 2F); + ToBBack.setTextureSize(128, 128); + ToBBack.mirror = true; + setRotation(ToBBack, 0F, 0F, 0F); + BoTLeft = new ModelRenderer(this, 57, 0); + BoTLeft.addBox(0F, 0F, 0F, 1, 2, 4); + BoTLeft.setRotationPoint(-3F, 11F, -2F); + BoTLeft.setTextureSize(128, 128); + BoTLeft.mirror = true; + setRotation(BoTLeft, 0F, 0F, 0F); + ToTRight = new ModelRenderer(this, 68, 0); + ToTRight.addBox(0F, 0F, 0F, 1, 2, 4); + ToTRight.setRotationPoint(2F, 8F, -2F); + ToTRight.setTextureSize(128, 128); + ToTRight.mirror = true; + setRotation(ToTRight, 0F, 0F, 0F); + BoTRight = new ModelRenderer(this, 68, 0); + BoTRight.addBox(0F, 0F, 0F, 1, 2, 4); + BoTRight.setRotationPoint(2F, 11F, -2F); + BoTRight.setTextureSize(128, 128); + BoTRight.mirror = true; + setRotation(BoTRight, 0F, 0F, 0F); + BoTFront = new ModelRenderer(this, 57, 7); + BoTFront.addBox(0F, 0F, 0F, 6, 2, 1); + BoTFront.setRotationPoint(-3F, 11F, -3F); + BoTFront.setTextureSize(128, 128); + BoTFront.mirror = true; + setRotation(BoTFront, 0F, 0F, 0F); + ToTLeft = new ModelRenderer(this, 57, 0); + ToTLeft.addBox(0F, 0F, 0F, 1, 2, 4); + ToTLeft.setRotationPoint(-3F, 8F, -2F); + ToTLeft.setTextureSize(128, 128); + ToTLeft.mirror = true; + setRotation(ToTLeft, 0F, 0F, 0F); + BoTBack = new ModelRenderer(this, 72, 7); + BoTBack.addBox(0F, 0F, 0F, 6, 2, 1); + BoTBack.setRotationPoint(-3F, 11F, 2F); + BoTBack.setTextureSize(128, 128); + BoTBack.mirror = true; + setRotation(BoTBack, 0F, 0F, 0F); + ToTBack = new ModelRenderer(this, 72, 7); + ToTBack.addBox(0F, 0F, 0F, 6, 2, 1); + ToTBack.setRotationPoint(-3F, 8F, 2F); + ToTBack.setTextureSize(128, 128); + ToTBack.mirror = true; + setRotation(ToTBack, 0F, 0F, 0F); + ToTFront = new ModelRenderer(this, 57, 7); + ToTFront.addBox(0F, 0F, 0F, 6, 2, 1); + ToTFront.setRotationPoint(-3F, 8F, -3F); + ToTFront.setTextureSize(128, 128); + ToTFront.mirror = true; + setRotation(ToTFront, 0F, 0F, 0F); + LoFFront = new ModelRenderer(this, 25, 14); + LoFFront.addBox(0F, 0F, 0F, 1, 4, 2); + LoFFront.setRotationPoint(-3F, 14F, -8F); + LoFFront.setTextureSize(128, 128); + LoFFront.mirror = true; + setRotation(LoFFront, 0F, 0F, 0F); + BoFBack = new ModelRenderer(this, 32, 14); + BoFBack.addBox(0F, 0F, 0F, 6, 1, 2); + BoFBack.setRotationPoint(-3F, 18F, -5F); + BoFBack.setTextureSize(128, 128); + BoFBack.mirror = true; + setRotation(BoFBack, 0F, 0F, 0F); + RoFFront = new ModelRenderer(this, 25, 21); + RoFFront.addBox(0F, 0F, 0F, 1, 4, 2); + RoFFront.setRotationPoint(2F, 14F, -8F); + RoFFront.setTextureSize(128, 128); + RoFFront.mirror = true; + setRotation(RoFFront, 0F, 0F, 0F); + BoFFront = new ModelRenderer(this, 32, 14); + BoFFront.addBox(0F, 0F, 0F, 6, 1, 2); + BoFFront.setRotationPoint(-3F, 18F, -8F); + BoFFront.setTextureSize(128, 128); + BoFFront.mirror = true; + setRotation(BoFFront, 0F, 0F, 0F); + ToFBack = new ModelRenderer(this, 32, 18); + ToFBack.addBox(0F, 0F, 0F, 6, 1, 2); + ToFBack.setRotationPoint(-3F, 13F, -5F); + ToFBack.setTextureSize(128, 128); + ToFBack.mirror = true; + setRotation(ToFBack, 0F, 0F, 0F); + ToFFront = new ModelRenderer(this, 32, 18); + ToFFront.addBox(0F, 0F, 0F, 6, 1, 2); + ToFFront.setRotationPoint(-3F, 13F, -8F); + ToFFront.setTextureSize(128, 128); + ToFFront.mirror = true; + setRotation(ToFFront, 0F, 0F, 0F); + RoFBack = new ModelRenderer(this, 25, 21); + RoFBack.addBox(0F, 0F, 0F, 1, 4, 2); + RoFBack.setRotationPoint(2F, 14F, -5F); + RoFBack.setTextureSize(128, 128); + RoFBack.mirror = true; + setRotation(RoFBack, 0F, 0F, 0F); + LoFBack = new ModelRenderer(this, 25, 14); + LoFBack.addBox(0F, 0F, 0F, 1, 4, 2); + LoFBack.setRotationPoint(-3F, 14F, -5F); + LoFBack.setTextureSize(128, 128); + LoFBack.mirror = true; + setRotation(LoFBack, 0F, 0F, 0F); + BoBackBack = new ModelRenderer(this, 57, 14); + BoBackBack.addBox(0F, 0F, 0F, 6, 1, 2); + BoBackBack.setRotationPoint(-3F, 18F, 6F); + BoBackBack.setTextureSize(128, 128); + BoBackBack.mirror = true; + setRotation(BoBackBack, 0F, 0F, 0F); + ToBackBack = new ModelRenderer(this, 57, 18); + ToBackBack.addBox(0F, 0F, 0F, 6, 1, 2); + ToBackBack.setRotationPoint(-3F, 13F, 6F); + ToBackBack.setTextureSize(128, 128); + ToBackBack.mirror = true; + setRotation(ToBackBack, 0F, 0F, 0F); + RoBackBack = new ModelRenderer(this, 74, 14); + RoBackBack.addBox(0F, 0F, 0F, 1, 4, 2); + RoBackBack.setRotationPoint(-3F, 14F, 6F); + RoBackBack.setTextureSize(128, 128); + RoBackBack.mirror = true; + setRotation(RoBackBack, 0F, 0F, 0F); + RoBackFront = new ModelRenderer(this, 74, 14); + RoBackFront.addBox(0F, 0F, 0F, 1, 4, 2); + RoBackFront.setRotationPoint(-3F, 14F, 3F); + RoBackFront.setTextureSize(128, 128); + RoBackFront.mirror = true; + setRotation(RoBackFront, 0F, 0F, 0F); + LoBackFront = new ModelRenderer(this, 74, 21); + LoBackFront.addBox(0F, 0F, 0F, 1, 4, 2); + LoBackFront.setRotationPoint(2F, 14F, 3F); + LoBackFront.setTextureSize(128, 128); + LoBackFront.mirror = true; + setRotation(LoBackFront, 0F, 0F, 0F); + BoBackFront = new ModelRenderer(this, 57, 14); + BoBackFront.addBox(0F, 0F, 0F, 6, 1, 2); + BoBackFront.setRotationPoint(-3F, 18F, 3F); + BoBackFront.setTextureSize(128, 128); + BoBackFront.mirror = true; + setRotation(BoBackFront, 0F, 0F, 0F); + ToBackFront = new ModelRenderer(this, 57, 18); + ToBackFront.addBox(0F, 0F, 0F, 6, 1, 2); + ToBackFront.setRotationPoint(-3F, 13F, 3F); + ToBackFront.setTextureSize(128, 128); + ToBackFront.mirror = true; + setRotation(ToBackFront, 0F, 0F, 0F); + LoBackFront2 = new ModelRenderer(this, 74, 21); + LoBackFront2.addBox(0F, 0F, 0F, 1, 4, 2); + LoBackFront2.setRotationPoint(2F, 14F, 6F); + LoBackFront2.setTextureSize(128, 128); + LoBackFront2.mirror = true; + setRotation(LoBackFront2, 0F, 0F, 0F); + BToRLeft = new ModelRenderer(this, 0, 30); + BToRLeft.addBox(0F, 0F, 0F, 2, 1, 4); + BToRLeft.setRotationPoint(3F, 18F, -2F); + BToRLeft.setTextureSize(128, 128); + BToRLeft.mirror = true; + setRotation(BToRLeft, 0F, 0F, 0F); + FoRRight = new ModelRenderer(this, 0, 22); + FoRRight.addBox(0F, 0F, 0F, 2, 6, 1); + FoRRight.setRotationPoint(6F, 13F, -3F); + FoRRight.setTextureSize(128, 128); + FoRRight.mirror = true; + setRotation(FoRRight, 0F, 0F, 0F); + ToRLeft = new ModelRenderer(this, 0, 36); + ToRLeft.addBox(0F, 0F, 0F, 2, 1, 4); + ToRLeft.setRotationPoint(3F, 13F, -2F); + ToRLeft.setTextureSize(128, 128); + ToRLeft.mirror = true; + setRotation(ToRLeft, 0F, 0F, 0F); + BToRRight = new ModelRenderer(this, 0, 30); + BToRRight.addBox(0F, 0F, 0F, 2, 1, 4); + BToRRight.setRotationPoint(6F, 18F, -2F); + BToRRight.setTextureSize(128, 128); + BToRRight.mirror = true; + setRotation(BToRRight, 0F, 0F, 0F); + BoRLeft = new ModelRenderer(this, 7, 22); + BoRLeft.addBox(0F, 0F, 0F, 2, 6, 1); + BoRLeft.setRotationPoint(3F, 13F, 2F); + BoRLeft.setTextureSize(128, 128); + BoRLeft.mirror = true; + setRotation(BoRLeft, 0F, 0F, 0F); + ToRRight = new ModelRenderer(this, 0, 36); + ToRRight.addBox(0F, 0F, 0F, 2, 1, 4); + ToRRight.setRotationPoint(6F, 13F, -2F); + ToRRight.setTextureSize(128, 128); + ToRRight.mirror = true; + setRotation(ToRRight, 0F, 0F, 0F); + FoRLeft = new ModelRenderer(this, 0, 22); + FoRLeft.addBox(0F, 0F, 0F, 2, 6, 1); + FoRLeft.setRotationPoint(3F, 13F, -3F); + FoRLeft.setTextureSize(128, 128); + FoRLeft.mirror = true; + setRotation(FoRLeft, 0F, 0F, 0F); + BoRRight = new ModelRenderer(this, 7, 22); + BoRRight.addBox(0F, 0F, 0F, 2, 6, 1); + BoRRight.setRotationPoint(6F, 13F, 2F); + BoRRight.setTextureSize(128, 128); + BoRRight.mirror = true; + setRotation(BoRRight, 0F, 0F, 0F); + BoLRight = new ModelRenderer(this, 0, 45); + BoLRight.addBox(0F, 0F, 0F, 2, 6, 1); + BoLRight.setRotationPoint(-5F, 13F, 2F); + BoLRight.setTextureSize(128, 128); + BoLRight.mirror = true; + setRotation(BoLRight, 0F, 0F, 0F); + BToLRight = new ModelRenderer(this, 0, 53); + BToLRight.addBox(0F, 0F, 0F, 2, 1, 4); + BToLRight.setRotationPoint(-5F, 18F, -2F); + BToLRight.setTextureSize(128, 128); + BToLRight.mirror = true; + setRotation(BToLRight, 0F, 0F, 0F); + FoLLeft = new ModelRenderer(this, 7, 45); + FoLLeft.addBox(0F, 0F, 0F, 2, 6, 1); + FoLLeft.setRotationPoint(-8F, 13F, -3F); + FoLLeft.setTextureSize(128, 128); + FoLLeft.mirror = true; + setRotation(FoLLeft, 0F, 0F, 0F); + ToLRight = new ModelRenderer(this, 0, 59); + ToLRight.addBox(0F, 0F, 0F, 2, 1, 4); + ToLRight.setRotationPoint(-5F, 13F, -2F); + ToLRight.setTextureSize(128, 128); + ToLRight.mirror = true; + setRotation(ToLRight, 0F, 0F, 0F); + FoLRight = new ModelRenderer(this, 7, 45); + FoLRight.addBox(0F, 0F, 0F, 2, 6, 1); + FoLRight.setRotationPoint(-5F, 13F, -3F); + FoLRight.setTextureSize(128, 128); + FoLRight.mirror = true; + setRotation(FoLRight, 0F, 0F, 0F); + BoLLeft = new ModelRenderer(this, 0, 45); + BoLLeft.addBox(0F, 0F, 0F, 2, 6, 1); + BoLLeft.setRotationPoint(-8F, 13F, 2F); + BoLLeft.setTextureSize(128, 128); + BoLLeft.mirror = true; + setRotation(BoLLeft, 0F, 0F, 0F); + ToLLeft = new ModelRenderer(this, 0, 59); + ToLLeft.addBox(0F, 0F, 0F, 2, 1, 4); + ToLLeft.setRotationPoint(-8F, 13F, -2F); + ToLLeft.setTextureSize(128, 128); + ToLLeft.mirror = true; + setRotation(ToLLeft, 0F, 0F, 0F); + BToLLeft = new ModelRenderer(this, 0, 53); + BToLLeft.addBox(0F, 0F, 0F, 2, 1, 4); + BToLLeft.setRotationPoint(-8F, 18F, -2F); + BToLLeft.setTextureSize(128, 128); + BToLLeft.mirror = true; + setRotation(BToLLeft, 0F, 0F, 0F); + } + + public void renderMiddle(float f5) + { + Middle.render(f5); + } + + public void renderBottom(float f5) + { + ToBLeft.render(f5); + BoBLeft.render(f5); + ToBRight.render(f5); + BoBRight.render(f5); + BoBFront.render(f5); + BoBBack.render(f5); + ToBFront.render(f5); + ToBBack.render(f5); + } + + public void renderTop(float f5) + { + BoTLeft.render(f5); + ToTRight.render(f5); + BoTRight.render(f5); + BoTFront.render(f5); + ToTLeft.render(f5); + BoTBack.render(f5); + ToTBack.render(f5); + ToTFront.render(f5); + } + + public void renderLeft(float f5) + { + BoLRight.render(f5); + BToLRight.render(f5); + FoLLeft.render(f5); + ToLRight.render(f5); + FoLRight.render(f5); + BoLLeft.render(f5); + ToLLeft.render(f5); + BToLLeft.render(f5); + } + + public void renderRight(float f5) + { + BToRLeft.render(f5); + FoRRight.render(f5); + ToRLeft.render(f5); + BToRRight.render(f5); + BoRLeft.render(f5); + ToRRight.render(f5); + FoRLeft.render(f5); + BoRRight.render(f5); + } + + public void renderBack(float f5) + { + BoBackBack.render(f5); + ToBackBack.render(f5); + RoBackBack.render(f5); + RoBackFront.render(f5); + LoBackFront.render(f5); + BoBackFront.render(f5); + ToBackFront.render(f5); + LoBackFront2.render(f5); + } + + public void renderFront(float f5) + { + LoFFront.render(f5); + BoFBack.render(f5); + RoFFront.render(f5); + BoFFront.render(f5); + ToFBack.render(f5); + ToFFront.render(f5); + RoFBack.render(f5); + LoFBack.render(f5); + + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + @Override + public void setRotationAngles(float x, float y, float z, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(x, y, z, f3, f4, f5, entity); + } +} diff --git a/src/resonantinduction/render/RenderWire.java b/src/resonantinduction/render/RenderWire.java index 2739686a1..662d850bd 100644 --- a/src/resonantinduction/render/RenderWire.java +++ b/src/resonantinduction/render/RenderWire.java @@ -7,6 +7,7 @@ import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; import resonantinduction.ResonantInduction; +import resonantinduction.model.ModelInsulation; import resonantinduction.model.ModelWire; import resonantinduction.wire.EnumWireMaterial; import resonantinduction.wire.TileEntityWire; @@ -27,7 +28,7 @@ public class RenderWire extends TileEntitySpecialRenderer private static final ResourceLocation WIRE_TEXTURE = new ResourceLocation(ResonantInduction.DOMAIN, ResonantInduction.MODEL_TEXTURE_DIRECTORY + "wire.png"); private static final ResourceLocation INSULATION_TEXTURE = new ResourceLocation(ResonantInduction.DOMAIN, ResonantInduction.MODEL_TEXTURE_DIRECTORY + "insulation.png"); public static final ModelWire WIRE_MODEL = new ModelWire(); - public static final ModelWire INSULATION_MODEL = new ModelWire(); + public static final ModelInsulation INSULATION_MODEL = new ModelInsulation(); public void renderModelAt(TileEntityWire tileEntity, double x, double y, double z, float f) { @@ -89,36 +90,36 @@ public class RenderWire extends TileEntitySpecialRenderer { if (adjacentConnections[0] != null) { - INSULATION_MODEL.renderBottom(); + INSULATION_MODEL.renderBottom(0.0625f); } if (adjacentConnections[1] != null) { - INSULATION_MODEL.renderTop(); + INSULATION_MODEL.renderTop(0.0625f); } if (adjacentConnections[2] != null) { - INSULATION_MODEL.renderBack(); + INSULATION_MODEL.renderBack(0.0625f); } if (adjacentConnections[3] != null) { - INSULATION_MODEL.renderFront(); + INSULATION_MODEL.renderFront(0.0625f); } if (adjacentConnections[4] != null) { - INSULATION_MODEL.renderLeft(); + INSULATION_MODEL.renderLeft(0.0625f); } if (adjacentConnections[5] != null) { - INSULATION_MODEL.renderRight(); + INSULATION_MODEL.renderRight(0.0625f); } } - INSULATION_MODEL.renderMiddle(); + INSULATION_MODEL.renderMiddle(0.0625f); } GL11.glPopMatrix(); diff --git a/src/resonantinduction/wire/BlockWire.java b/src/resonantinduction/wire/BlockWire.java index 1f287a7a3..1636723a9 100644 --- a/src/resonantinduction/wire/BlockWire.java +++ b/src/resonantinduction/wire/BlockWire.java @@ -1,9 +1,9 @@ package resonantinduction.wire; -import java.util.ArrayList; import java.util.List; import net.minecraft.block.Block; +import net.minecraft.block.BlockColored; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -51,6 +51,12 @@ public class BlockWire extends BlockConductor tileEntity.setDye(entityPlayer.getCurrentEquippedItem().getItemDamage()); return true; } + else if (entityPlayer.getCurrentEquippedItem().itemID == Block.cloth.blockID) + { + tileEntity.setInsulated(); + tileEntity.setDye(BlockColored.getDyeFromBlock(entityPlayer.getCurrentEquippedItem().getItemDamage())); + return true; + } } if (!world.isRemote) @@ -133,21 +139,9 @@ public class BlockWire extends BlockConductor } } - /** - * This returns a complete list of items dropped from this block. - * - * @param world The current world - * @param x X Position - * @param y Y Position - * @param z Z Position - * @param metadata Current metadata - * @param fortune Breakers fortune level - * @return A ArrayList containing all items this block drops - */ @Override - public ArrayList getBlockDropped(World world, int x, int y, int z, int metadata, int fortune) + public void breakBlock(World world, int x, int y, int z, int par5, int par6) { - ArrayList ret = super.getBlockDropped(world, x, y, z, metadata, fortune); TileEntity t = world.getBlockTileEntity(x, y, z); /** @@ -159,10 +153,10 @@ public class BlockWire extends BlockConductor if (tileEntity.isInsulated) { - ret.add(new ItemStack(Block.cloth)); + this.dropBlockAsItem_do(world, x, y, z, new ItemStack(Block.cloth, 1, BlockColored.getBlockFromDye(tileEntity.dyeID))); } } - return ret; + super.breakBlock(world, x, y, z, par5, par6); } } \ No newline at end of file diff --git a/src/resonantinduction/wire/TileEntityWire.java b/src/resonantinduction/wire/TileEntityWire.java index 3f2c6f987..904421eb8 100644 --- a/src/resonantinduction/wire/TileEntityWire.java +++ b/src/resonantinduction/wire/TileEntityWire.java @@ -17,7 +17,8 @@ import com.google.common.io.ByteArrayDataInput; public class TileEntityWire extends TileEntityUniversalConductor implements IPacketReceiver { - public int dyeID = -1; + public static final int DEFAULT_COLOR = 16; + public int dyeID = DEFAULT_COLOR; public boolean isInsulated = false; @Override @@ -34,7 +35,7 @@ public class TileEntityWire extends TileEntityUniversalConductor implements IPac { TileEntityWire tileWire = (TileEntityWire) connectPos.getTileEntity(this.worldObj); - if ((tileWire.isInsulated && this.isInsulated && tileWire.dyeID != this.dyeID && this.dyeID != -1) || connectPos.getBlockMetadata(this.worldObj) != this.getTypeID()) + if ((tileWire.isInsulated && this.isInsulated && tileWire.dyeID != this.dyeID && this.dyeID != DEFAULT_COLOR && tileWire.dyeID != DEFAULT_COLOR) || connectPos.getBlockMetadata(this.worldObj) != this.getTypeID()) { return false; } @@ -102,10 +103,17 @@ public class TileEntityWire extends TileEntityUniversalConductor implements IPac this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord); } + public void setInsulated() + { + this.isInsulated = true; + this.refresh(); + this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord); + } + @Override public Packet getDescriptionPacket() { - return PacketHandler.getTileEntityPacket(this, this.dyeID); + return PacketHandler.getTileEntityPacket(this, this.isInsulated, this.dyeID); } @Override @@ -113,6 +121,7 @@ public class TileEntityWire extends TileEntityUniversalConductor implements IPac { try { + this.isInsulated = input.readBoolean(); this.dyeID = input.readInt(); } catch (Exception e) @@ -129,6 +138,7 @@ public class TileEntityWire extends TileEntityUniversalConductor implements IPac { super.readFromNBT(nbt); this.dyeID = nbt.getInteger("dyeID"); + this.isInsulated = nbt.getBoolean("isInsulated"); } /** @@ -139,6 +149,7 @@ public class TileEntityWire extends TileEntityUniversalConductor implements IPac { super.writeToNBT(nbt); nbt.setInteger("dyeID", this.dyeID); + nbt.setBoolean("isInsulated", this.isInsulated); } @Override