From e34ef8e294712fde12b9793f60284d11c8ca9924 Mon Sep 17 00:00:00 2001 From: Calclavia Date: Fri, 18 Apr 2014 18:14:40 +0800 Subject: [PATCH 1/2] Finished mechanical piston render and model --- .../crusher/RenderMechanicalPiston.java | 68 ++++++++++-------- .../models/piston/mechanicalPiston.tcn | Bin 0 -> 4800 bytes .../piston/mechanicalPiston_diamond.png | Bin 0 -> 4063 bytes .../models/piston/mechanicalPiston_iron.png | Bin 0 -> 3827 bytes .../models/piston/mechanicalPiston_stone.png | Bin 0 -> 3865 bytes .../models/piston/mechanicalPiston_wood.png | Bin 0 -> 3952 bytes .../models/piston/mechanicalPiston_wool.png | Bin 0 -> 4203 bytes .../textures/blocks/quantumGate.png | Bin 1317 -> 0 bytes 8 files changed, 39 insertions(+), 29 deletions(-) create mode 100644 src/main/resources/assets/resonantinduction/models/piston/mechanicalPiston.tcn create mode 100644 src/main/resources/assets/resonantinduction/models/piston/mechanicalPiston_diamond.png create mode 100644 src/main/resources/assets/resonantinduction/models/piston/mechanicalPiston_iron.png create mode 100644 src/main/resources/assets/resonantinduction/models/piston/mechanicalPiston_stone.png create mode 100644 src/main/resources/assets/resonantinduction/models/piston/mechanicalPiston_wood.png create mode 100644 src/main/resources/assets/resonantinduction/models/piston/mechanicalPiston_wool.png delete mode 100644 src/main/resources/assets/resonantinduction/textures/blocks/quantumGate.png diff --git a/mechanical/src/main/scala/resonantinduction/mechanical/process/crusher/RenderMechanicalPiston.java b/mechanical/src/main/scala/resonantinduction/mechanical/process/crusher/RenderMechanicalPiston.java index 0e1cd145..1a920d69 100644 --- a/mechanical/src/main/scala/resonantinduction/mechanical/process/crusher/RenderMechanicalPiston.java +++ b/mechanical/src/main/scala/resonantinduction/mechanical/process/crusher/RenderMechanicalPiston.java @@ -1,23 +1,23 @@ package resonantinduction.mechanical.process.crusher; +import calclavia.lib.render.RenderUtility; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.AdvancedModelLoader; import net.minecraftforge.client.model.IModelCustom; - +import net.minecraftforge.common.ForgeDirection; +import org.apache.commons.lang3.ArrayUtils; import org.lwjgl.opengl.GL11; - import resonantinduction.core.Reference; -import calclavia.lib.render.RenderUtility; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class RenderMechanicalPiston extends TileEntitySpecialRenderer { - public static final IModelCustom MODEL = AdvancedModelLoader.loadModel(Reference.MODEL_DIRECTORY + "rejector.tcn"); - public static ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_PATH + "rejector.png"); + public static final IModelCustom MODEL = AdvancedModelLoader.loadModel(Reference.MODEL_DIRECTORY + "piston/mechanicalPiston.tcn"); + public static ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_PATH + "piston/mechanicalPiston_iron.png"); @Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) @@ -25,43 +25,53 @@ public class RenderMechanicalPiston extends TileEntitySpecialRenderer GL11.glPushMatrix(); GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5); TileMechanicalPiston tile = (TileMechanicalPiston) tileEntity; + GL11.glRotated(-90, 0, 1, 0); + GL11.glRotated(180, 0, 0, 1); if (tile.worldObj != null) + { RenderUtility.rotateBlockBasedOnDirection(tile.getDirection()); + } RenderUtility.bind(TEXTURE); // Angle in radians of the rotor. - float angle = (float) tile.mechanicalNode.angle; - float radius = 0.5f; - // Length of piston arm - float length = 0.8f; - - double beta = Math.asin((radius * Math.sin(angle)) / (length / 2)); - - /** - * Render Piston Rod - */ - GL11.glPushMatrix(); - double pistonTranslateX = 2 * length * Math.cos(beta); - double pistonTranslateY = 2 * length * Math.sin(beta); - - GL11.glTranslated(0, pistonTranslateY, pistonTranslateX); - GL11.glRotated(-Math.toDegrees(beta), 1, 0, 0); - // MODEL.renderOnly("PistonShaft", "PistonFace", "PistonFace2"); - GL11.glPopMatrix(); + double angle = tile.mechanicalNode.angle; + final String[] staticParts = { "baseRing", "leg1", "leg2", "leg3", "leg4", "connector", "basePlate", "basePlateTop", "connectorBar", "centerPiston" }; + final String[] shaftParts = { "topPlate", "outerPiston" }; /** * Render Piston Rotor */ GL11.glPushMatrix(); - // TODO: Temporary, unless new models come out. - GL11.glTranslated(0, 0, (0.06 * Math.sin(angle)) - 0.01); - MODEL.renderOnly("PistonShaft", "PistonFace", "PistonFace2"); + GL11.glRotated(-Math.toDegrees(angle), 0, 0, 1); + MODEL.renderAllExcept(ArrayUtils.addAll(shaftParts, staticParts)); GL11.glPopMatrix(); - MODEL.renderAllExcept("PistonShaft", "PistonFace", "PistonFace2"); + /** + * Render Piston Shaft + */ + GL11.glPushMatrix(); + + if (tile.worldObj != null) + { + ForgeDirection dir = tile.getDirection(); + + if (tile.world().isAirBlock(tile.x() + dir.offsetX, tile.y() + dir.offsetY, tile.z() + dir.offsetZ)) + { + GL11.glTranslated(0, 0, (0.4 * Math.sin(angle)) - 0.5); + } + else + { + GL11.glTranslated(0, 0, (0.06 * Math.sin(angle)) - 0.03); + } + } + + MODEL.renderOnly(shaftParts); + GL11.glPopMatrix(); + + MODEL.renderOnly(staticParts); GL11.glPopMatrix(); } } \ No newline at end of file diff --git a/src/main/resources/assets/resonantinduction/models/piston/mechanicalPiston.tcn b/src/main/resources/assets/resonantinduction/models/piston/mechanicalPiston.tcn new file mode 100644 index 0000000000000000000000000000000000000000..f298fed292d7d4fdb80cc92544db290f9c5bdc67 GIT binary patch literal 4800 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 a4by+0GqoU(aQ@AK`FA@0;wjm`uYUnzy9|K< literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/resonantinduction/models/piston/mechanicalPiston_diamond.png b/src/main/resources/assets/resonantinduction/models/piston/mechanicalPiston_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..84a9456a2281c5490acd7f221cab79092f3258d9 GIT binary patch literal 4063 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 H>67#y{l&}1 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/resonantinduction/models/piston/mechanicalPiston_stone.png b/src/main/resources/assets/resonantinduction/models/piston/mechanicalPiston_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..4599d35276e7ed8a3b7c112734cb95123cef8085 GIT binary patch literal 3865 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/resonantinduction/models/piston/mechanicalPiston_wood.png b/src/main/resources/assets/resonantinduction/models/piston/mechanicalPiston_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..405ad5fdf390268228b99a7340380ee44ef94762 GIT binary patch literal 3952 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 QJO99@hUTcJ`i`Oh0TBcEpa1{> literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/resonantinduction/models/piston/mechanicalPiston_wool.png b/src/main/resources/assets/resonantinduction/models/piston/mechanicalPiston_wool.png new file mode 100644 index 0000000000000000000000000000000000000000..075d47d4c43844eca6dec05fb8a5a002659938c8 GIT binary patch literal 4203 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 LEewmX&N2T19biAt literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/resonantinduction/textures/blocks/quantumGate.png b/src/main/resources/assets/resonantinduction/textures/blocks/quantumGate.png deleted file mode 100644 index 83b52a4044dffc21e41f972979c416b95f9e1922..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1317 zcmV+=1={+FP)N2bPDNB8 zb~7$DE-^7j^FlWO00f~)L_t(YOSM*MQ=4TJ^)KY5VTxHvAb~=HEa{^Dxu!auj#Dh1 ziX}!$jH9vzNRvPsD9|#~mQJN0N&%_UQCgOQ5L%X~GoJT7Pi_|d+VkPgz2}~L&-1)l z->Z7Z&<*T%yR#HvY&M(2;Xr~|oPcM}ggK(s0CUb_&;J-uAtI5I1Vm7*l!PQl0A(OG zrETNKbwfLz*mmu}7H0(9qA$w><>~IVz{E*lBIi$LNkYkm%76t}sN2R5eaSuN4=<}C zYp&jxr+a>73*c}uKx$n})^C6F-Oje&Is9PsO;hp!Bo_h&1E{gRHFM-o9e87}$#4aL z7C=V8mMRQ*2DjaP8)xD>7-v@*ut2*pvF91wVu=ApZf7oJG3ZUcW?<8o$a-UHi85f@ z9A3tw*C+C)1CaCWfh`};{PWShTwpBQl29^%aR%K6XFoe}+>$=zY~coIydQafCcbN| z)q9ehy?cBPGh+w-ku7(0$@SHIZFISDcr$P(dv5Xsdm*C%NAQ9-|JML;^{&^C>@XL2 z`(9W(A8Q@6crh`6s~`fEoe#ay)u!Ri3zIpN*v=M4n$vG^P(zhBU;%grH@O!;X^pI! zf^qF)93@sz14w@A(^PA6@5AZ8`3%88$>WnL+<*gwDsMeAwa;k55rb1piz5JKb$Fp= zbU%>RKLNsvOc}_Vl0XCg6~R$ca2P945^PBX*mZTy`G;PyL=+8BasxI5=F4NIizCtk zkOO5hlv*(5`g(!6bdlhc%785A*|XeuWV`W*IikFPWp||>QM>k_vV9skl>%kJg1Z>q z;RVOd$5H~ixdD~}2;i!}&8|*~7zqGz$qg8}!W~_)hUSC>!0SW#5@4x&;sza0w9g-a zlpCN0V`ac$HjpD$g?_R|)+`o_tN_55$)wc2oYy{^!gequAt)FK#WrE?d}<3XBGGpn zkkheb4rtdOYL_#rC_RKSV8Iz|;Uew&Y(>YcE;PCl+2s~8+9wI^$~Y3Bm_zr;r zD-d0g)ykU-TGzax)CFb302u93!h9v8wa+NZfQSnQtXnci#s%_^;?}Y=JZEmd&l137 zv4QE*Xid*zb@yUn#NlX49dH|B!2mcvmAi27FR*|N;1lEw&AFm0<}aSeY9y82tJ>9R zN7vKFzTc@wWY?F>HpF+yCfKilq})C_E}RWM+UpKRO% ze^`+7`3RsXgLtq+aw@bO$mGsX=J*K(Q*r}+jon^9yo-C(_HTG%Th8y-@k1s~&~TEg z0gw<>gr4EC1jdgW6Z?qL!eGe_xCjw{3w)`p?>7D&{ehNzgJLhDF|K=%fgT>-p{B<0{t*e#CiA{SB_a618(B1Y&q$)(Kspa9A+MHxy$N@eg4 bQC0OXPJCTu9-aho00000NkvXXu0mjfj~rAw From 81ee8e26cf26e92291ee91640ea40cf32b664381 Mon Sep 17 00:00:00 2001 From: Robert S Date: Sun, 20 Apr 2014 01:25:12 -0400 Subject: [PATCH 2/2] Changed insulation back to wool until i can implement an insulation handler --- .../resonantinduction/electrical/Electrical.java | 4 ++-- .../electrical/wire/PartAdvancedWire.java | 11 ++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/electrical/src/main/scala/resonantinduction/electrical/Electrical.java b/electrical/src/main/scala/resonantinduction/electrical/Electrical.java index 447c7fe5..28257f1d 100644 --- a/electrical/src/main/scala/resonantinduction/electrical/Electrical.java +++ b/electrical/src/main/scala/resonantinduction/electrical/Electrical.java @@ -184,8 +184,8 @@ public class Electrical GameRegistry.addRecipe(new ShapedOreRecipe(tierThreeBattery, "RRR", "RIR", "RRR", 'R', tierTwoBattery, 'I', Block.blockDiamond)); /** Wires **/ - GameRegistry.addRecipe(new ShapelessOreRecipe(itemInsulation, Item.slimeBall, new ItemStack(Block.cloth, 2, OreDictionary.WILDCARD_VALUE))); - GameRegistry.addRecipe(new ShapelessOreRecipe(itemInsulation, "slimeball", new ItemStack(Block.cloth, 2, OreDictionary.WILDCARD_VALUE))); + //GameRegistry.addRecipe(new ShapelessOreRecipe(itemInsulation, Item.slimeBall, new ItemStack(Block.cloth, 2, OreDictionary.WILDCARD_VALUE))); + //GameRegistry.addRecipe(new ShapelessOreRecipe(itemInsulation, "slimeball", new ItemStack(Block.cloth, 2, OreDictionary.WILDCARD_VALUE))); GameRegistry.addRecipe(new ShapedOreRecipe(EnumWireMaterial.COPPER.getWire(3), "MMM", 'M', "ingotCopper")); GameRegistry.addRecipe(new ShapedOreRecipe(EnumWireMaterial.TIN.getWire(3), "MMM", 'M', "ingotTin")); diff --git a/electrical/src/main/scala/resonantinduction/electrical/wire/PartAdvancedWire.java b/electrical/src/main/scala/resonantinduction/electrical/wire/PartAdvancedWire.java index 43b9773e..040a5ec4 100644 --- a/electrical/src/main/scala/resonantinduction/electrical/wire/PartAdvancedWire.java +++ b/electrical/src/main/scala/resonantinduction/electrical/wire/PartAdvancedWire.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import net.minecraft.block.Block; import net.minecraft.block.BlockColored; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; @@ -34,7 +35,7 @@ public abstract class PartAdvancedWire extends PartConductor public EnumWireMaterial material = EnumWireMaterial.COPPER; public boolean isInsulated = false; - protected Item insulationType = Electrical.itemInsulation; + protected ItemStack insulationType = new ItemStack(Block.cloth); /** INTERNAL USE. Can this conductor connect with an external object? */ @Override @@ -205,13 +206,13 @@ public abstract class PartAdvancedWire extends PartConductor this.setColor(dyeColor); return true; } - else if (itemStack.getItem() == insulationType) + else if (itemStack.itemID == insulationType.itemID) { if (this.isInsulated()) { if (!world().isRemote && player.capabilities.isCreativeMode) { - tile().dropItems(Collections.singletonList(new ItemStack(insulationType, 1, BlockColored.getBlockFromDye(color)))); + tile().dropItems(Collections.singletonList(insulationType)); } this.setInsulated(false); @@ -232,7 +233,7 @@ public abstract class PartAdvancedWire extends PartConductor { if (!world().isRemote && !player.capabilities.isCreativeMode) { - tile().dropItems(Collections.singletonList(new ItemStack(insulationType, 1, BlockColored.getBlockFromDye(color)))); + tile().dropItems(Collections.singletonList(insulationType)); } this.setInsulated(false); @@ -257,7 +258,7 @@ public abstract class PartAdvancedWire extends PartConductor if (this.isInsulated) { - drops.add(new ItemStack(insulationType, 1, BlockColored.getBlockFromDye(color))); + drops.add(insulationType.copy()); } return drops;