diff options
| author | Lance5057 <Lance5057@gmail.com> | 2015-10-05 00:02:32 -0500 |
|---|---|---|
| committer | Lance5057 <Lance5057@gmail.com> | 2015-10-15 04:54:18 -0500 |
| commit | d67ec64707414df6f78f45ec1710b4ec3fc1ef66 (patch) | |
| tree | 6a926cb12990aa88cb62e8ec099045f5b54fd8b1 /src/main/java/lance5057/tDefense/armor | |
| parent | adefc630eb6876c19660c4f51876cc9bf00d78f0 (diff) | |
Refactor and Compartmentalize all the codes!
Diffstat (limited to 'src/main/java/lance5057/tDefense/armor')
11 files changed, 1159 insertions, 0 deletions
diff --git a/src/main/java/lance5057/tDefense/armor/items/ChainArmor.java b/src/main/java/lance5057/tDefense/armor/items/ChainArmor.java new file mode 100644 index 0000000..a2bbd67 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/items/ChainArmor.java @@ -0,0 +1,77 @@ +package lance5057.tDefense.armor.items; + +import lance5057.tDefense.proxy.ClientProxy; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemStack; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ChainArmor extends ItemArmor { + public ChainArmor(ArmorMaterial par2EnumArmorMaterial, int par3, int par4) { + super(par2EnumArmorMaterial, par3, par4); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IconRegister) { + String itemName = "tinkersdefense:textures/armor/ChainArmor"; + this.itemIcon = par1IconRegister.registerIcon(itemName); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, + String type) { + return "tinkersdefense:textures/armor/ChainArmor.png"; + } + + @Override + @SideOnly(Side.CLIENT) + public ModelBiped getArmorModel(EntityLivingBase entityLiving, + ItemStack itemStack, int armorSlot) + { + +// return ClientProxy.chain; + ModelBiped armorModel = ClientProxy.chain; + if (itemStack != null) { +// if (itemStack.getItem() instanceof TinkerArmor) { +// int type = ((ItemArmor) itemStack.getItem()).armorType; +// if (type == 1 || type == 3) { +// armorModel = TinkersDefense.proxy.getArmorModel(0); +// } else { +// armorModel = TinkersDefense.proxy.getArmorModel(1); +// } +// +// } + if (armorModel != null) { +// armorModel.bipedHead.showModel = armorSlot == 0; +// armorModel.bipedHeadwear.showModel = armorSlot == 0; +// armorModel.bipedBody.showModel = armorSlot == 1 +// || armorSlot == 2; +// armorModel.bipedRightArm.showModel = armorSlot == 1; +// armorModel.bipedLeftArm.showModel = armorSlot == 1; +// armorModel.bipedRightLeg.showModel = armorSlot == 2 +// || armorSlot == 3; +// armorModel.bipedLeftLeg.showModel = armorSlot == 2 +// || armorSlot == 3; + armorModel.isSneak = entityLiving.isSneaking(); + armorModel.isRiding = entityLiving.isRiding(); + armorModel.isChild = entityLiving.isChild(); + armorModel.heldItemRight = entityLiving.getHeldItem() != null ? 1 + : 0; + + if (entityLiving instanceof EntityPlayer) { + armorModel.aimedBow = ((EntityPlayer) entityLiving) + .getItemInUseDuration() > 2; + } + return armorModel; + } + } + return armorModel; + } + +}
\ No newline at end of file diff --git a/src/main/java/lance5057/tDefense/armor/items/ClothArmor.java b/src/main/java/lance5057/tDefense/armor/items/ClothArmor.java new file mode 100644 index 0000000..7bd6752 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/items/ClothArmor.java @@ -0,0 +1,76 @@ +package lance5057.tDefense.armor.items; + +import lance5057.tDefense.proxy.ClientProxy; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemStack; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ClothArmor extends ItemArmor { + public ClothArmor(ArmorMaterial par2EnumArmorMaterial, int par3, int par4) { + super(par2EnumArmorMaterial, par3, par4); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IconRegister) { + String itemName = "tinkersdefense:textures/armor/ClothArmor"; + this.itemIcon = par1IconRegister.registerIcon(itemName); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, + String type) { + return "tinkersdefense:textures/armor/ChainArmor.png"; + } + + @Override + @SideOnly(Side.CLIENT) + public ModelBiped getArmorModel(EntityLivingBase entityLiving, + ItemStack itemStack, int armorSlot) { + + // return ClientProxy.chain; + ModelBiped armorModel = ClientProxy.chain; + if (itemStack != null) { + // if (itemStack.getItem() instanceof TinkerArmor) { + // int type = ((ItemArmor) itemStack.getItem()).armorType; + // if (type == 1 || type == 3) { + // armorModel = TinkersDefense.proxy.getArmorModel(0); + // } else { + // armorModel = TinkersDefense.proxy.getArmorModel(1); + // } + // + // } + if (armorModel != null) { + // armorModel.bipedHead.showModel = armorSlot == 0; + // armorModel.bipedHeadwear.showModel = armorSlot == 0; + // armorModel.bipedBody.showModel = armorSlot == 1 + // || armorSlot == 2; + // armorModel.bipedRightArm.showModel = armorSlot == 1; + // armorModel.bipedLeftArm.showModel = armorSlot == 1; + // armorModel.bipedRightLeg.showModel = armorSlot == 2 + // || armorSlot == 3; + // armorModel.bipedLeftLeg.showModel = armorSlot == 2 + // || armorSlot == 3; + armorModel.isSneak = entityLiving.isSneaking(); + armorModel.isRiding = entityLiving.isRiding(); + armorModel.isChild = entityLiving.isChild(); + armorModel.heldItemRight = entityLiving.getHeldItem() != null ? 1 + : 0; + + if (entityLiving instanceof EntityPlayer) { + armorModel.aimedBow = ((EntityPlayer) entityLiving) + .getItemInUseDuration() > 2; + } + return armorModel; + } + } + return armorModel; + } + +}
\ No newline at end of file diff --git a/src/main/java/lance5057/tDefense/armor/items/Sheath.java b/src/main/java/lance5057/tDefense/armor/items/Sheath.java new file mode 100644 index 0000000..f96d90a --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/items/Sheath.java @@ -0,0 +1,109 @@ +package lance5057.tDefense.armor.items; + +import lance5057.tDefense.armor.renderers.ModelSheath; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import tconstruct.library.accessory.IAccessory; +import tconstruct.library.accessory.IAccessoryModel; +import tconstruct.library.tools.ToolCore; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class Sheath extends ToolCore implements IAccessoryModel,IAccessory +{ + + public Sheath() + { + super(0); + } + + @Override + public boolean canEquipAccessory(ItemStack item, int slot) + { + return slot == 3; + } + + @Override + @SideOnly(Side.CLIENT) + public ModelBiped getArmorModel (EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) + { + String color[] = new String[10]; + + for(int i = 0; i<10; i++) + color[i] = Integer.toHexString(this.getColorFromItemStack(itemStack, i)); + + return new ModelSheath(color); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, + String type) { + return "tinkersdefense:textures/armor/Sheath/_sheath_base.png"; + } + + ResourceLocation texture = new ResourceLocation("tinkersdefense", "textures/armor/Sheath/_sheath_base.png"); + + @Override + @SideOnly(Side.CLIENT) + public ResourceLocation getWearbleTexture (Entity entity, ItemStack stack, int slot) + { + return texture; + } + + @Override + public Item getAccessoryItem() { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getDefaultFolder() { + // TODO Auto-generated method stub + return "Armor/Sheath"; + } + + @Override + public String getEffectSuffix() { + return "_sheath_effect"; + } + + @Override + public Item getHeadItem() { + // TODO Auto-generated method stub + return null; + } + + @SideOnly(Side.CLIENT) + @Override + public int getPartAmount() { + return 4; + } + + @Override + public String getIconSuffix(int partType) { + switch (partType) { + case 0: + return "_sheath_base"; + case 1: + return "_shield_base_broken"; //useless + case 2: + return "_sheath_filigree"; + case 3: + return "_sheath_belt"; + case 4: + return "_sheath_clasp"; + default: + return ""; + } + } + + @Override + public String[] getTraits() { + return new String[] { "sheath", "cosmetic" }; + } + +} diff --git a/src/main/java/lance5057/tDefense/armor/items/TinkerArmor.java b/src/main/java/lance5057/tDefense/armor/items/TinkerArmor.java new file mode 100644 index 0000000..8660d34 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/items/TinkerArmor.java @@ -0,0 +1,77 @@ +package lance5057.tDefense.armor.items; + +import lance5057.tDefense.proxy.ClientProxy; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemStack; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class TinkerArmor extends ItemArmor { + public TinkerArmor(ArmorMaterial par2EnumArmorMaterial, int par3, int par4) { + super(par2EnumArmorMaterial, par3, par4); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IconRegister) { + String itemName = "tinkersdefense:textures/armor/TinkerArmor"; + this.itemIcon = par1IconRegister.registerIcon(itemName); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, + String type) { + return "tinkersdefense:textures/armor/TinkerArmor.png"; + } + + @Override + @SideOnly(Side.CLIENT) + public ModelBiped getArmorModel(EntityLivingBase entityLiving, + ItemStack itemStack, int armorSlot) + { + +// return ClientProxy.chain; + ModelBiped armorModel = ClientProxy.tutChest; + if (itemStack != null) { +// if (itemStack.getItem() instanceof TinkerArmor) { +// int type = ((ItemArmor) itemStack.getItem()).armorType; +// if (type == 1 || type == 3) { +// armorModel = TinkersDefense.proxy.getArmorModel(0); +// } else { +// armorModel = TinkersDefense.proxy.getArmorModel(1); +// } +// +// } + if (armorModel != null) { +// armorModel.bipedHead.showModel = armorSlot == 0; +// armorModel.bipedHeadwear.showModel = armorSlot == 0; +// armorModel.bipedBody.showModel = armorSlot == 1 +// || armorSlot == 2; +// armorModel.bipedRightArm.showModel = armorSlot == 1; +// armorModel.bipedLeftArm.showModel = armorSlot == 1; +// armorModel.bipedRightLeg.showModel = armorSlot == 2 +// || armorSlot == 3; +// armorModel.bipedLeftLeg.showModel = armorSlot == 2 +// || armorSlot == 3; + armorModel.isSneak = entityLiving.isSneaking(); + armorModel.isRiding = entityLiving.isRiding(); + armorModel.isChild = entityLiving.isChild(); + armorModel.heldItemRight = entityLiving.getHeldItem() != null ? 1 + : 0; + + if (entityLiving instanceof EntityPlayer) { + armorModel.aimedBow = ((EntityPlayer) entityLiving) + .getItemInUseDuration() > 2; + } + return armorModel; + } + } + return armorModel; + } + +}
\ No newline at end of file diff --git a/src/main/java/lance5057/tDefense/armor/parts/Item_Cloth.java b/src/main/java/lance5057/tDefense/armor/parts/Item_Cloth.java new file mode 100644 index 0000000..26f54b1 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/parts/Item_Cloth.java @@ -0,0 +1,51 @@ +package lance5057.tDefense.armor.parts; + +import java.util.List; + +import lance5057.tDefense.TinkersDefense; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class Item_Cloth extends Item +{ + public IIcon[] icons = new IIcon[16]; + public static final String[] colors = new String[] {"black", "red", "green", "brown", "blue", "purple", "cyan", "silver", "grey", "pink", "lime", "yellow", "lightBlue", "magenta", "orange", "white"}; + + public Item_Cloth() + { + super(); + this.setHasSubtypes(true); + this.setUnlocalizedName("Cloth"); + this.setCreativeTab(TinkersDefense.tabName); + } + + @Override + public void registerIcons(IIconRegister reg) { + for (int i = 0; i < 16; i ++) { + this.icons[i] = reg.registerIcon("tinkersdefense:" + colors[i] + "_cloth" ); + } + } + + @Override + public IIcon getIconFromDamage(int meta) { + if (meta > 15) + meta = 0; + + return this.icons[meta]; + } + + @Override + public void getSubItems(Item item, CreativeTabs tab, List list) { + for (int i = 0; i < 16; i ++) { + list.add(new ItemStack(item, 1, i)); + } + } + + @Override + public String getUnlocalizedName(ItemStack stack) { + return colors[stack.getItemDamage()] + "_" + this.getUnlocalizedName(); + } +} diff --git a/src/main/java/lance5057/tDefense/armor/parts/Item_Glowthread.java b/src/main/java/lance5057/tDefense/armor/parts/Item_Glowthread.java new file mode 100644 index 0000000..8539c6f --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/parts/Item_Glowthread.java @@ -0,0 +1,51 @@ +package lance5057.tDefense.armor.parts; + +import java.util.List; + +import lance5057.tDefense.TinkersDefense; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class Item_Glowthread extends Item +{ + public IIcon[] icons = new IIcon[16]; + public static final String[] colors = new String[] {"black", "red", "green", "brown", "blue", "purple", "cyan", "silver", "grey", "pink", "lime", "yellow", "lightBlue", "magenta", "orange", "white"}; + + public Item_Glowthread() + { + super(); + this.setHasSubtypes(true); + this.setUnlocalizedName("GlowThread"); + this.setCreativeTab(TinkersDefense.tabName); + } + + @Override + public void registerIcons(IIconRegister reg) { + for (int i = 0; i < 16; i ++) { + this.icons[i] = reg.registerIcon("tinkersdefense:" + colors[i] + "_glowthread" ); + } + } + + @Override + public IIcon getIconFromDamage(int meta) { + if (meta > 15) + meta = 0; + + return this.icons[meta]; + } + + @Override + public void getSubItems(Item item, CreativeTabs tab, List list) { + for (int i = 0; i < 16; i ++) { + list.add(new ItemStack(item, 1, i)); + } + } + + @Override + public String getUnlocalizedName(ItemStack stack) { + return colors[stack.getItemDamage()] + "_" + this.getUnlocalizedName(); + } +} diff --git a/src/main/java/lance5057/tDefense/armor/parts/Item_Thread.java b/src/main/java/lance5057/tDefense/armor/parts/Item_Thread.java new file mode 100644 index 0000000..f1bc61c --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/parts/Item_Thread.java @@ -0,0 +1,51 @@ +package lance5057.tDefense.armor.parts; + +import java.util.List; + +import lance5057.tDefense.TinkersDefense; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class Item_Thread extends Item +{ + public IIcon[] icons = new IIcon[16]; + public static final String[] colors = new String[] {"black", "red", "green", "brown", "blue", "purple", "cyan", "silver", "grey", "pink", "lime", "yellow", "lightBlue", "magenta", "orange", "white"}; + + public Item_Thread() + { + super(); + this.setHasSubtypes(true); + this.setUnlocalizedName("Thread"); + this.setCreativeTab(TinkersDefense.tabName); + } + + @Override + public void registerIcons(IIconRegister reg) { + for (int i = 0; i < 16; i ++) { + this.icons[i] = reg.registerIcon("tinkersdefense:" + colors[i] + "_thread" ); + } + } + + @Override + public IIcon getIconFromDamage(int meta) { + if (meta > 15) + meta = 0; + + return this.icons[meta]; + } + + @Override + public void getSubItems(Item item, CreativeTabs tab, List list) { + for (int i = 0; i < 16; i ++) { + list.add(new ItemStack(item, 1, i)); + } + } + + @Override + public String getUnlocalizedName(ItemStack stack) { + return colors[stack.getItemDamage()] + "_" + this.getUnlocalizedName(); + } +} diff --git a/src/main/java/lance5057/tDefense/armor/renderers/ModelChainArmor.java b/src/main/java/lance5057/tDefense/armor/renderers/ModelChainArmor.java new file mode 100644 index 0000000..baca0f1 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/renderers/ModelChainArmor.java @@ -0,0 +1,168 @@ +package lance5057.tDefense.armor.renderers; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelChainArmor extends ModelBiped +{ + public ModelRenderer Pauldron1R; + public ModelRenderer Pauldron2R; + public ModelRenderer Pauldron3R; + public ModelRenderer ArmR; + public ModelRenderer Belt; + public ModelRenderer BeltBuckle; + public ModelRenderer Body; + public ModelRenderer Coif; + public ModelRenderer Head; + public ModelRenderer LegR; + public ModelRenderer FootR; + public ModelRenderer HipGuardR; + public ModelRenderer HipGuardBR; + public ModelRenderer Pauldron1L; + public ModelRenderer Pauldron2L; + public ModelRenderer Pauldron3L; + public ModelRenderer ArmL; + public ModelRenderer LegL; + public ModelRenderer FootL; + public ModelRenderer HipGuardL; + public ModelRenderer HipGuardBL; + + public ModelChainArmor(float f) { + super(f, 0, 64,96); + + this.textureWidth = 64; + this.textureHeight = 96; + + this.BeltBuckle = new ModelRenderer(this, 0, 32); + this.BeltBuckle.setRotationPoint(0.0F, 0.0F, 0.0F); + this.BeltBuckle.addBox(-1.0F, 10.0F, -2.4F, 2, 2, 1, 0.2F); + this.bipedBody.addChild(BeltBuckle); + + this.Pauldron3L = new ModelRenderer(this, 16, 64); + this.Pauldron3L.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Pauldron3L.addBox(-1.3F, -1.3F, -2.5F, 2, 2, 5, 0.1F); + this.setRotateAngle(Pauldron3L, 0.0F, 3.141592653589793F, 0.2617993877991494F); + this.bipedLeftArm.addChild(Pauldron3L); + + this.LegL = new ModelRenderer(this, 0, 48); + this.LegL.setRotationPoint(0.0F, 0.0F, 0.0F); + this.LegL.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, 0.1F); + this.bipedLeftLeg.addChild(LegL); + + this.LegR = new ModelRenderer(this, 0, 48); + this.LegR.setRotationPoint(0.0F, 0.0F, 0.0F); + this.LegR.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, 0.1F); + this.bipedRightLeg.addChild(LegR); + + this.FootR = new ModelRenderer(this, 0, 75); + this.FootR.setRotationPoint(0.0F, 0.0F, 0.0F); + this.FootR.addBox(-2.0F, 10.0F, -3.0F, 4, 2, 1, 0.0F); + this.bipedRightLeg.addChild(FootR); + + this.Pauldron1R = new ModelRenderer(this, 30, 64); + this.Pauldron1R.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Pauldron1R.addBox(-3.5F, -1.6F, -2.5F, 3, 4, 5, 0.0F); + this.setRotateAngle(Pauldron1R, 0.0F, 0.0F, 0.2617993877991494F); + this.bipedRightArm.addChild(Pauldron1R); + + this.ArmR = new ModelRenderer(this, 40, 48); + this.ArmR.setRotationPoint(0.0F, 0.0F, 0.0F); + this.ArmR.addBox(-3.0F, -2.0F, -2.0F, 4, 12, 4, 0.1F); + this.bipedRightArm.addChild(ArmR); + + this.ArmL = new ModelRenderer(this, 40, 48); + this.ArmL.setRotationPoint(0.0F, 0.0F, 0.0F); + this.ArmL.addBox(-3.0F, -2.0F, -2.0F, 4, 12, 4, 0.1F); + this.setRotateAngle(ArmL, 0.0F, 3.141592653589793F, 0.0F); + this.bipedLeftArm.addChild(ArmL); + + this.HipGuardL = new ModelRenderer(this, 24, 32); + this.HipGuardL.setRotationPoint(0.0F, 0.0F, 0.0F); + this.HipGuardL.addBox(-2.1F, 0.0F, 1.5F, 4, 6, 1, -0.1F); + this.setRotateAngle(HipGuardL, 0.17453292519943295F, 1.5707963267948966F, 0.0F); + this.bipedLeftLeg.addChild(HipGuardL); + + this.Pauldron2R = new ModelRenderer(this, 0, 64); + this.Pauldron2R.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Pauldron2R.addBox(-2.4F, -2.7F, -2.5F, 3, 3, 5, -0.1F); + this.setRotateAngle(Pauldron2R, 0.0F, 0.0F, -0.2617993877991494F); + this.bipedRightArm.addChild(Pauldron2R); + + this.Body = new ModelRenderer(this, 16, 48); + this.Body.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Body.addBox(-4.0F, 0.0F, -2.0F, 8, 12, 4, 0.1F); + this.bipedBody.addChild(Body); + + this.Pauldron2L = new ModelRenderer(this, 0, 64); + this.Pauldron2L.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Pauldron2L.addBox(-2.4F, -2.7F, -2.5F, 3, 3, 5, -0.1F); + this.setRotateAngle(Pauldron2L, 0.0F, 3.141592653589793F, 0.2617993877991494F); + this.bipedLeftArm.addChild(Pauldron2L); + + this.Coif = new ModelRenderer(this, 0, 78); + this.Coif.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Coif.addBox(-4.0F, -8.0F, -4.0F, 8, 10, 8, 0.5F); + this.bipedHead.addChild(Coif); + + this.HipGuardBR = new ModelRenderer(this, 24, 32); + this.HipGuardBR.setRotationPoint(0.0F, 0.0F, 0.0F); + this.HipGuardBR.addBox(-2.0F, 0.0F, 1.0F, 4, 6, 1, 0.0F); + this.setRotateAngle(HipGuardBR, 0.17453292519943295F, 0.0F, 0.0F); + this.bipedRightLeg.addChild(HipGuardBR); + + this.Pauldron3R = new ModelRenderer(this, 16, 64); + this.Pauldron3R.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Pauldron3R.addBox(-1.3F, -1.3F, -2.5F, 2, 2, 5, 0.1F); + this.setRotateAngle(Pauldron3R, 0.0F, 0.0F, -0.2617993877991494F); + this.bipedRightArm.addChild(Pauldron3R); + + this.Head = new ModelRenderer(this, 0, 32); + this.Head.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, 0.1F); + this.bipedHead.addChild(Head); + + this.FootL = new ModelRenderer(this, 0, 75); + this.FootL.setRotationPoint(0.0F, 0.0F, 0.0F); + this.FootL.addBox(-2.0F, 10.0F, -3.0F, 4, 2, 1, 0.0F); + this.bipedLeftLeg.addChild(FootL); + + this.Belt = new ModelRenderer(this, 32, 90); + this.Belt.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Belt.addBox(-4.0F, 10.0F, -2.0F, 8, 2, 4, 0.2F); + this.bipedBody.addChild(Belt); + + this.HipGuardBL = new ModelRenderer(this, 24, 32); + this.HipGuardBL.setRotationPoint(0.0F, 0.0F, 0.0F); + this.HipGuardBL.addBox(-2.0F, 0.0F, 1.0F, 4, 6, 1, 0.0F); + this.setRotateAngle(HipGuardBL, 0.17453292519943295F, 0.0F, 0.0F); + this.bipedLeftLeg.addChild(HipGuardBL); + + this.Pauldron1L = new ModelRenderer(this, 30, 64); + this.Pauldron1L.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Pauldron1L.addBox(-3.5F, -1.6F, -2.5F, 3, 4, 5, 0.0F); + this.setRotateAngle(Pauldron1L, 0.0F, 3.141592653589793F, -0.2617993877991494F); + this.bipedLeftArm.addChild(Pauldron1L); + + this.HipGuardR = new ModelRenderer(this, 24, 32); + this.HipGuardR.setRotationPoint(0.0F, 0.0F, 0.0F); + this.HipGuardR.addBox(-2.1F, 0.0F, -2.5F, 4, 6, 1, -0.1F); + this.setRotateAngle(HipGuardR, -0.17453292519943295F, 1.5707963267948966F, 0.0F); + this.bipedRightLeg.addChild(HipGuardR); + } + + @Override + 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, entity); + } + + /** + * 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/lance5057/tDefense/armor/renderers/ModelClothArmor.java b/src/main/java/lance5057/tDefense/armor/renderers/ModelClothArmor.java new file mode 100644 index 0000000..fec1dc4 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/renderers/ModelClothArmor.java @@ -0,0 +1,285 @@ +package lance5057.tDefense.armor.renderers; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import org.lwjgl.opengl.GL11; + +/** + * Hood - Lance5057 + * Created using Tabula 4.1.1 + */ +public class ModelClothArmor extends ModelBase { + public ModelRenderer TopLeft; + public ModelRenderer field_78124_i; + public ModelRenderer field_78123_h; + public ModelRenderer Top; + public ModelRenderer Left; + public ModelRenderer Right; + public ModelRenderer Collar; + public ModelRenderer TrimLeft2; + public ModelRenderer TrimLeft3; + public ModelRenderer TrimLeft4; + public ModelRenderer TrimRight3; + public ModelRenderer TrimRight2; + public ModelRenderer TrimRight4; + public ModelRenderer Flop; + public ModelRenderer Top_1; + public ModelRenderer ArmLeft; + public ModelRenderer ArmRight; + public ModelRenderer Chest; + public ModelRenderer Belt; + public ModelRenderer Button; + public ModelRenderer Back; + public ModelRenderer ShawlLeft1; + public ModelRenderer ShawlLeft2; + public ModelRenderer ShawlRight1; + public ModelRenderer ShawlRight2; + public ModelRenderer LeftFront; + public ModelRenderer RightFront; + public ModelRenderer LeftFS; + public ModelRenderer LeftF; + public ModelRenderer LeftBS; + public ModelRenderer LeftB; + public ModelRenderer LeftB2; + public ModelRenderer LeftBA; + public ModelRenderer RightFS; + public ModelRenderer RightF; + public ModelRenderer RightBS; + public ModelRenderer RightB; + public ModelRenderer RightB2; + public ModelRenderer RightBA; + + public ModelClothArmor() { + this.textureWidth = 64; + this.textureHeight = 64; + this.LeftB2 = new ModelRenderer(this, 34, 51); + this.LeftB2.setRotationPoint(-3.0F, -0.1F, 3.61F); + this.LeftB2.addBox(-1.7F, 0.0F, -2.0F, 1, 11, 2, 0.0F); + this.setRotateAngle(LeftB2, 0.0F, 4.71238898038469F, 0.08726646259971647F); + this.Button = new ModelRenderer(this, 0, 0); + this.Button.setRotationPoint(0.0F, 0.0F, -3.5F); + this.Button.addBox(0.0F, 0.0F, 0.0F, 2, 2, 1, 0.0F); + this.setRotateAngle(Button, 0.0F, 0.0F, 0.7853981633974483F); + this.Right = new ModelRenderer(this, 0, 46); + this.Right.setRotationPoint(0.5F, -0.3F, 0.0F); + this.Right.addBox(-5.0F, -8.3F, -5.0F, 1, 7, 11, 0.0F); + this.setRotateAngle(Right, 0.0F, 3.141592653589793F, -0.08726646259971647F); + this.RightBS = new ModelRenderer(this, 34, 51); + this.RightBS.setRotationPoint(-3.1F, -0.2F, -3.6F); + this.RightBS.addBox(-0.1F, 0.2F, 1.9F, 1, 11, 2, 0.0F); + this.setRotateAngle(RightBS, 0.0F, 0.7853981633974483F, 0.0F); + this.TrimLeft3 = new ModelRenderer(this, 0, 0); + this.TrimLeft3.setRotationPoint(-2.3F, 0.0F, -5.5F); + this.TrimLeft3.addBox(0.0F, 0.0F, 0.0F, 2, 2, 1, 0.0F); + this.setRotateAngle(TrimLeft3, 0.009773843811168246F, 3.141592653589793F, 0.7853981633974483F); + this.LeftBS = new ModelRenderer(this, 33, 51); + this.LeftBS.setRotationPoint(1.0F, 0.0F, 3.6F); + this.LeftBS.addBox(-1.5F, 0.0F, -2.5F, 1, 11, 2, 0.0F); + this.setRotateAngle(LeftBS, 0.0F, -0.7853981633974483F, 0.0F); + this.LeftB = new ModelRenderer(this, 34, 50); + this.LeftB.setRotationPoint(-2.0F, 0.0F, 3.6F); + this.LeftB.addBox(-1.7F, 0.0F, -3.0F, 1, 11, 3, 0.0F); + this.setRotateAngle(LeftB, 0.0F, 4.71238898038469F, 0.0F); + this.ShawlRight1 = new ModelRenderer(this, 40, 0); + this.ShawlRight1.mirror = true; + this.ShawlRight1.setRotationPoint(-0.6F, 1.4F, 0.0F); + this.ShawlRight1.addBox(0.0F, 0.0F, -3.0F, 6, 5, 6, 0.0F); + this.setRotateAngle(ShawlRight1, 0.0F, 0.0F, -0.2792526803190927F); + this.field_78124_i = new ModelRenderer(this, 48, 30); + this.field_78124_i.mirror = true; + this.field_78124_i.setRotationPoint(1.9F, 12.0F, 0.1F); + this.field_78124_i.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, 0.0F); + this.Back = new ModelRenderer(this, 46, 40); + this.Back.setRotationPoint(0.0F, 1.2F, 2.02F); + this.Back.addBox(-4.0F, 0.0F, 0.0F, 8, 5, 1, 0.0F); + this.TopLeft = new ModelRenderer(this, 0, 17); + this.TopLeft.setRotationPoint(0.0F, -0.3F, 0.0F); + this.TopLeft.addBox(-8.5F, 0.0F, -3.0F, 9, 2, 6, 0.1F); + this.setRotateAngle(TopLeft, 0.0F, 3.141592653589793F, 0.0F); + this.ShawlLeft1 = new ModelRenderer(this, 40, 0); + this.ShawlLeft1.setRotationPoint(-0.6F, 1.4F, 0.0F); + this.ShawlLeft1.addBox(0.0F, 0.0F, -3.0F, 6, 5, 6, 0.0F); + this.setRotateAngle(ShawlLeft1, 0.0F, 0.0F, -0.2792526803190927F); + this.RightF = new ModelRenderer(this, 32, 50); + this.RightF.setRotationPoint(-4.1F, 0.0F, 1.9F); + this.RightF.addBox(0.0F, 0.0F, -3.0F, 1, 11, 3, 0.0F); + this.setRotateAngle(RightF, 0.0F, -1.5707963267948966F, 0.0F); + this.Chest = new ModelRenderer(this, 0, 0); + this.Chest.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Chest.addBox(-4.5F, 0.0F, -2.5F, 9, 12, 5, 0.0F); + this.LeftFS = new ModelRenderer(this, 36, 51); + this.LeftFS.setRotationPoint(-1.8F, 0.0F, -2.9F); + this.LeftFS.addBox(1.0F, 0.0F, 2.0F, 1, 11, 2, 0.0F); + this.setRotateAngle(LeftFS, 0.0F, 0.7853981633974483F, 0.0F); + this.Collar = new ModelRenderer(this, 0, 33); + this.Collar.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Collar.addBox(-5.5F, -1.0F, -5.5F, 11, 2, 11, 0.0F); + this.setRotateAngle(Collar, 0.0F, 3.141592653589793F, 0.0F); + this.Top_1 = new ModelRenderer(this, 0, 17); + this.Top_1.setRotationPoint(0.0F, -0.3F, 0.0F); + this.Top_1.addBox(-8.5F, 0.0F, -3.0F, 9, 2, 6, 0.01F); + this.Left = new ModelRenderer(this, 0, 46); + this.Left.mirror = true; + this.Left.setRotationPoint(-0.5F, -0.3F, 0.0F); + this.Left.addBox(4.0F, -8.3F, -5.0F, 1, 7, 11, 0.0F); + this.setRotateAngle(Left, 0.0F, 3.141592653589793F, 0.08726646259971647F); + this.RightFront = new ModelRenderer(this, 31, 50); + this.RightFront.setRotationPoint(-4.1F, 12.0F, 0.0F); + this.RightFront.addBox(-0.7F, 0.0F, -1.5F, 1, 11, 3, 0.0F); + this.setRotateAngle(RightFront, 0.0F, 3.141592653589793F, 0.08726646259971647F); + this.TrimLeft2 = new ModelRenderer(this, 0, 33); + this.TrimLeft2.setRotationPoint(-3.0F, -1.5F, -6.0F); + this.TrimLeft2.addBox(0.0F, 0.0F, 0.0F, 2, 2, 1, 0.0F); + this.setRotateAngle(TrimLeft2, 0.0F, 0.0F, 0.7853981633974483F); + this.TrimLeft4 = new ModelRenderer(this, 0, 46); + this.TrimLeft4.setRotationPoint(5.3F, -2.0F, 5.0F); + this.TrimLeft4.addBox(0.0F, 0.0F, 0.0F, 1, 2, 11, 0.0F); + this.setRotateAngle(TrimLeft4, 0.0F, 3.141592653589793F, 0.5235987755982988F); + this.LeftF = new ModelRenderer(this, 32, 50); + this.LeftF.setRotationPoint(-4.1F, 0.0F, -1.9F); + this.LeftF.addBox(0.0F, 0.0F, 2.1F, 1, 11, 3, 0.0F); + this.setRotateAngle(LeftF, 0.0F, 1.5707963267948966F, 0.0F); + this.TrimRight2 = new ModelRenderer(this, 0, 33); + this.TrimRight2.setRotationPoint(3.0F, -1.5F, -6.0F); + this.TrimRight2.addBox(0.0F, 0.0F, 0.0F, 2, 2, 1, 0.0F); + this.setRotateAngle(TrimRight2, 0.0F, 0.0F, 0.7853981633974483F); + this.ShawlRight2 = new ModelRenderer(this, 42, 11); + this.ShawlRight2.mirror = true; + this.ShawlRight2.setRotationPoint(-2.5F, -1.8F, -0.1F); + this.ShawlRight2.addBox(1.0F, -1.0F, -2.0F, 6, 3, 5, 0.0F); + this.setRotateAngle(ShawlRight2, 0.0F, 0.0F, 0.9424777960769379F); + this.LeftFront = new ModelRenderer(this, 33, 50); + this.LeftFront.setRotationPoint(2.1F, 12.0F, 0.0F); + this.LeftFront.addBox(1.4F, 0.0F, -1.5F, 1, 11, 3, 0.0F); + this.setRotateAngle(LeftFront, 0.0F, 0.0F, -0.08726646259971647F); + this.LeftBA = new ModelRenderer(this, 35, 48); + this.LeftBA.setRotationPoint(-2.9F, -0.1F, 3.91F); + this.LeftBA.addBox(0.3F, 0.0F, -6.0F, 1, 11, 5, 0.0F); + this.setRotateAngle(LeftBA, 0.0F, 0.4363323129985824F, 0.08726646259971647F); + this.field_78123_h = new ModelRenderer(this, 48, 30); + this.field_78123_h.setRotationPoint(-1.9F, 12.0F, 0.1F); + this.field_78123_h.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, 0.0F); + this.TrimRight4 = new ModelRenderer(this, 0, 46); + this.TrimRight4.mirror = true; + this.TrimRight4.setRotationPoint(-4.5F, -2.5F, 5.0F); + this.TrimRight4.addBox(0.0F, 0.0F, 0.0F, 1, 2, 11, 0.0F); + this.setRotateAngle(TrimRight4, 0.0F, 3.141592653589793F, -0.5235987755982988F); + this.Flop = new ModelRenderer(this, 2, 0); + this.Flop.setRotationPoint(0.0F, -7.0F, 8.5F); + this.Flop.addBox(-4.0F, 0.0F, 0.0F, 8, 7, 4, 0.0F); + this.setRotateAngle(Flop, 0.5235987755982988F, 3.141592653589793F, 0.0F); + this.RightB = new ModelRenderer(this, 34, 50); + this.RightB.setRotationPoint(-6.1F, -0.2F, -3.6F); + this.RightB.addBox(-1.7F, 0.1F, 2.0F, 1, 11, 3, 0.0F); + this.setRotateAngle(RightB, 0.0F, 1.5707963267948966F, 0.0F); + this.RightB2 = new ModelRenderer(this, 33, 51); + this.RightB2.setRotationPoint(-6.2F, 0.0F, -3.61F); + this.RightB2.addBox(-1.7F, -0.3F, 1.2F, 1, 11, 2, 0.0F); + this.setRotateAngle(RightB2, 0.0F, 1.5707963267948966F, 0.08726646259971647F); + this.RightBA = new ModelRenderer(this, 33, 48); + this.RightBA.setRotationPoint(-6.9F, -0.3F, -3.61F); + this.RightBA.addBox(-3.1F, 0.0F, -4.6F, 1, 11, 5, 0.0F); + this.setRotateAngle(RightBA, 0.0F, 2.6179938779914944F, 0.08726646259971647F); + this.TrimRight3 = new ModelRenderer(this, 0, 0); + this.TrimRight3.setRotationPoint(3.7F, 0.0F, -5.5F); + this.TrimRight3.addBox(0.0F, 0.0F, 0.0F, 2, 2, 1, 0.0F); + this.setRotateAngle(TrimRight3, 0.0F, 3.141592653589793F, 0.7853981633974483F); + this.Belt = new ModelRenderer(this, 0, 37); + this.Belt.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Belt.addBox(-6.8F, 10.0F, -3.0F, 10, 3, 6, 0.0F); + this.setRotateAngle(Belt, 0.0F, 0.0F, -0.13962634015954636F); + this.ShawlLeft2 = new ModelRenderer(this, 42, 11); + this.ShawlLeft2.mirror = true; + this.ShawlLeft2.setRotationPoint(-2.5F, -1.8F, 0.1F); + this.ShawlLeft2.addBox(1.0F, -1.0F, -3.0F, 6, 3, 5, 0.0F); + this.setRotateAngle(ShawlLeft2, 0.0F, 0.0F, 0.9424777960769379F); + this.RightFS = new ModelRenderer(this, 35, 51); + this.RightFS.setRotationPoint(-1.8F, 0.0F, 2.9F); + this.RightFS.addBox(-0.5F, 0.0F, -2.5F, 1, 11, 2, 0.0F); + this.setRotateAngle(RightFS, 0.0F, -0.7853981633974483F, 0.0F); + this.ArmLeft = new ModelRenderer(this, 44, 30); + this.ArmLeft.setRotationPoint(3.5F, -0.0F, 0.0F); + this.ArmLeft.addBox(0.0F, 0.0F, -2.5F, 5, 11, 5, 0.0F); + this.Top = new ModelRenderer(this, 24, 52); + this.Top.setRotationPoint(-0.5F, 0.0F, -1.0F); + this.Top.addBox(-4.0F, -9.0F, -5.0F, 9, 1, 11, 0.0F); + this.ArmRight = new ModelRenderer(this, 44, 30); + this.ArmRight.setRotationPoint(-3.5F, 0.0F, 0.0F); + this.ArmRight.addBox(0.0F, 0.0F, -2.5F, 5, 11, 5, 0.0F); + this.setRotateAngle(ArmRight, 0.0F, 3.141592653589793F, 0.0F); + this.LeftFront.addChild(this.LeftB2); + this.RightFront.addChild(this.RightBS); + this.LeftFront.addChild(this.LeftBS); + this.LeftFront.addChild(this.LeftB); + this.ArmRight.addChild(this.ShawlRight1); + this.ArmLeft.addChild(this.ShawlLeft1); + this.RightFront.addChild(this.RightF); + this.LeftFront.addChild(this.LeftFS); + this.LeftFront.addChild(this.LeftF); + this.ShawlRight1.addChild(this.ShawlRight2); + this.LeftFront.addChild(this.LeftBA); + this.RightFront.addChild(this.RightB); + this.RightFront.addChild(this.RightB2); + this.RightFront.addChild(this.RightBA); + this.ShawlLeft1.addChild(this.ShawlLeft2); + this.RightFront.addChild(this.RightFS); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + this.Button.render(f5); + this.Right.render(f5); + GL11.glPushMatrix(); + GL11.glTranslatef(this.TrimLeft3.offsetX, this.TrimLeft3.offsetY, this.TrimLeft3.offsetZ); + GL11.glTranslatef(this.TrimLeft3.rotationPointX * f5, this.TrimLeft3.rotationPointY * f5, this.TrimLeft3.rotationPointZ * f5); + GL11.glScaled(0.5D, 0.5D, 1.0D); + GL11.glTranslatef(-this.TrimLeft3.offsetX, -this.TrimLeft3.offsetY, -this.TrimLeft3.offsetZ); + GL11.glTranslatef(-this.TrimLeft3.rotationPointX * f5, -this.TrimLeft3.rotationPointY * f5, -this.TrimLeft3.rotationPointZ * f5); + this.TrimLeft3.render(f5); + GL11.glPopMatrix(); + this.field_78124_i.render(f5); + this.Back.render(f5); + this.TopLeft.render(f5); + this.Chest.render(f5); + this.Collar.render(f5); + this.Top_1.render(f5); + this.Left.render(f5); + this.RightFront.render(f5); + this.TrimLeft2.render(f5); + this.TrimLeft4.render(f5); + this.TrimRight2.render(f5); + this.LeftFront.render(f5); + this.field_78123_h.render(f5); + this.TrimRight4.render(f5); + GL11.glPushMatrix(); + GL11.glTranslatef(this.Flop.offsetX, this.Flop.offsetY, this.Flop.offsetZ); + GL11.glTranslatef(this.Flop.rotationPointX * f5, this.Flop.rotationPointY * f5, this.Flop.rotationPointZ * f5); + GL11.glScaled(1.1D, 1.0D, 1.0D); + GL11.glTranslatef(-this.Flop.offsetX, -this.Flop.offsetY, -this.Flop.offsetZ); + GL11.glTranslatef(-this.Flop.rotationPointX * f5, -this.Flop.rotationPointY * f5, -this.Flop.rotationPointZ * f5); + this.Flop.render(f5); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslatef(this.TrimRight3.offsetX, this.TrimRight3.offsetY, this.TrimRight3.offsetZ); + GL11.glTranslatef(this.TrimRight3.rotationPointX * f5, this.TrimRight3.rotationPointY * f5, this.TrimRight3.rotationPointZ * f5); + GL11.glScaled(0.5D, 0.5D, 1.0D); + GL11.glTranslatef(-this.TrimRight3.offsetX, -this.TrimRight3.offsetY, -this.TrimRight3.offsetZ); + GL11.glTranslatef(-this.TrimRight3.rotationPointX * f5, -this.TrimRight3.rotationPointY * f5, -this.TrimRight3.rotationPointZ * f5); + this.TrimRight3.render(f5); + GL11.glPopMatrix(); + this.Belt.render(f5); + this.ArmLeft.render(f5); + this.Top.render(f5); + this.ArmRight.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/lance5057/tDefense/armor/renderers/ModelSheath.java b/src/main/java/lance5057/tDefense/armor/renderers/ModelSheath.java new file mode 100644 index 0000000..ba2b101 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/renderers/ModelSheath.java @@ -0,0 +1,105 @@ +package lance5057.tDefense.armor.renderers; + +import lance5057.tDefense.TinkersDefense; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.client.FMLClientHandler; + +/** + * ModelBiped - Either Mojang or a mod author + * Created using Tabula 4.1.1 + */ +public class ModelSheath extends ModelBiped { + public ModelRenderer sheath; + public ModelRenderer belt; + + String Color[]; + int rgbColors[]; + + public ModelSheath(String color[] /*4*/) { + this.textureWidth = 32; + this.textureHeight = 32; + this.belt = new ModelRenderer(this, 16, 0); + this.belt.setRotationPoint(-4.5F, 0.0F, 0.5F); + this.belt.addBox(0.0F, 0.0F, -3.0F, 1, 12, 5, 0.0F); + this.setRotateAngle(belt, 0.0F, 0.0F, -0.7853981633974483F); + this.sheath = new ModelRenderer(this, 0, 0); + this.sheath.setRotationPoint(-0.3F, 3.5F, 2.0F); + this.sheath.addBox(-3.0F, 0.0F, 0.0F, 6, 24, 2, 0.0F); + this.setRotateAngle(sheath, 0.0F, 0.0F, -0.45F); + + Color = color; + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + + GL11.glPushMatrix(); + + //Sheath Base + GL11.glPushMatrix(); + rgbColors = TinkersDefense.hexToRGB(Color[1]); + GL11.glColor3d((float)rgbColors[0]/255, (float)rgbColors[1]/255, (float)rgbColors[2]/255); + + GL11.glTranslatef(this.sheath.offsetX, this.sheath.offsetY, this.sheath.offsetZ); + GL11.glTranslatef(this.sheath.rotationPointX * f5, this.sheath.rotationPointY * f5, this.sheath.rotationPointZ * f5); + GL11.glScaled(0.65D, 0.65D, 0.5D); + GL11.glTranslatef(-this.sheath.offsetX, -this.sheath.offsetY, -this.sheath.offsetZ); + GL11.glTranslatef(-this.sheath.rotationPointX * f5, -this.sheath.rotationPointY * f5, -this.sheath.rotationPointZ * f5); + + this.sheath.render(f5); + GL11.glPopMatrix(); + + //Belt + GL11.glPushMatrix(); + FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/armor/Sheath/_sheath_belt.png")); + + rgbColors = TinkersDefense.hexToRGB(Color[2]); + GL11.glColor3d((float)rgbColors[0]/255, (float)rgbColors[1]/255, (float)rgbColors[2]/255); + + this.belt.render(f5); + GL11.glPopMatrix(); + + //Buckle + GL11.glPushMatrix(); + FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/armor/Sheath/_sheath_clasp.png")); + + rgbColors = TinkersDefense.hexToRGB(Color[3]); + GL11.glColor3d((float)rgbColors[0]/255, (float)rgbColors[1]/255, (float)rgbColors[2]/255); + + this.belt.render(f5); + GL11.glPopMatrix(); + + //Filigree + GL11.glPushMatrix(); + FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/armor/Sheath/_sheath_filigree.png")); + + rgbColors = TinkersDefense.hexToRGB(Color[0]); + GL11.glColor3d((float)rgbColors[0]/255, (float)rgbColors[1]/255, (float)rgbColors[2]/255); + + GL11.glTranslatef(this.sheath.offsetX, this.sheath.offsetY, this.sheath.offsetZ); + GL11.glTranslatef(this.sheath.rotationPointX * f5, this.sheath.rotationPointY * f5, this.sheath.rotationPointZ * f5); + GL11.glScaled(0.65D, 0.65D, 0.5D); + GL11.glTranslatef(-this.sheath.offsetX, -this.sheath.offsetY, -this.sheath.offsetZ); + GL11.glTranslatef(-this.sheath.rotationPointX * f5, -this.sheath.rotationPointY * f5, -this.sheath.rotationPointZ * f5); + + this.sheath.render(f5); + GL11.glPopMatrix(); + + GL11.glPopMatrix(); + } + + /** + * 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/lance5057/tDefense/armor/renderers/ModelTinkerArmor.java b/src/main/java/lance5057/tDefense/armor/renderers/ModelTinkerArmor.java new file mode 100644 index 0000000..d8d17d1 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/renderers/ModelTinkerArmor.java @@ -0,0 +1,109 @@ +// Date: 1/19/2015 11:08:25 PM +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + +package lance5057.tDefense.armor.renderers; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelTinkerArmor extends ModelBiped +{ + //fields + ModelRenderer BackPlate; + ModelRenderer BreastPlate; + ModelRenderer Plackart; + ModelRenderer PauldronL; + ModelRenderer ArmL; + ModelRenderer PauldronR; + ModelRenderer ArmR; + + public ModelTinkerArmor(float f) + { + super(f, 0, 64,64); + textureWidth = 64; + textureHeight = 64; + + BackPlate = new ModelRenderer(this, 0, 56); + BackPlate.addBox(-4F, 0F, 1F, 8, 5, 3); + BackPlate.setRotationPoint(0F, 0F, 0F); + BackPlate.setTextureSize(64, 32); + BackPlate.mirror = true; + setRotation(BackPlate, -0.0872665F, 0F, 0F); + this.bipedBody.addChild(BackPlate); + + BreastPlate = new ModelRenderer(this, 0, 32); + BreastPlate.addBox(-4F, -1F, -5F, 8, 6, 4); + BreastPlate.setRotationPoint(0F, 0F, 0F); + BreastPlate.setTextureSize(64, 32); + BreastPlate.mirror = true; + setRotation(BreastPlate, 0.4363323F, 0F, 0F); + this.bipedBody.addChild(BreastPlate); + + Plackart = new ModelRenderer(this, 0, 42); + Plackart.addBox(-4F, 5F, -3F, 8, 7, 6); + Plackart.setRotationPoint(0F, 0F, 0F); + Plackart.setTextureSize(64, 32); + Plackart.mirror = true; + setRotation(Plackart, 0F, 0F, 0F); + this.bipedBody.addChild(Plackart); + + PauldronL = new ModelRenderer(this, 28, 32); + PauldronL.addBox(1F, -2F, -3.5F, 5, 5, 7); + PauldronL.setRotationPoint(0F, 0F, 0F); + PauldronL.setTextureSize(64, 32); + PauldronL.mirror = true; + setRotation(PauldronL, 0F, 0F, -0.7853982F); + this.bipedLeftArm.addChild(PauldronL); + + ArmL = new ModelRenderer(this, 28, 44); + ArmL.addBox(-1F, -2F, -3F, 5, 10, 6); + ArmL.setRotationPoint(0F, 0F, 0F); + ArmL.setTextureSize(64, 32); + ArmL.mirror = true; + setRotation(ArmL, 0F, 0F, 0F); + this.bipedLeftArm.addChild(ArmL); + + PauldronR = new ModelRenderer(this, 28, 32); + PauldronR.mirror = true; + PauldronR.addBox(-6F, -2F, -3.5F, 5, 5, 7); + PauldronR.setRotationPoint(0F, 0F, 0F); + PauldronR.setTextureSize(64, 32); + PauldronR.mirror = true; + setRotation(PauldronR, 0F, 0F, 0.7853982F); + PauldronR.mirror = false; + this.bipedRightArm.addChild(PauldronR); + + ArmR = new ModelRenderer(this, 28, 44); + ArmR.mirror = true; + ArmR.addBox(-4F, -2F, -3F, 5, 10, 6); + ArmR.setRotationPoint(0F, 0F, 0F); + ArmR.setTextureSize(64, 32); + ArmR.mirror = true; + setRotation(ArmR, 0F, 0F, 0F); + ArmR.mirror = false; + this.bipedRightArm.addChild(ArmR); + } + + 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, entity); + } + + 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); + } + +} |
