diff options
| author | Lance5057 <Lance5057@gmail.com> | 2015-03-13 08:15:33 -0500 |
|---|---|---|
| committer | Lance5057 <Lance5057@gmail.com> | 2015-03-13 08:15:33 -0500 |
| commit | afb474545246da88084a43cae31259c33e63a8d1 (patch) | |
| tree | df0e220a3568546b7c64bf56e00c8d6af24fed64 /src/main/java/gmail/Lance5057/models | |
| parent | 495fc1d710df9f5b98fec0d0f61f105811742d89 (diff) | |
Updated to TiCo 1.8.3 and fixed the rendering issues that followed.
Also refactored some codes.
Diffstat (limited to 'src/main/java/gmail/Lance5057/models')
6 files changed, 517 insertions, 0 deletions
diff --git a/src/main/java/gmail/Lance5057/models/ModelArmorAnvil.java b/src/main/java/gmail/Lance5057/models/ModelArmorAnvil.java new file mode 100644 index 0000000..3bc064e --- /dev/null +++ b/src/main/java/gmail/Lance5057/models/ModelArmorAnvil.java @@ -0,0 +1,61 @@ +package gmail.Lance5057.models; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +/** + * Armor Anvil - Lance5057 + * Created using Tabula 4.1.1 + */ +public class ModelArmorAnvil extends ModelBase { + public ModelRenderer Log; + public ModelRenderer HammerHead; + public ModelRenderer HammerHandle; + public ModelRenderer AnvilBase; + public ModelRenderer AnvilStem; + public ModelRenderer AnvilTop; + + public ModelArmorAnvil() { + this.textureWidth = 64; + this.textureHeight = 64; + this.AnvilTop = new ModelRenderer(this, 0, 22); + this.AnvilTop.setRotationPoint(-4.0F, 6.0F, -6.0F); + this.AnvilTop.addBox(0.0F, 0.0F, 0.0F, 8, 6, 12, 0.0F); + this.HammerHead = new ModelRenderer(this, 15, 21); + this.HammerHead.setRotationPoint(-1.3F, 4.0F, 0.0F); + this.HammerHead.addBox(0.0F, 0.0F, 0.0F, 3, 2, 2, 0.0F); + this.setRotateAngle(HammerHead, 0.091106186954104F, -0.5462880558742251F, 0.0F); + this.AnvilStem = new ModelRenderer(this, 10, 32); + this.AnvilStem.setRotationPoint(-2.0F, 12.0F, -3.0F); + this.AnvilStem.addBox(0.0F, 0.0F, 0.0F, 4, 2, 6, 0.0F); + this.HammerHandle = new ModelRenderer(this, 17, 47); + this.HammerHandle.setRotationPoint(1.0F, 0.5F, -6.0F); + this.HammerHandle.addBox(0.0F, 0.0F, 0.0F, 1, 1, 6, 0.0F); + this.AnvilBase = new ModelRenderer(this, 2, 28); + this.AnvilBase.setRotationPoint(-4.0F, 14.0F, -5.0F); + this.AnvilBase.addBox(0.0F, 0.0F, 0.0F, 8, 2, 10, 0.0F); + this.Log = new ModelRenderer(this, 0, 40); + this.Log.setRotationPoint(-8.0F, 16.0F, -8.0F); + this.Log.addBox(0.0F, 0.0F, 0.0F, 16, 8, 16, 0.0F); + this.HammerHead.addChild(this.HammerHandle); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + this.AnvilTop.render(f5); + this.HammerHead.render(f5); + this.AnvilStem.render(f5); + this.AnvilBase.render(f5); + this.Log.render(f5); + } + + /** + * This is a helper function from Tabula to set the rotation of model parts + */ + public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } +} diff --git a/src/main/java/gmail/Lance5057/models/ModelCrestMount.java b/src/main/java/gmail/Lance5057/models/ModelCrestMount.java new file mode 100644 index 0000000..8134ee2 --- /dev/null +++ b/src/main/java/gmail/Lance5057/models/ModelCrestMount.java @@ -0,0 +1,87 @@ +// Date: 1/18/2015 9:46:49 PM +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + +package gmail.Lance5057.models; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelCrestMount extends ModelBase +{ + //fields + ModelRenderer ShieldMount; + ModelRenderer Base; + ModelRenderer SwordMount1; + ModelRenderer SwordMount2; + //ModelRenderer SwordMount3; + + public ModelCrestMount() + { + textureWidth = 32; + textureHeight = 32; + + ShieldMount = new ModelRenderer(this, 20, 6); + ShieldMount.addBox(0F, 0F, 0F, 2, 7, 2); + ShieldMount.setRotationPoint(-1F, 17F, -1F); + ShieldMount.setTextureSize(32, 32); + ShieldMount.mirror = true; + setRotation(ShieldMount, 0F, 0F, 0F); + + Base = new ModelRenderer(this, 0, 6); + Base.addBox(0F, 0F, 0F, 4, 4, 4); + Base.setRotationPoint(-2F, 20F, -2F); + Base.setTextureSize(32, 32); + Base.mirror = true; + setRotation(Base, 0F, 0F, 0F); + + SwordMount1 = new ModelRenderer(this, 0, 0); + SwordMount1.addBox(-5F, 0F, -2F, 10, 2, 4); + SwordMount1.setRotationPoint(0F, 22F, 0F); + SwordMount1.setTextureSize(32, 32); + SwordMount1.mirror = true; + setRotation(SwordMount1, 0F, 0.7853982F, 0F); + + SwordMount2 = new ModelRenderer(this, 0, 0); + SwordMount2.addBox(-5F, 0F, -2F, 10, 2, 4); + SwordMount2.setRotationPoint(0F, 22F, 0F); + SwordMount2.setTextureSize(32, 32); + SwordMount2.mirror = true; + setRotation(SwordMount2, 0F, -0.7853982F, 0F); + +// SwordMount3 = new ModelRenderer(this, 0, 0); +// SwordMount3.addBox(-5F, 0F, -2F, 10, 2, 4); +// SwordMount3.setRotationPoint(0F, 21.9F, 0F); +// SwordMount3.setTextureSize(32, 32); +// SwordMount3.mirror = true; +// setRotation(SwordMount3, 0F, 1.570796F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, boolean left, boolean right, boolean shield) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + if(shield) ShieldMount.render(f5); + if(left) SwordMount1.render(f5); + if(right) SwordMount2.render(f5); + + Base.render(f5); + //SwordMount3.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, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/src/main/java/gmail/Lance5057/models/ModelJewelersBench.java b/src/main/java/gmail/Lance5057/models/ModelJewelersBench.java new file mode 100644 index 0000000..46c43bd --- /dev/null +++ b/src/main/java/gmail/Lance5057/models/ModelJewelersBench.java @@ -0,0 +1,100 @@ +package gmail.Lance5057.models; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +/** + * JewelersBench - Lance5057 + * Created using Tabula 4.1.1 + */ +public class ModelJewelersBench extends ModelBase { + public ModelRenderer TableSide2; + public ModelRenderer SawBlock1; + public ModelRenderer SawBlock2; + public ModelRenderer SawBlock3; + public ModelRenderer SawBlockClamp; + public ModelRenderer Leg1; + public ModelRenderer Leg2; + public ModelRenderer Leg3; + public ModelRenderer Leg4; + public ModelRenderer TableTop; + public ModelRenderer TableBack; + public ModelRenderer TableSide1; + public ModelRenderer Drawer; + public ModelRenderer Handle; + + public ModelJewelersBench() { + this.textureWidth = 64; + this.textureHeight = 64; + this.SawBlock1 = new ModelRenderer(this, 0, 0); + this.SawBlock1.setRotationPoint(2.0F, 8.2F, -12.0F); + this.SawBlock1.addBox(0.0F, 0.0F, 0.0F, 1, 1, 4, 0.0F); + this.Leg4 = new ModelRenderer(this, 0, 0); + this.Leg4.setRotationPoint(6.0F, 10.0F, 6.0F); + this.Leg4.addBox(0.0F, 0.0F, 0.0F, 2, 14, 2, 0.0F); + this.Drawer = new ModelRenderer(this, 0, 46); + this.Drawer.setRotationPoint(-6.0F, 11.5F, -8.0F); + this.Drawer.addBox(0.0F, 0.0F, 0.0F, 12, 2, 16, 0.0F); + this.TableSide2 = new ModelRenderer(this, 0, 0); + this.TableSide2.setRotationPoint(-8.0F, 7.0F, -7.0F); + this.TableSide2.addBox(0.0F, 0.0F, 0.0F, 1, 1, 14, 0.0F); + this.Leg2 = new ModelRenderer(this, 0, 0); + this.Leg2.setRotationPoint(6.0F, 10.0F, -8.0F); + this.Leg2.addBox(0.0F, 0.0F, 0.0F, 2, 14, 2, 0.0F); + this.TableSide1 = new ModelRenderer(this, 0, 0); + this.TableSide1.setRotationPoint(7.0F, 7.0F, -7.0F); + this.TableSide1.addBox(0.0F, 0.0F, 0.0F, 1, 1, 14, 0.0F); + this.SawBlock3 = new ModelRenderer(this, 0, 0); + this.SawBlock3.setRotationPoint(3.0F, 8.2F, -11.0F); + this.SawBlock3.addBox(0.0F, 0.0F, 0.0F, 1, 1, 3, 0.0F); + this.Handle = new ModelRenderer(this, 55, 0); + this.Handle.setRotationPoint(-2.0F, 12.0F, -9.0F); + this.Handle.addBox(0.0F, 0.0F, 0.0F, 4, 1, 1, 0.0F); + this.Leg1 = new ModelRenderer(this, 0, 0); + this.Leg1.setRotationPoint(-8.0F, 10.0F, -8.0F); + this.Leg1.addBox(0.0F, 0.0F, 0.0F, 2, 14, 2, 0.0F); + this.TableTop = new ModelRenderer(this, 0, 28); + this.TableTop.setRotationPoint(-8.0F, 8.0F, -8.0F); + this.TableTop.addBox(0.0F, 0.0F, 0.0F, 16, 2, 16, 0.0F); + this.TableBack = new ModelRenderer(this, 0, 0); + this.TableBack.setRotationPoint(-8.0F, 7.0F, 7.0F); + this.TableBack.addBox(0.0F, 0.0F, 0.0F, 16, 1, 1, 0.0F); + this.SawBlockClamp = new ModelRenderer(this, 54, 0); + this.SawBlockClamp.setRotationPoint(1.5F, 8.0F, -9.0F); + this.SawBlockClamp.addBox(0.0F, 0.0F, 0.0F, 4, 2, 1, 0.0F); + this.Leg3 = new ModelRenderer(this, 0, 0); + this.Leg3.setRotationPoint(-8.0F, 10.0F, 6.0F); + this.Leg3.addBox(0.0F, 0.0F, 0.0F, 2, 14, 2, 0.0F); + this.SawBlock2 = new ModelRenderer(this, 0, 0); + this.SawBlock2.setRotationPoint(4.0F, 8.2F, -12.0F); + this.SawBlock2.addBox(0.0F, 0.0F, 0.0F, 1, 1, 4, 0.0F); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + this.SawBlock1.render(f5); + this.Leg4.render(f5); + this.Drawer.render(f5); + this.TableSide2.render(f5); + this.Leg2.render(f5); + this.TableSide1.render(f5); + this.SawBlock3.render(f5); + this.Handle.render(f5); + this.Leg1.render(f5); + this.TableTop.render(f5); + this.TableBack.render(f5); + this.SawBlockClamp.render(f5); + this.Leg3.render(f5); + this.SawBlock2.render(f5); + } + + /** + * This is a helper function from Tabula to set the rotation of model parts + */ + public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } +} diff --git a/src/main/java/gmail/Lance5057/models/Renderer_ArmorAnvil.java b/src/main/java/gmail/Lance5057/models/Renderer_ArmorAnvil.java new file mode 100644 index 0000000..be7bd9e --- /dev/null +++ b/src/main/java/gmail/Lance5057/models/Renderer_ArmorAnvil.java @@ -0,0 +1,43 @@ +package gmail.Lance5057.models; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class Renderer_ArmorAnvil extends TileEntitySpecialRenderer +{ + private final ModelArmorAnvil model; + + public Renderer_ArmorAnvil() { + this.model = new ModelArmorAnvil(); +} + + @Override + public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) + { + + GL11.glPushMatrix(); + + GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + + ResourceLocation textures = (new ResourceLocation("tinkersdefense:textures/blocks/ArmorAnvil.png")); + + Minecraft.getMinecraft().renderEngine.bindTexture(textures); + + GL11.glPushMatrix(); + + int meta = te.getBlockMetadata(); + + GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); + + this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + + } + +} diff --git a/src/main/java/gmail/Lance5057/models/Renderer_CrestMount.java b/src/main/java/gmail/Lance5057/models/Renderer_CrestMount.java new file mode 100644 index 0000000..1f4f4ea --- /dev/null +++ b/src/main/java/gmail/Lance5057/models/Renderer_CrestMount.java @@ -0,0 +1,185 @@ +package gmail.Lance5057.models; + +import gmail.Lance5057.tileentities.TileEntity_CrestMount; +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.IItemRenderer; + +import org.lwjgl.opengl.GL11; + +public class Renderer_CrestMount extends TileEntitySpecialRenderer +{ + //private RenderItem itemRenderer; + private final ModelCrestMount model; + EntityItem entItem = null; + EntityItem entItem2 = null; + EntityItem entItem3 = null; + EntityItem entItem4 = null; + + public Renderer_CrestMount() { + this.model = new ModelCrestMount(); + } + + @Override + public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) + { + TileEntity_CrestMount tileEntity = (TileEntity_CrestMount)te; + + boolean left=false, + right=false, + shield=false; + + if(tileEntity.getStackInSlot(0)!=null) + right=true; + if(tileEntity.getStackInSlot(1)!=null) + left=true; + if(tileEntity.getStackInSlot(3)!=null) + shield=true; + + + GL11.glPushMatrix(); + + //Render Crest Mount + GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + + ResourceLocation textures = (new ResourceLocation("tinkersdefense:textures/blocks/CrestMount.png")); + + Minecraft.getMinecraft().renderEngine.bindTexture(textures); + + GL11.glPushMatrix(); + + int meta = te.getBlockMetadata(); + float rotation = 0; + switch(meta) + { + case 1: rotation = 0; break; + case 2: rotation = 180; break; + case 3: rotation = 90; break; + case 4: rotation = -90; break; + } + GL11.glRotatef(rotation, 0.0F, 1.0F, 0.0F); + + GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(90F, 0.5F, 0.0F, 0.0F); + GL11.glTranslatef(0, -1, -1); + + this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F,left,right,shield); + GL11.glPopMatrix(); + + //Render Inventory + + //right slot + int slot = 0; + if(tileEntity.getStackInSlot(slot)!=null) + { + if((entItem == null) || entItem.getEntityItem().getItem() != tileEntity.getStackInSlot(slot).getItem()) + entItem = new EntityItem(tileEntity.getWorldObj(), 0, 0, 0, tileEntity.getStackInSlot(slot)); + GL11.glPushMatrix(); + this.entItem.hoverStart = 0.0F; + RenderItem.renderInFrame = true; + GL11.glScalef(2f,2f,2f); + GL11.glRotatef(90, 0, 0, -1); + GL11.glRotatef(rotation, -1.0F, 0.0F, 0.0F); + //GL11.glTranslatef(0.4f/*up - down*/, -0.3f/*left - right*/, 0.22f); + if(tileEntity.flip[0]==true) + { + GL11.glRotatef(180, 0, 0, 1); + GL11.glTranslatef(-0.8f, 0.2f, 0); + } + RenderManager.instance.renderEntityWithPosYaw(entItem, 0.4f/*up - down*/, -0.3f/*left - right*/, 0.23f, 0, 0); + RenderItem.renderInFrame = false; + GL11.glPopMatrix(); + } + + //left slot + slot = 1; + if(tileEntity.getStackInSlot(slot)!=null) + { + if((entItem2 == null) || entItem2.getEntityItem().getItem() != tileEntity.getStackInSlot(slot).getItem()) + entItem2 = new EntityItem(tileEntity.getWorldObj(), x, y, z, tileEntity.getStackInSlot(slot)); + GL11.glPushMatrix(); + this.entItem2.hoverStart = 0.0F; + RenderItem.renderInFrame = true; + //GL11.glTranslatef((float)te.xCoord + 0.5F, (float)te.yCoord + 1.02F, (float)te.zCoord + 0.3F); + GL11.glScalef(2f,2f,2f); + GL11.glRotatef(180, 0, 0, 1); + GL11.glRotatef(rotation, 0.0F, -1.0F, 0.0F); + if(tileEntity.flip[1]==true) + { + GL11.glRotatef(180, 0, 0, 1); + GL11.glTranslatef(0.2f, -0.8f, 0); + } + RenderManager.instance.renderEntityWithPosYaw(entItem2, -0.1, 0.2, 0.23, 0, 0); + RenderItem.renderInFrame = false; + GL11.glPopMatrix(); + } + + //middle slot + slot = 2; + if(tileEntity.getStackInSlot(slot)!=null) + { + if((entItem3 == null) || entItem3.getEntityItem().getItem() != tileEntity.getStackInSlot(slot).getItem()) + entItem3 = new EntityItem(tileEntity.getWorldObj(), x, y, z, tileEntity.getStackInSlot(slot)); + GL11.glPushMatrix(); + this.entItem3.hoverStart = 0.0F; + RenderItem.renderInFrame = true; + GL11.glScalef(2f,2f,2f); + if(rotation == 90) + GL11.glTranslatef(0.3f, 0, 0.0f); + if(rotation == -90) + GL11.glTranslatef(-0.3f, 0, 0.0f); + GL11.glRotatef(225, 0, 0, 1); + GL11.glRotatef(rotation, 1F, 1F, 0F); + if(tileEntity.flip[2]==true) + { + GL11.glRotatef(180, 0, 0, 1); + GL11.glTranslatef(-0.5f, -0.5f, 0); + } + RenderManager.instance.renderEntityWithPosYaw(entItem3, 0.3, 0.1, 0.16, 0, 0); + RenderItem.renderInFrame = false; + GL11.glPopMatrix(); + } + + //shield slot + slot = 3; + if(tileEntity.getStackInSlot(slot)!=null) + { + if((entItem4 == null) || entItem4.getEntityItem().getItem() != tileEntity.getStackInSlot(slot).getItem()) + entItem4 = new EntityItem(tileEntity.getWorldObj(), x, y, z, tileEntity.getStackInSlot(slot)); + GL11.glPushMatrix(); + this.entItem4.hoverStart = 0.0F; + RenderItem.renderInFrame = true; + GL11.glScalef(2f,2f,2f); + GL11.glRotatef(180, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(rotation, 0.0F, 1.0F, 0.0F); + if(tileEntity.flip[3]==true) + { + GL11.glRotatef(180, 0, 0, 1); + GL11.glTranslatef(0.0f, 1.0f, 0); + } + RenderManager.instance.renderEntityWithPosYaw(entItem4, 0, -0.7, -0.01, 0, 0); + RenderItem.renderInFrame = false; + GL11.glPopMatrix(); + } + + + GL11.glPopMatrix(); + + entItem = null; + entItem2= null; + entItem3= null; + entItem4= null; + } + +} diff --git a/src/main/java/gmail/Lance5057/models/Renderer_JewelersBench.java b/src/main/java/gmail/Lance5057/models/Renderer_JewelersBench.java new file mode 100644 index 0000000..df13248 --- /dev/null +++ b/src/main/java/gmail/Lance5057/models/Renderer_JewelersBench.java @@ -0,0 +1,41 @@ +package gmail.Lance5057.models; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class Renderer_JewelersBench extends TileEntitySpecialRenderer +{ + private final ModelJewelersBench model; + + public Renderer_JewelersBench() { + this.model = new ModelJewelersBench(); +} + + @Override + public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) + { + GL11.glPushMatrix(); + GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + + ResourceLocation textures = (new ResourceLocation("tinkersdefense:textures/blocks/JewelersBench.png")); + + Minecraft.getMinecraft().renderEngine.bindTexture(textures); + + GL11.glPushMatrix(); + + int meta = te.getBlockMetadata(); + + GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); + + this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + + } + +} |
