From 2b70895bbb350ba51e0aa3eebf772ca8267af0fe Mon Sep 17 00:00:00 2001 From: Lance5057 Date: Thu, 15 Oct 2015 04:53:49 -0500 Subject: More models, Experimented with Botania integration --- src/api/java/thaumcraft/api/IGoggles.java | 22 -- src/api/java/thaumcraft/api/ItemApi.java | 70 ---- src/api/java/thaumcraft/api/nodes/IRevealer.java | 22 -- .../java/lance5057/tDefense/TinkersDefense.java | 11 +- .../lance5057/tDefense/armor/items/ClothArmor.java | 4 +- .../java/lance5057/tDefense/armor/items/Mask.java | 108 ++++++ .../tDefense/armor/items/TinkerArmor.java | 2 +- .../tDefense/armor/renderers/ModelClothArmor.java | 392 ++++++++++----------- .../tDefense/armor/renderers/ModelMask.java | 74 ++++ .../tDefense/armor/renderers/ModelScarf.java | 49 +++ .../tools/modifiers/TDefenseActiveToolMod.java | 27 +- .../core/tools/modifiers/modifierDaze.java | 97 ----- .../core/tools/modifiers/weapons/modifierDaze.java | 97 +++++ .../modifiers/weapons/modifierTorchArrow.java | 72 ++++ .../java/lance5057/tDefense/proxy/ClientProxy.java | 7 +- .../tinkersdefense/textures/armor/ClothArmor.png | Bin 0 -> 2838 bytes .../textures/armor/Mask/_mask_face.png | Bin 0 -> 492 bytes 17 files changed, 626 insertions(+), 428 deletions(-) delete mode 100644 src/api/java/thaumcraft/api/IGoggles.java delete mode 100644 src/api/java/thaumcraft/api/ItemApi.java delete mode 100644 src/api/java/thaumcraft/api/nodes/IRevealer.java create mode 100644 src/main/java/lance5057/tDefense/armor/items/Mask.java create mode 100644 src/main/java/lance5057/tDefense/armor/renderers/ModelMask.java create mode 100644 src/main/java/lance5057/tDefense/armor/renderers/ModelScarf.java delete mode 100644 src/main/java/lance5057/tDefense/core/tools/modifiers/modifierDaze.java create mode 100644 src/main/java/lance5057/tDefense/core/tools/modifiers/weapons/modifierDaze.java create mode 100644 src/main/java/lance5057/tDefense/core/tools/modifiers/weapons/modifierTorchArrow.java create mode 100644 src/main/resources/assets/tinkersdefense/textures/armor/ClothArmor.png create mode 100644 src/main/resources/assets/tinkersdefense/textures/armor/Mask/_mask_face.png (limited to 'src') diff --git a/src/api/java/thaumcraft/api/IGoggles.java b/src/api/java/thaumcraft/api/IGoggles.java deleted file mode 100644 index 2f53d81..0000000 --- a/src/api/java/thaumcraft/api/IGoggles.java +++ /dev/null @@ -1,22 +0,0 @@ -package thaumcraft.api; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; - -/** - * - * @author Azanor - * - * Equipped head slot items that extend this class will be able to perform most functions that - * goggles of revealing can apart from view nodes which is handled by IRevealer. - * - */ - -public interface IGoggles { - - /* - * If this method returns true things like block essentia contents will be shown. - */ - public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player); - -} diff --git a/src/api/java/thaumcraft/api/ItemApi.java b/src/api/java/thaumcraft/api/ItemApi.java deleted file mode 100644 index 25dda28..0000000 --- a/src/api/java/thaumcraft/api/ItemApi.java +++ /dev/null @@ -1,70 +0,0 @@ -package thaumcraft.api; - -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import cpw.mods.fml.common.FMLLog; - -/** - * @author Azanor - * - * This is used to gain access to the items in my mod. - * I only give some examples and it will probably still - * require a bit of work for you to get hold of everything you need. - * - */ -public class ItemApi { - - public static ItemStack getItem(String itemString, int meta) { - ItemStack item = null; - - try { - String itemClass = "thaumcraft.common.config.ConfigItems"; - Object obj = Class.forName(itemClass).getField(itemString).get(null); - if (obj instanceof Item) { - item = new ItemStack((Item) obj,1,meta); - } else if (obj instanceof ItemStack) { - item = (ItemStack) obj; - } - } catch (Exception ex) { - FMLLog.warning("[Thaumcraft] Could not retrieve item identified by: " + itemString); - } - - return item; - } - - public static ItemStack getBlock(String itemString, int meta) { - ItemStack item = null; - - try { - String itemClass = "thaumcraft.common.config.ConfigBlocks"; - Object obj = Class.forName(itemClass).getField(itemString).get(null); - if (obj instanceof Block) { - item = new ItemStack((Block) obj,1,meta); - } else if (obj instanceof ItemStack) { - item = (ItemStack) obj; - } - } catch (Exception ex) { - FMLLog.warning("[Thaumcraft] Could not retrieve block identified by: " + itemString); - } - - return item; - } - - /** - * - * Some examples - * - * Casting Wands: - * itemWandCasting - * - * Resources: - * itemEssence, itemWispEssence, itemResource, itemShard, itemNugget, - * itemNuggetChicken, itemNuggetBeef, itemNuggetPork, itemTripleMeatTreat - * - * Research: - * itemResearchNotes, itemInkwell, itemThaumonomicon - * - */ - -} diff --git a/src/api/java/thaumcraft/api/nodes/IRevealer.java b/src/api/java/thaumcraft/api/nodes/IRevealer.java deleted file mode 100644 index 14a19b5..0000000 --- a/src/api/java/thaumcraft/api/nodes/IRevealer.java +++ /dev/null @@ -1,22 +0,0 @@ -package thaumcraft.api.nodes; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; - -/** - * - * @author Azanor - * - * Equipped head slot items that extend this class will make nodes visible in world. - * - */ - -public interface IRevealer { - - /* - * If this method returns true the nodes will be visible. - */ - public boolean showNodes(ItemStack itemstack, EntityLivingBase player); - - -} diff --git a/src/main/java/lance5057/tDefense/TinkersDefense.java b/src/main/java/lance5057/tDefense/TinkersDefense.java index 85a369e..2f322cc 100644 --- a/src/main/java/lance5057/tDefense/TinkersDefense.java +++ b/src/main/java/lance5057/tDefense/TinkersDefense.java @@ -5,6 +5,7 @@ import static net.minecraft.util.EnumChatFormatting.GOLD; import static net.minecraft.util.EnumChatFormatting.LIGHT_PURPLE; import lance5057.tDefense.armor.items.ChainArmor; import lance5057.tDefense.armor.items.ClothArmor; +import lance5057.tDefense.armor.items.Mask; import lance5057.tDefense.armor.items.Sheath; import lance5057.tDefense.armor.items.TinkerArmor; import lance5057.tDefense.armor.parts.Item_Cloth; @@ -28,11 +29,12 @@ import lance5057.tDefense.core.tools.RoundShield; import lance5057.tDefense.core.tools.TinkerWrench; import lance5057.tDefense.core.tools.TinkerZweihander; import lance5057.tDefense.core.tools.modifiers.TDefenseActiveToolMod; -import lance5057.tDefense.core.tools.modifiers.modifierDaze; import lance5057.tDefense.core.tools.modifiers.shields.modifierCrestofBlades; import lance5057.tDefense.core.tools.modifiers.shields.modifierCrestofFeathers; import lance5057.tDefense.core.tools.modifiers.shields.modifierCrestofLegends; import lance5057.tDefense.core.tools.modifiers.shields.modifierCrestofMirrors; +import lance5057.tDefense.core.tools.modifiers.weapons.modifierDaze; +import lance5057.tDefense.core.tools.modifiers.weapons.modifierTorchArrow; import lance5057.tDefense.finishingAnvil.blocks.finishingAnvil.FinishingAnvil; import lance5057.tDefense.finishingAnvil.blocks.finishingAnvil.TileEntity_FinishingAnvil; import lance5057.tDefense.proxy.CommonProxy; @@ -125,6 +127,7 @@ public class TinkersDefense { public static ToolCore tool_heaterShield; public static ToolCore tool_wrench; public static ToolCore tool_sheath; + public static ToolCore tool_mask; public static ToolCore tool_zweihander; public static Block block_CrestMount; @@ -298,6 +301,7 @@ public class TinkersDefense { tool_wrench = new TinkerWrench(); tool_sheath = new Sheath(); + tool_mask = new Mask(); tool_zweihander = new TinkerZweihander(0); @@ -306,6 +310,7 @@ public class TinkersDefense { GameRegistry.registerItem(tool_heaterShield, "Heater Shield"); GameRegistry.registerItem(tool_wrench, "Tinker Wrench"); GameRegistry.registerItem(tool_sheath, "Sheath"); + GameRegistry.registerItem(tool_mask, "Mask"); GameRegistry.registerItem(tool_zweihander, "Zweihander"); //Add Tools to TiCo directory @@ -313,6 +318,7 @@ public class TinkersDefense { TConstructRegistry.addItemToDirectory("Heater Shield", tool_heaterShield); TConstructRegistry.addItemToDirectory("Tinker Wrench", tool_wrench); TConstructRegistry.addItemToDirectory("Sheath", tool_sheath); + TConstructRegistry.addItemToDirectory("Mask", tool_mask); TConstructRegistry.addItemToDirectory("Zweihander", tool_zweihander); //Register Items @@ -398,6 +404,8 @@ public class TinkersDefense { ModifyBuilder.registerModifier(new modifierDaze("Daze", config.DazeID, new ItemStack[] { new ItemStack(Blocks.light_weighted_pressure_plate), new ItemStack(Items.potionitem,1,8202)}, new int[] {1,0})); + //ModifyBuilder.registerModifier(new modifierTorchArrow(new ItemStack[] {new ItemStack(Blocks.glowstone)}, 12)); + ModifyBuilder.registerModifier(new modifierCrestofFeathers("Crest of Feathers", config.CrestFeathersID, new ItemStack[] { new ItemStack(Items.feather)}, new int[] {1})); @@ -597,6 +605,7 @@ public class TinkersDefense { //Armor TConstructRegistry.addToolRecipe(tool_sheath, partArmorplate,TinkerTools.toolRod, partCloth, partClasp); + TConstructRegistry.addToolRecipe(tool_mask, partArmorplate, partCloth, partClasp); tcInject = new Injector(0,TinkerTools.broadsword); GameRegistry.registerItem(tcInject, "debugger"); diff --git a/src/main/java/lance5057/tDefense/armor/items/ClothArmor.java b/src/main/java/lance5057/tDefense/armor/items/ClothArmor.java index 7bd6752..e297028 100644 --- a/src/main/java/lance5057/tDefense/armor/items/ClothArmor.java +++ b/src/main/java/lance5057/tDefense/armor/items/ClothArmor.java @@ -26,7 +26,7 @@ public class ClothArmor extends ItemArmor { @Override public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return "tinkersdefense:textures/armor/ChainArmor.png"; + return "tinkersdefense:textures/armor/ClothArmor.png"; } @Override @@ -35,7 +35,7 @@ public class ClothArmor extends ItemArmor { ItemStack itemStack, int armorSlot) { // return ClientProxy.chain; - ModelBiped armorModel = ClientProxy.chain; + ModelBiped armorModel = ClientProxy.cloth; if (itemStack != null) { // if (itemStack.getItem() instanceof TinkerArmor) { // int type = ((ItemArmor) itemStack.getItem()).armorType; diff --git a/src/main/java/lance5057/tDefense/armor/items/Mask.java b/src/main/java/lance5057/tDefense/armor/items/Mask.java new file mode 100644 index 0000000..da6ca4c --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/items/Mask.java @@ -0,0 +1,108 @@ +package lance5057.tDefense.armor.items; + +import lance5057.tDefense.armor.renderers.ModelSheath; +import lance5057.tDefense.armor.renderers.ModelMask; +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 Mask extends ToolCore implements IAccessoryModel,IAccessory +{ + + public Mask() + { + super(0); + } + + @Override + public boolean canEquipAccessory(ItemStack item, int slot) + { + return slot == 0; + } + + @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 ModelMask(color); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, + String type) { + return "tinkersdefense:textures/armor/Mask/_mask_face.png"; + } + + ResourceLocation texture = new ResourceLocation("tinkersdefense", "textures/armor/Mask/_mask_face.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/Mask"; + } + + @Override + public String getEffectSuffix() { + return "_mask_effect"; + } + + @Override + public Item getHeadItem() { + // TODO Auto-generated method stub + return null; + } + + @SideOnly(Side.CLIENT) + @Override + public int getPartAmount() { + return 3; + } + + @Override + public String getIconSuffix(int partType) { + switch (partType) { + case 0: + return "_mask_face"; + case 1: + return "hurdur"; //useless + case 2: + return "_mask_clasp"; + case 3: + return "_mask_strap"; + default: + return ""; + } + } + + @Override + public String[] getTraits() { + return new String[] { "mask", "cosmetic" }; + } + +} diff --git a/src/main/java/lance5057/tDefense/armor/items/TinkerArmor.java b/src/main/java/lance5057/tDefense/armor/items/TinkerArmor.java index 8660d34..964d8ca 100644 --- a/src/main/java/lance5057/tDefense/armor/items/TinkerArmor.java +++ b/src/main/java/lance5057/tDefense/armor/items/TinkerArmor.java @@ -36,7 +36,7 @@ public class TinkerArmor extends ItemArmor { { // return ClientProxy.chain; - ModelBiped armorModel = ClientProxy.tutChest; + ModelBiped armorModel = ClientProxy.mask; if (itemStack != null) { // if (itemStack.getItem() instanceof TinkerArmor) { // int type = ((ItemArmor) itemStack.getItem()).armorType; diff --git a/src/main/java/lance5057/tDefense/armor/renderers/ModelClothArmor.java b/src/main/java/lance5057/tDefense/armor/renderers/ModelClothArmor.java index fec1dc4..bf58d45 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/ModelClothArmor.java +++ b/src/main/java/lance5057/tDefense/armor/renderers/ModelClothArmor.java @@ -1,22 +1,19 @@ package lance5057.tDefense.armor.renderers; import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -import org.lwjgl.opengl.GL11; /** - * Hood - Lance5057 + * ModelBiped - Either Mojang or a mod author * 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 class ModelClothArmor extends ModelBiped { + public ModelRenderer Collar; public ModelRenderer Top; public ModelRenderer Left; public ModelRenderer Right; - public ModelRenderer Collar; public ModelRenderer TrimLeft2; public ModelRenderer TrimLeft3; public ModelRenderer TrimLeft4; @@ -24,17 +21,18 @@ public class ModelClothArmor extends ModelBase { 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 Belt; + public ModelRenderer Button; + public ModelRenderer TopLeft; + public ModelRenderer Back; + public ModelRenderer TopRight; public ModelRenderer LeftFront; public ModelRenderer RightFront; public ModelRenderer LeftFS; @@ -51,227 +49,203 @@ public class ModelClothArmor extends ModelBase { public ModelRenderer RightBA; public ModelClothArmor() { + super(1f, 0, 64,96); + 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.textureHeight = 96; + + this.TrimLeft2 = new ModelRenderer(this, 0, 65); + this.TrimLeft2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.TrimLeft2.addBox(-3.1F, 1.1F, -6.0F, 2, 2, 1, 0.0F); + this.setRotateAngle(TrimLeft2, 0.0F, 0.0F, 0.7853981633974483F); + this.ShawlLeft2 = new ModelRenderer(this, 42, 43); + this.ShawlLeft2.mirror = true; + this.ShawlLeft2.setRotationPoint(-2.5F, -1.8F, 0.1F); + this.ShawlLeft2.addBox(-1.5F, -1.6F, -3.0F, 6, 3, 5, 0.0F); + this.setRotateAngle(ShawlLeft2, 0.0F, 0.0F, 0.9424777960769379F); + this.Back = new ModelRenderer(this, 46, 72); 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 = new ModelRenderer(this, 0, 65); 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.LeftFS = new ModelRenderer(this, 36, 83); + this.LeftFS.setRotationPoint(0.0F, 0.0F, 0.0F); + this.LeftFS.addBox(1.75F, 0.0F, -1.35F, 1, 11, 2, 0.0F); + this.setRotateAngle(LeftFS, 0.0F, 0.7853981633974483F, 0.0F); + this.TopLeft = new ModelRenderer(this, 0, 49); + this.TopLeft.setRotationPoint(0.0F, 0.0F, 0.0F); + this.TopLeft.addBox(-8.5F, -0.3F, -3.0F, 9, 2, 6, 0.0F); + this.setRotateAngle(TopLeft, 0.0F, 3.141592653589793F, 0.0F); + this.LeftB = new ModelRenderer(this, 34, 82); + this.LeftB.setRotationPoint(0.0F, 0.0F, 0.0F); + this.LeftB.addBox(1.9F, 0.0F, -1.0F, 1, 11, 3, 0.0F); + this.setRotateAngle(LeftB, 0.0F, 4.71238898038469F, 0.0F); + this.RightFS = new ModelRenderer(this, 35, 83); + this.RightFS.setRotationPoint(0.0F, 0.0F, 0.0F); + this.RightFS.addBox(1.75F, 0.0F, -0.65F, 1, 11, 2, 0.0F); + this.setRotateAngle(RightFS, 0.0F, -0.7853981633974483F, 0.0F); + this.RightBS = new ModelRenderer(this, 34, 83); + this.RightBS.setRotationPoint(0.0F, 0.0F, 0.0F); + this.RightBS.addBox(1.75F, 0.0F, -1.35F, 1, 11, 2, 0.0F); + this.setRotateAngle(RightBS, 0.0F, 0.7853981633974483F, 0.0F); + this.RightFront = new ModelRenderer(this, 31, 82); + this.RightFront.setRotationPoint(0.0F, 0.0F, 0.0F); + this.RightFront.addBox(1.4F, 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.TrimLeft3 = new ModelRenderer(this, 0, 32); + this.TrimLeft3.setRotationPoint(-2.3F, 0.0F, -5.5F); + this.TrimLeft3.addBox(0.0F, 0.0F, 0.0F, 1, 1, 1, 0.0F); + this.setRotateAngle(TrimLeft3, 0.009773843811168246F, 3.141592653589793F, 0.7853981633974483F); + this.TrimRight4 = new ModelRenderer(this, 0, 78); 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.TrimRight4.setRotationPoint(0.0F, 0.0F, 0.0F); + this.TrimRight4.addBox(2.6F, -4.5F, -5.0F, 1, 3, 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.RightBA = new ModelRenderer(this, 33, 80); + this.RightBA.setRotationPoint(0.0F, 0.0F, 0.0F); + this.RightBA.addBox(2.9F, 0.1F, -3.9F, 1, 11, 5, 0.0F); + this.setRotateAngle(RightBA, 0.0F, 2.6179938779914944F, 0.08726646259971647F); + this.ArmLeft = new ModelRenderer(this, 44, 62); + this.ArmLeft.setRotationPoint(0.0F, 0.0F, 0.0F); + this.ArmLeft.addBox(-1.5F, -2.0F, -2.5F, 5, 11, 5, 0.0F); + this.RightB2 = new ModelRenderer(this, 33, 83); + this.RightB2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.RightB2.addBox(1.91F, 0.1F, -2.8F, 1, 11, 2, 0.0F); + this.setRotateAngle(RightB2, 0.0F, 1.5707963267948966F, 0.08726646259971647F); + this.LeftB2 = new ModelRenderer(this, 34, 83); + this.LeftB2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.LeftB2.addBox(1.91F, 0.1F, 1.0F, 1, 11, 2, 0.0F); + this.setRotateAngle(LeftB2, 0.0F, 4.71238898038469F, 0.08726646259971647F); + this.LeftFront = new ModelRenderer(this, 33, 82); + this.LeftFront.setRotationPoint(0.0F, 0.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.TopRight = new ModelRenderer(this, 0, 49); + this.TopRight.setRotationPoint(0.0F, 0.0F, 0.0F); + this.TopRight.addBox(-8.5F, -0.3F, -3.0F, 9, 2, 6, 0.0F); + this.LeftBA = new ModelRenderer(this, 35, 80); + this.LeftBA.setRotationPoint(0.0F, 0.0F, 0.0F); + this.LeftBA.addBox(3.1F, 0.1F, -1.0F, 1, 11, 5, 0.0F); + this.setRotateAngle(LeftBA, 0.0F, 3.6651914291880923F, 0.08726646259971647F); + this.Left = new ModelRenderer(this, 0, 78); + this.Left.mirror = true; + this.Left.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Left.addBox(4.5F, -8.6F, -5.0F, 1, 7, 11, 0.0F); + this.setRotateAngle(Left, 0.0F, 3.141592653589793F, 0.08726646259971647F); + this.Flop = new ModelRenderer(this, 2, 32); + this.Flop.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Flop.addBox(-4.5F, -10.0F, -4.0F, 9, 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.Top = new ModelRenderer(this, 24, 84); + this.Top.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Top.addBox(-4.5F, -9.0F, -6.0F, 9, 1, 11, 0.0F); + this.Button = new ModelRenderer(this, 0, 32); + this.Button.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Button.addBox(0.0F, 0.0F, -3.5F, 2, 2, 1, 0.0F); + this.setRotateAngle(Button, 0.0F, 0.0F, 0.7853981633974483F); + this.Right = new ModelRenderer(this, 0, 78); + this.Right.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Right.addBox(-5.5F, -8.6F, -5.0F, 1, 7, 11, 0.0F); + this.setRotateAngle(Right, 0.0F, 3.141592653589793F, -0.08726646259971647F); + this.RightB = new ModelRenderer(this, 34, 82); + this.RightB.setRotationPoint(0.0F, 0.0F, 0.0F); + this.RightB.addBox(1.9F, 0.0F, -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.ShawlLeft1 = new ModelRenderer(this, 40, 32); + this.ShawlLeft1.setRotationPoint(-0.6F, 1.4F, 0.0F); + this.ShawlLeft1.addBox(-0.9F, -2.3F, -3.0F, 6, 5, 6, 0.0F); + this.setRotateAngle(ShawlLeft1, 0.0F, 0.0F, -0.2792526803190927F); + this.TrimRight3 = new ModelRenderer(this, 0, 32); this.TrimRight3.setRotationPoint(3.7F, 0.0F, -5.5F); - this.TrimRight3.addBox(0.0F, 0.0F, 0.0F, 2, 2, 1, 0.0F); + this.TrimRight3.addBox(0.0F, 0.0F, 0.0F, 1, 1, 1, 0.0F); this.setRotateAngle(TrimRight3, 0.0F, 3.141592653589793F, 0.7853981633974483F); - this.Belt = new ModelRenderer(this, 0, 37); + this.ShawlRight1 = new ModelRenderer(this, 40, 32); + this.ShawlRight1.mirror = true; + this.ShawlRight1.setRotationPoint(-0.6F, 1.4F, 0.0F); + this.ShawlRight1.addBox(-0.9F, -2.3F, -3.0F, 6, 5, 6, 0.0F); + this.setRotateAngle(ShawlRight1, 0.0F, 0.0F, -0.2792526803190927F); + this.ArmRight = new ModelRenderer(this, 44, 62); + this.ArmRight.setRotationPoint(0.0F, 0.0F, 0.0F); + this.ArmRight.addBox(-1.5F, -2.0F, -2.5F, 5, 11, 5, 0.0F); + this.setRotateAngle(ArmRight, 0.0F, 3.141592653589793F, 0.0F); + this.LeftF = new ModelRenderer(this, 32, 82); + this.LeftF.setRotationPoint(0.0F, 0.0F, 0.0F); + this.LeftF.addBox(1.9F, 0.0F, -2.0F, 1, 11, 3, 0.0F); + this.setRotateAngle(LeftF, 0.0F, 1.5707963267948966F, 0.0F); + this.TrimRight2 = new ModelRenderer(this, 0, 65); + 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.Belt = new ModelRenderer(this, 0, 69); 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.ShawlRight2 = new ModelRenderer(this, 42, 43); + this.ShawlRight2.mirror = true; + this.ShawlRight2.setRotationPoint(-2.5F, -1.8F, -0.1F); + this.ShawlRight2.addBox(-1.5F, -1.6F, -2.0F, 6, 3, 5, 0.0F); + this.setRotateAngle(ShawlRight2, 0.0F, 0.0F, 0.9424777960769379F); + this.LeftBS = new ModelRenderer(this, 33, 83); + this.LeftBS.setRotationPoint(0.0F, 0.0F, 0.0F); + this.LeftBS.addBox(1.75F, 0.0F, -0.65F, 1, 11, 2, 0.0F); + this.setRotateAngle(LeftBS, 0.0F, -0.7853981633974483F, 0.0F); + this.TrimLeft4 = new ModelRenderer(this, 0, 78); + this.TrimLeft4.setRotationPoint(0.0F, 0.0F, 0.0F); + this.TrimLeft4.addBox(-3.6F, -4.5F, -5.0F, 1, 3, 11, 0.0F); + this.setRotateAngle(TrimLeft4, 0.0F, 3.141592653589793F, 0.5235987755982988F); + this.Chest = new ModelRenderer(this, 0, 32); + this.Chest.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Chest.addBox(-4.5F, 0.0F, -2.5F, 9, 12, 5, 0.0F); + this.RightF = new ModelRenderer(this, 32, 82); + this.RightF.setRotationPoint(0.0F, 0.0F, 0.0F); + this.RightF.addBox(1.9F, 0.0F, -1.0F, 1, 11, 3, 0.0F); + this.setRotateAngle(RightF, 0.0F, -1.5707963267948966F, 0.0F); + this.Collar.addChild(this.TrimLeft2); + this.ShawlLeft1.addChild(this.ShawlLeft2); + this.Chest.addChild(this.Back); + this.LeftFront.addChild(this.LeftFS); + this.Chest.addChild(this.TopLeft); this.LeftFront.addChild(this.LeftB); - this.ArmRight.addChild(this.ShawlRight1); + this.RightFront.addChild(this.RightFS); + this.RightFront.addChild(this.RightBS); + this.Collar.addChild(this.TrimLeft3); + this.Collar.addChild(this.TrimRight4); + this.RightFront.addChild(this.RightBA); + this.RightFront.addChild(this.RightB2); + this.LeftFront.addChild(this.LeftB2); + this.Chest.addChild(this.TopRight); + this.LeftFront.addChild(this.LeftBA); + this.Collar.addChild(this.Left); + this.Collar.addChild(this.Flop); + this.Collar.addChild(this.Top); + this.Chest.addChild(this.Button); + this.Collar.addChild(this.Right); + this.RightFront.addChild(this.RightB); this.ArmLeft.addChild(this.ShawlLeft1); - this.RightFront.addChild(this.RightF); - this.LeftFront.addChild(this.LeftFS); + this.Collar.addChild(this.TrimRight3); + this.ArmRight.addChild(this.ShawlRight1); this.LeftFront.addChild(this.LeftF); + this.Collar.addChild(this.TrimRight2); + this.Chest.addChild(this.Belt); 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); + this.LeftFront.addChild(this.LeftBS); + this.Collar.addChild(this.TrimLeft4); + this.RightFront.addChild(this.RightF); + + this.bipedHead.addChild(Collar); + this.bipedLeftArm.addChild(ArmLeft); + this.bipedRightArm.addChild(ArmRight); + this.bipedLeftLeg.addChild(LeftFront); + this.bipedRightLeg.addChild(RightFront); + this.bipedBody.addChild(Chest); + this.bipedBody.addChild(Belt); } @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); + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); } /** diff --git a/src/main/java/lance5057/tDefense/armor/renderers/ModelMask.java b/src/main/java/lance5057/tDefense/armor/renderers/ModelMask.java new file mode 100644 index 0000000..055e0c6 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/renderers/ModelMask.java @@ -0,0 +1,74 @@ +package lance5057.tDefense.armor.renderers; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +/** + * HornedBand - Either Mojang or a mod author + * Created using Tabula 4.1.1 + */ +public class ModelMask extends ModelBiped +{ + public ModelRenderer Plate; + public ModelRenderer Band; + public ModelRenderer HornTipR; + public ModelRenderer HornTipL; + public ModelRenderer HornBaseR; + public ModelRenderer HornBaseL; + + String Color[]; + int rgbColors[]; + + public ModelMask(String color[] /*3*/) { + this.textureWidth = 64; + this.textureHeight = 64; + this.HornBaseR = new ModelRenderer(this, 0, 35); + this.HornBaseR.setRotationPoint(0.0F, 0.0F, 0.0F); + this.HornBaseR.addBox(-3.5F, -6.1F, -7.5F, 2, 2, 2, 0.0F); + this.setRotateAngle(HornBaseR, -0.17453292519943295F, 0.0F, 0.0F); + this.HornTipL = new ModelRenderer(this, 0, 39); + this.HornTipL.setRotationPoint(0.0F, 0.0F, 0.0F); + this.HornTipL.addBox(2.0F, -0.5F, -10.8F, 1, 1, 2, 0.1F); + this.setRotateAngle(HornTipL, -0.7853981633974483F, 0.0F, 0.0F); + this.HornTipR = new ModelRenderer(this, 0, 39); + this.HornTipR.setRotationPoint(0.0F, 0.0F, 0.0F); + this.HornTipR.addBox(-3.0F, -0.5F, -10.8F, 1, 1, 2, 0.1F); + this.setRotateAngle(HornTipR, -0.7853981633974483F, 0.0F, 0.0F); + this.Plate = new ModelRenderer(this, 0, 32); + this.Plate.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Plate.addBox(-4.0F, -7.0F, -5.0F, 8, 2, 1, 0.0F); + this.Band = new ModelRenderer(this, 0, 39); + this.Band.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Band.addBox(-4.0F, -6.5F, -4.0F, 8, 1, 8, 0.1F); + this.HornBaseL = new ModelRenderer(this, 0, 35); + this.HornBaseL.setRotationPoint(0.0F, 0.0F, 0.0F); + this.HornBaseL.addBox(1.5F, -6.1F, -7.5F, 2, 2, 2, 0.0F); + this.setRotateAngle(HornBaseL, -0.17453292519943295F, 0.0F, 0.0F); + this.Plate.addChild(this.HornBaseR); + this.Plate.addChild(this.HornBaseL); + + this.bipedHead.addChild(this.Plate); + this.bipedHead.addChild(this.HornTipL); + this.bipedHead.addChild(this.HornTipR); + this.bipedHead.addChild(this.Band); + + Color = color; + } + + @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/ModelScarf.java b/src/main/java/lance5057/tDefense/armor/renderers/ModelScarf.java new file mode 100644 index 0000000..56d085e --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/renderers/ModelScarf.java @@ -0,0 +1,49 @@ +package lance5057.tDefense.armor.renderers; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +/** + * Scarf - Either Mojang or a mod author + * Created using Tabula 4.1.1 + */ +public class ModelScarf extends ModelBiped +{ + public ModelRenderer ScarfNeck; + public ModelRenderer ScarfExtra1; + public ModelRenderer ScarfExtra1_1; + + public ModelScarf() { + this.textureWidth = 64; + this.textureHeight = 64; + this.ScarfExtra1_1 = new ModelRenderer(this, 0, 32); + this.ScarfExtra1_1.setRotationPoint(0.0F, 1.0F, 3.5F); + this.ScarfExtra1_1.addBox(-3.0F, 0.0F, 0.0F, 3, 11, 1, 0.0F); + this.setRotateAngle(ScarfExtra1_1, 0.0F, 0.0F, 0.17453292519943295F); + this.ScarfNeck = new ModelRenderer(this, 8, 32); + this.ScarfNeck.setRotationPoint(0.0F, 0.0F, 0.0F); + this.ScarfNeck.addBox(-4.0F, -2.0F, -4.0F, 8, 3, 8, 0.6F); + this.ScarfExtra1 = new ModelRenderer(this, 8, 32); + this.ScarfExtra1.setRotationPoint(0.0F, 1.0F, 3.5F); + this.ScarfExtra1.addBox(-0.5F, 0.0F, 0.0F, 3, 7, 1, 0.0F); + this.setRotateAngle(ScarfExtra1, 0.0F, 0.0F, -0.17453292519943295F); + this.ScarfNeck.addChild(this.ScarfExtra1_1); + this.ScarfNeck.addChild(this.ScarfExtra1); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + this.ScarfNeck.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/core/tools/modifiers/TDefenseActiveToolMod.java b/src/main/java/lance5057/tDefense/core/tools/modifiers/TDefenseActiveToolMod.java index 2075410..7fffad4 100644 --- a/src/main/java/lance5057/tDefense/core/tools/modifiers/TDefenseActiveToolMod.java +++ b/src/main/java/lance5057/tDefense/core/tools/modifiers/TDefenseActiveToolMod.java @@ -6,17 +6,24 @@ import java.util.Random; import mods.battlegear2.api.core.IBattlePlayer; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityFireball; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraft.world.World; import tconstruct.library.ActiveToolMod; import tconstruct.library.tools.ToolCore; +import vazkii.botania.common.entity.EntityManaBurst; +import vazkii.botania.common.item.ModItems; +import vazkii.botania.common.item.equipment.tool.ToolCommons; +import vazkii.botania.common.item.equipment.tool.terrasteel.ItemTerraSword; -public class TDefenseActiveToolMod extends ActiveToolMod { +public class TDefenseActiveToolMod extends ActiveToolMod +{ @Override public void updateTool(ToolCore tool, ItemStack stack, World world, Entity entity) { @@ -24,7 +31,7 @@ public class TDefenseActiveToolMod extends ActiveToolMod { if (!tags.getBoolean("Broken")) { - //stack.getTagCompound().getCompoundTag("InfiTool").setInteger("RenderHead", 100); + //Crest of Mirrors if(((IBattlePlayer)entity).isBlockingWithShield()) { if(tags.hasKey("Crest of Mirrors")) @@ -52,6 +59,20 @@ public class TDefenseActiveToolMod extends ActiveToolMod { } } } + + if(entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) entity; + PotionEffect haste = player.getActivePotionEffect(Potion.digSpeed); + float check = haste == null ? 0.16666667F : haste.getAmplifier() == 1 ? 0.5F : 0.4F; + + if(player.getCurrentEquippedItem() == stack && player.swingProgress == check && !world.isRemote && world.rand.nextInt(2) == 0) + { + EntityManaBurst burst = ((ItemTerraSword)ModItems.terraSword).getBurst(player, new ItemStack(ModItems.terraSword)); + world.spawnEntityInWorld(burst); + ToolCommons.damageItem(stack, 1, player, 100); + world.playSoundAtEntity(player, "botania:terraBlade", 0.4F, 1.4F); + } + } } } @@ -83,4 +104,6 @@ public class TDefenseActiveToolMod extends ActiveToolMod { return 0; } + + } diff --git a/src/main/java/lance5057/tDefense/core/tools/modifiers/modifierDaze.java b/src/main/java/lance5057/tDefense/core/tools/modifiers/modifierDaze.java deleted file mode 100644 index 734ffa5..0000000 --- a/src/main/java/lance5057/tDefense/core/tools/modifiers/modifierDaze.java +++ /dev/null @@ -1,97 +0,0 @@ -package lance5057.tDefense.core.tools.modifiers; - -import java.util.Arrays; -import java.util.List; - -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import tconstruct.library.tools.ToolCore; -import tconstruct.modifiers.tools.ItemModTypeFilter; - -public class modifierDaze extends ItemModTypeFilter -{ - String tooltipName; - int max = 5; - String guiType; - - public modifierDaze(String type, int effect, ItemStack[] items, int[] values) - { - super(effect, "Daze", items, values); - tooltipName = "\u00A76Daze"; - guiType = type; - } - - @Override - protected boolean canModify (ItemStack tool, ItemStack[] input) - { - if (tool.getItem() instanceof ToolCore) - { - List list = Arrays.asList(((ToolCore)tool.getItem()).getTraits()); - if (list.contains("weapon")) - { - NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool"); - if (!tags.hasKey(key)) - return tags.getInteger("Modifiers") > 0 && matchingAmount(input) <= max; - - if (matchingAmount(input) > max) - return false; - - int keyPair[] = tags.getIntArray(key); - if (keyPair[0] + matchingAmount(input) <= keyPair[1]) - return true; - - else if (keyPair[0] == keyPair[1]) - return tags.getInteger("Modifiers") > 0; - } - } - - return false; - } - - @Override - public void modify (ItemStack[] input, ItemStack tool) - { - NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool"); - int increase = matchingAmount(input); - if (tags.hasKey(key)) - { - int[] keyPair = tags.getIntArray(key); - - if (keyPair[0] % max == 0) - { - keyPair[0] += increase; - keyPair[1] += max; - tags.setIntArray(key, keyPair); - - int modifiers = tags.getInteger("Modifiers"); - modifiers -= 1; - tags.setInteger("Modifiers", modifiers); - } - else - { - keyPair[0] += increase; - tags.setIntArray(key, keyPair); - } - updateModTag(tool, keyPair); - - } - else - { - int modifiers = tags.getInteger("Modifiers"); - modifiers -= 1; - tags.setInteger("Modifiers", modifiers); - String modName = "\u00A76" + guiType + " (" + increase + "/" + max + ")"; - int tooltipIndex = addToolTip(tool, tooltipName, modName); - int[] keyPair = new int[] { increase, max, tooltipIndex }; - tags.setIntArray(key, keyPair); - } - } - - void updateModTag (ItemStack tool, int[] keys) - { - NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool"); - String tip = "ModifierTip" + keys[2]; - String modName = "\u00A76" + guiType + " (" + keys[0] + "/" + keys[1] + ")"; - tags.setString(tip, modName); - } -} \ No newline at end of file diff --git a/src/main/java/lance5057/tDefense/core/tools/modifiers/weapons/modifierDaze.java b/src/main/java/lance5057/tDefense/core/tools/modifiers/weapons/modifierDaze.java new file mode 100644 index 0000000..326dc83 --- /dev/null +++ b/src/main/java/lance5057/tDefense/core/tools/modifiers/weapons/modifierDaze.java @@ -0,0 +1,97 @@ +package lance5057.tDefense.core.tools.modifiers.weapons; + +import java.util.Arrays; +import java.util.List; + +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import tconstruct.library.tools.ToolCore; +import tconstruct.modifiers.tools.ItemModTypeFilter; + +public class modifierDaze extends ItemModTypeFilter +{ + String tooltipName; + int max = 5; + String guiType; + + public modifierDaze(String type, int effect, ItemStack[] items, int[] values) + { + super(effect, "Daze", items, values); + tooltipName = "\u00A76Daze"; + guiType = type; + } + + @Override + protected boolean canModify (ItemStack tool, ItemStack[] input) + { + if (tool.getItem() instanceof ToolCore) + { + List list = Arrays.asList(((ToolCore)tool.getItem()).getTraits()); + if (list.contains("weapon")) + { + NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool"); + if (!tags.hasKey(key)) + return tags.getInteger("Modifiers") > 0 && matchingAmount(input) <= max; + + if (matchingAmount(input) > max) + return false; + + int keyPair[] = tags.getIntArray(key); + if (keyPair[0] + matchingAmount(input) <= keyPair[1]) + return true; + + else if (keyPair[0] == keyPair[1]) + return tags.getInteger("Modifiers") > 0; + } + } + + return false; + } + + @Override + public void modify (ItemStack[] input, ItemStack tool) + { + NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool"); + int increase = matchingAmount(input); + if (tags.hasKey(key)) + { + int[] keyPair = tags.getIntArray(key); + + if (keyPair[0] % max == 0) + { + keyPair[0] += increase; + keyPair[1] += max; + tags.setIntArray(key, keyPair); + + int modifiers = tags.getInteger("Modifiers"); + modifiers -= 1; + tags.setInteger("Modifiers", modifiers); + } + else + { + keyPair[0] += increase; + tags.setIntArray(key, keyPair); + } + updateModTag(tool, keyPair); + + } + else + { + int modifiers = tags.getInteger("Modifiers"); + modifiers -= 1; + tags.setInteger("Modifiers", modifiers); + String modName = "\u00A76" + guiType + " (" + increase + "/" + max + ")"; + int tooltipIndex = addToolTip(tool, tooltipName, modName); + int[] keyPair = new int[] { increase, max, tooltipIndex }; + tags.setIntArray(key, keyPair); + } + } + + void updateModTag (ItemStack tool, int[] keys) + { + NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool"); + String tip = "ModifierTip" + keys[2]; + String modName = "\u00A76" + guiType + " (" + keys[0] + "/" + keys[1] + ")"; + tags.setString(tip, modName); + } +} \ No newline at end of file diff --git a/src/main/java/lance5057/tDefense/core/tools/modifiers/weapons/modifierTorchArrow.java b/src/main/java/lance5057/tDefense/core/tools/modifiers/weapons/modifierTorchArrow.java new file mode 100644 index 0000000..09e6d50 --- /dev/null +++ b/src/main/java/lance5057/tDefense/core/tools/modifiers/weapons/modifierTorchArrow.java @@ -0,0 +1,72 @@ +package lance5057.tDefense.core.tools.modifiers.weapons; + +import java.util.Arrays; +import java.util.List; + +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import tconstruct.library.tools.ToolCore; +import tconstruct.modifiers.tools.ItemModTypeFilter; +import tconstruct.modifiers.tools.ModBoolean; + +public class modifierTorchArrow extends ModBoolean +{ + String tooltipName; + String guiType; + String color; + + public modifierTorchArrow(ItemStack[] items, int effect) + { + super(items, effect, "Torch", "\u00A76", "Torch"); + tooltipName = "\u00A76Daze"; + color = "\u00A76"; + //guiType = type; + } + + @Override + protected boolean canModify (ItemStack tool, ItemStack[] input) + { + if (tool.getItem() instanceof ToolCore) + { + List list = Arrays.asList(((ToolCore)tool.getItem()).getTraits()); + if (list.contains("ammo")) + { + ToolCore toolItem = (ToolCore) tool.getItem(); + if (!validType(toolItem)) + return false; + + NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool"); + + return tags.getInteger("Modifiers") > 0 && !tags.getBoolean(key); + } + } + return false; + } + + @Override + public void modify (ItemStack[] input, ItemStack tool) + { + NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool"); + tags.setBoolean(key, true); + + int modifiers = tags.getInteger("Modifiers"); + modifiers -= 1; + tags.setInteger("Modifiers", modifiers); + + int attack = tags.getInteger("Attack"); + attack -= 3; + if (attack < 0) + attack = 0; + tags.setInteger("Attack", attack); + + addToolTip(tool, color + tooltipName, color + key); + } + + void updateModTag (ItemStack tool, int[] keys) + { + NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool"); + String tip = "ModifierTip" + keys[2]; + String modName = color + guiType + " (" + keys[0] + "/" + keys[1] + ")"; + tags.setString(tip, modName); + } +} \ No newline at end of file diff --git a/src/main/java/lance5057/tDefense/proxy/ClientProxy.java b/src/main/java/lance5057/tDefense/proxy/ClientProxy.java index 50d1010..7f6364c 100644 --- a/src/main/java/lance5057/tDefense/proxy/ClientProxy.java +++ b/src/main/java/lance5057/tDefense/proxy/ClientProxy.java @@ -3,6 +3,7 @@ package lance5057.tDefense.proxy; import lance5057.tDefense.TinkersDefense; import lance5057.tDefense.armor.renderers.ModelChainArmor; import lance5057.tDefense.armor.renderers.ModelClothArmor; +import lance5057.tDefense.armor.renderers.ModelMask; import lance5057.tDefense.armor.renderers.ModelTinkerArmor; import lance5057.tDefense.core.blocks.crestMount.Renderer_CrestMount; import lance5057.tDefense.core.blocks.crestMount.TileEntity_CrestMount; @@ -21,6 +22,8 @@ public class ClientProxy extends CommonProxy { public static final ModelChainArmor chain = new ModelChainArmor(0.1f); public static final ModelClothArmor cloth = new ModelClothArmor(); + public static final ModelMask mask = new ModelMask(null); + @Override public void registerRenderers() { FlexibleToolRenderer renderer = new FlexibleToolRenderer(); @@ -46,11 +49,11 @@ public class ClientProxy extends CommonProxy { public ModelBiped getArmorModel(int id) { switch (id) { case 0: - return tutChest; + return cloth; default: break; } - return tutChest; // default, if whenever you should have passed on a + return cloth; // default, if whenever you should have passed on a // wrong id } } \ No newline at end of file diff --git a/src/main/resources/assets/tinkersdefense/textures/armor/ClothArmor.png b/src/main/resources/assets/tinkersdefense/textures/armor/ClothArmor.png new file mode 100644 index 0000000..2b68876 Binary files /dev/null and b/src/main/resources/assets/tinkersdefense/textures/armor/ClothArmor.png differ diff --git a/src/main/resources/assets/tinkersdefense/textures/armor/Mask/_mask_face.png b/src/main/resources/assets/tinkersdefense/textures/armor/Mask/_mask_face.png new file mode 100644 index 0000000..6d4dc90 Binary files /dev/null and b/src/main/resources/assets/tinkersdefense/textures/armor/Mask/_mask_face.png differ -- cgit v1.2.3