summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorLance5057 <Lance5057@gmail.com>2015-11-23 00:50:42 -0600
committerLance5057 <Lance5057@gmail.com>2015-11-23 00:50:42 -0600
commit3ec5ba87778c94fd58bc98bb9af85391d12491c4 (patch)
tree264a263ea788d5c8df7a848f2ab41305a812ccd0 /src/main/java
parent48ab932c89e28dd3371167e8c2ba79db522e82dd (diff)
Banging on armor rendering
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/lance5057/tDefense/TinkersDefense.java10
-rw-r--r--src/main/java/lance5057/tDefense/armor/ArmorCore.java5
-rw-r--r--src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java17
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java141
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java42
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java31
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/TDefenseActiveToolMod.java21
-rw-r--r--src/main/java/lance5057/tDefense/proxy/ClientProxy.java2
8 files changed, 205 insertions, 64 deletions
diff --git a/src/main/java/lance5057/tDefense/TinkersDefense.java b/src/main/java/lance5057/tDefense/TinkersDefense.java
index 55723ef..f36127e 100644
--- a/src/main/java/lance5057/tDefense/TinkersDefense.java
+++ b/src/main/java/lance5057/tDefense/TinkersDefense.java
@@ -136,7 +136,7 @@ public class TinkersDefense {
public static Block block_JewelersBench;
public static ToolCore armor_TinkerHelm;
- public static Item item_TinkerBreastplate;
+ public static ToolCore armor_TinkerBreastplate;
public static Item item_TinkerGrieves;
public static Item item_TinkerSabatons;
@@ -313,6 +313,7 @@ public class TinkersDefense {
tool_zweihander = new TinkerZweihander(0);
armor_TinkerHelm = new TinkersHelm();
+ armor_TinkerBreastplate = new TinkersBreastplate();
//Register Tools
@@ -324,6 +325,7 @@ public class TinkersDefense {
GameRegistry.registerItem(tool_mask, "Mask");
GameRegistry.registerItem(tool_zweihander, "Zweihander");
GameRegistry.registerItem(armor_TinkerHelm,"tinkerhelm");
+ GameRegistry.registerItem(armor_TinkerBreastplate,"tinkerbreastplate");
//Add Tools to TiCo directory
TConstructRegistry.addItemToDirectory("Round Shield", tool_roundShield);
@@ -334,6 +336,7 @@ public class TinkersDefense {
TConstructRegistry.addItemToDirectory("Mask", tool_mask);
TConstructRegistry.addItemToDirectory("Zweihander", tool_zweihander);
TConstructRegistry.addItemToDirectory("tinkerhelm", armor_TinkerHelm);
+ TConstructRegistry.addItemToDirectory("tinkerbreastplate", armor_TinkerBreastplate);
//Register Items
GameRegistry.registerItem(item_thread = new Item_Thread(), "thread");
@@ -359,8 +362,8 @@ public class TinkersDefense {
// Renderers
proxy.registerRenderers();
- item_TinkerBreastplate = new TinkersBreastplate(ArmorMaterial.IRON, 4, 1).setUnlocalizedName("Tinkers_Breastplate");
- GameRegistry.registerItem(item_TinkerBreastplate,"Tinkers Breastplate");
+// item_TinkerBreastplate = new TinkersBreastplate().setUnlocalizedName("Tinkers_Breastplate");
+// GameRegistry.registerItem(item_TinkerBreastplate,"Tinkers Breastplate");
item_TinkerGrieves = new TinkersGrieves(ArmorMaterial.IRON, 4, 2).setUnlocalizedName("Tinkers_Grieves");
GameRegistry.registerItem(item_TinkerGrieves,"Tinkers Grieves");
@@ -604,6 +607,7 @@ public class TinkersDefense {
TConstructRegistry.addToolRecipe(tool_mask, partArmorplate, partCloth, partClasp);
TConstructRegistry.addToolRecipe(armor_TinkerHelm, TinkerTools.frypanHead, TinkerTools.toughRod, partArmorplate);
+ TConstructRegistry.addToolRecipe(armor_TinkerBreastplate, TinkerTools.largePlate, TinkerTools.toughRod, partArmorplate, partChainmaille);
tcInject = new Injector(0,TinkerTools.broadsword);
GameRegistry.registerItem(tcInject, "debugger");
diff --git a/src/main/java/lance5057/tDefense/armor/ArmorCore.java b/src/main/java/lance5057/tDefense/armor/ArmorCore.java
index 5bf9095..3853c3d 100644
--- a/src/main/java/lance5057/tDefense/armor/ArmorCore.java
+++ b/src/main/java/lance5057/tDefense/armor/ArmorCore.java
@@ -47,6 +47,11 @@ public class ArmorCore extends ToolCore implements ISpecialArmor//, IAccessoryMo
return 1;
}
+ public int getSlot()
+ {
+ return slot;
+ }
+
public ModelBiped getModel(String[] color)
{
return armorModel;
diff --git a/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java b/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java
index 28c7378..343ddc0 100644
--- a/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java
+++ b/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java
@@ -30,7 +30,22 @@ public class ArmorRenderEvent
ModelBiped armorModel = AArmor.getModel(color);
- armorModel.render(event.entityPlayer, event.entityPlayer.limbSwing, event.entityPlayer.limbSwingAmount,event.entityPlayer.ticksExisted , event.entityPlayer.prevRotationYaw/* - event.entityPlayer.renderYawOffset*/, event.entityPlayer.rotationPitch, 0.0825f);
+ float size;
+ switch(AArmor.getSlot())
+ {
+ case 0: size = 0.085f; break;
+ case 1: size = .126f; break;
+
+ default: size = 0.1f; break;
+ }
+
+ float yaw = event.entityPlayer.prevRotationYawHead + (event.entityPlayer.rotationYawHead - event.entityPlayer.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = event.entityPlayer.prevRenderYawOffset + (event.entityPlayer.renderYawOffset - event.entityPlayer.prevRenderYawOffset) * event.partialRenderTick;
+ float limbs = event.entityPlayer.prevLimbSwingAmount + (event.entityPlayer.limbSwingAmount - event.entityPlayer.prevLimbSwingAmount) * event.partialRenderTick;
+
+ armorModel.render(event.entityPlayer, event.entityPlayer.limbSwing, limbs,event.entityPlayer.ticksExisted ,
+ yaw - yawOffset
+ , event.entityPlayer.rotationPitch, size);
}
}
}
diff --git a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java
index c5bde60..0b690c3 100644
--- a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java
+++ b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java
@@ -1,57 +1,126 @@
package lance5057.tDefense.armor.items.heavy;
+import lance5057.tDefense.TinkersDefense;
+import lance5057.tDefense.armor.ArmorCore;
import lance5057.tDefense.armor.renderers.heavy.ModelTinkersBreastplate;
+import lance5057.tDefense.armor.renderers.heavy.ModelTinkersHelm;
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.Item;
import net.minecraft.item.ItemStack;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.world.World;
+import tconstruct.tools.TinkerTools;
-public class TinkersBreastplate extends ItemArmor {
- public TinkersBreastplate(ArmorMaterial par2EnumArmorMaterial, int par3, int par4) {
- super(par2EnumArmorMaterial, par3, par4);
+public class TinkersBreastplate extends ArmorCore
+{
+ public TinkersBreastplate() {
+ super(0,1);
+ this.setUnlocalizedName("tinkershelm");
+ }
+
+ @Override
+ public Item getHeadItem()
+ {
+ return TinkerTools.largePlate;
+ }
+
+ @Override
+ public Item getHandleItem() {
+ return TinkerTools.toughRod;
+ }
+
+ @Override
+ public Item getAccessoryItem()
+ {
+ return TinkersDefense.partArmorplate;
+ }
+
+ @Override
+ public Item getExtraItem()
+ {
+ return TinkersDefense.partChainmaille;
+ }
+
+ @Override
+ public int durabilityTypeAccessory() {
+ return 2;
}
@Override
- @SideOnly(Side.CLIENT)
- public void registerIcons(IIconRegister par1IconRegister) {
- String itemName = "tinkersdefense:textures/armor/TinkersBreastPlate";
- this.itemIcon = par1IconRegister.registerIcon(itemName);
+ public float getRepairCost() {
+ return 4.0f;
}
@Override
- public String getArmorTexture(ItemStack stack, Entity entity, int slot,
- String type) {
- return "tinkersdefense:textures/armor/TinkersBreastPlate.png";
+ public float getDurabilityModifier() {
+ return 2.5f;
+ }
+
+ @Override
+ public float getDamageModifier() {
+ return 1.4f;
}
@Override
- @SideOnly(Side.CLIENT)
- public ModelBiped getArmorModel(EntityLivingBase entityLiving,
- ItemStack itemStack, int armorSlot)
+ public int getPartAmount() {
+ return 4;
+ }
+
+ @Override
+ public String getIconSuffix(int partType)
{
- ModelBiped armorModel = new ModelTinkersBreastplate();
- if (itemStack != null) {
+ switch (partType) {
+ case 0:
+ return "_breastplate_plate";
+ case 1:
+ return "_breastplate_plate_broken";
+ case 2:
+ return "_breastplate_trim";
+ case 3:
+ return "_breastplate_smallplate";
+ case 4:
+ return "_breastplate_chain";
+ default:
+ return "";
+ }
+ }
+
+ @Override
+ public String getEffectSuffix()
+ {
+ return "_breastplate_effect";
+ }
+
+ @Override
+ public String getDefaultFolder()
+ {
+ return "armor/breastplate";
+ }
+
+// @Override
+// public void onUpdate(ItemStack stack, World world, Entity entity, int par4,
+// boolean par5) {
+// super.onUpdate(stack, world, entity, par4, par5);
+//
+// }
- if (armorModel != null) {
- armorModel.isSneak = entityLiving.isSneaking();
- armorModel.isRiding = entityLiving.isRiding();
- armorModel.isChild = entityLiving.isChild();
- armorModel.heldItemRight = entityLiving.getHeldItem() != null ? 1
- : 0;
+ @Override
+ public String getArmorTexture(ItemStack stack, Entity entity, int slot,
+ String type) {
+ return "tinkersdefense:textures/armor/Tinkersbreastplate.png";
+ }
+
+ @Override
+ public String[] getTraits() {
+ return new String[] {"armor","chest","breastplate","heavyarmor"};
+ }
- if (entityLiving instanceof EntityPlayer) {
- armorModel.aimedBow = ((EntityPlayer) entityLiving)
- .getItemInUseDuration() > 2;
- }
- return armorModel;
- }
- }
+ @Override
+ public ModelBiped getModel(String[] color)
+ {
+ String[] textures = {this.getIconSuffix(2),this.getIconSuffix(0),this.getIconSuffix(3), this.getIconSuffix(4)};
+
+ armorModel = new ModelTinkersBreastplate(color, this.getDefaultFolder(), textures);
return armorModel;
}
-
-} \ No newline at end of file
+}
diff --git a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java
index 519a56f..4978724 100644
--- a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java
+++ b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java
@@ -1,8 +1,14 @@
package lance5057.tDefense.armor.renderers.heavy;
+import lance5057.tDefense.TinkersDefense;
+
+import org.lwjgl.opengl.GL11;
+
+import cpw.mods.fml.client.FMLClientHandler;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
+import net.minecraft.util.ResourceLocation;
/**
* ModelBiped - Either Mojang or a mod author
@@ -20,11 +26,20 @@ public class ModelTinkersBreastplate extends ModelBiped
public ModelRenderer ArmL;
public ModelRenderer ArmR;
public ModelRenderer BreastPlateFront;
+
+ public String[] colors;
+
+ public String[] textures;
+ public String defaultFolder;
- public ModelTinkersBreastplate()
+ public ModelTinkersBreastplate(String[] colors, String defaultFolder, String[] textures)
{
super(1.1f, 0, 64,64);
+ this.colors = colors;
+ this.textures = textures;
+ this.defaultFolder = defaultFolder;
+
this.textureWidth = 64;
this.textureHeight = 64;
@@ -84,12 +99,33 @@ public class ModelTinkersBreastplate extends ModelBiped
this.PauldronL.addBox(0.5F, -2.0F, -3.5F, 4, 5, 7, 0.0F);
this.setRotateAngle(PauldronL, 0.0F, -0.0F, -0.4363323129985824F);
this.bipedLeftArm.addChild(this.PauldronL);
+
+ this.ArmR.offsetX = this.ArmR.offsetX + 0.04f;
+
+ this.bipedHead.isHidden = true;
+ this.bipedHeadwear.isHidden = true;
+ this.bipedCloak.isHidden = true;
}
@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);
+ GL11.glPushMatrix();
+ for(int i = 0; i<4; i++)
+ {
+ GL11.glPushMatrix();
+
+ FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png"));
+
+ GL11.glTranslatef(0f, -1.51f, 0f);
+
+ int[] intColors = TinkersDefense.hexToRGB(colors[i]);
+ GL11.glColor3d((float)intColors[0]/255, (float)intColors[1]/255, (float)intColors[2]/255);
+
+ super.render(entity, f, f1, f2, f3, f4, f5);
+ setRotationAngles(f, f1, f2, f3, f4, f5, entity);
+ GL11.glPopMatrix();
+ }
+ GL11.glPopMatrix();
}
/**
diff --git a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java
index 13377a4..283e75f 100644
--- a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java
+++ b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java
@@ -49,6 +49,13 @@ public class ModelTinkersHelm extends ModelBiped
this.Trim.setRotationPoint(0.0F, 0.0F, 0.0F);
this.Trim.addBox(-1.0F, -8.3F, -4.0F, 2, 9, 8, 0.7F);
this.bipedHead.addChild(this.Trim);
+
+ this.bipedBody.isHidden = true;
+ this.bipedCloak.isHidden = true;
+ this.bipedLeftArm.isHidden = true;
+ this.bipedLeftLeg.isHidden = true;
+ this.bipedRightArm.isHidden = true;
+ this.bipedRightLeg.isHidden = true;
}
@Override
@@ -57,18 +64,18 @@ public class ModelTinkersHelm extends ModelBiped
GL11.glPushMatrix();
for(int i = 0; i<3; i++)
{
- GL11.glPushMatrix();
-
- FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png"));
-
- GL11.glTranslatef(0f, -1f, 0f);
-
- int[] intColors = TinkersDefense.hexToRGB(colors[i]);
- GL11.glColor3d((float)intColors[0]/255, (float)intColors[1]/255, (float)intColors[2]/255);
-
- super.render(entity, f, f1, f2, f3, f4, f5);
- setRotationAngles(f, f1, f2, f3, f4, f5, entity);
- GL11.glPopMatrix();
+ GL11.glPushMatrix();
+
+ FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png"));
+
+ GL11.glTranslatef(0f, -1f, 0f);
+
+ int[] intColors = TinkersDefense.hexToRGB(colors[i]);
+ GL11.glColor3d((float)intColors[0]/255, (float)intColors[1]/255, (float)intColors[2]/255);
+
+ super.render(entity, f, f1, f2, f3, f4, f5);
+ setRotationAngles(f, f1, f2, f3, f4, f5, entity);
+ GL11.glPopMatrix();
}
GL11.glPopMatrix();
}
diff --git a/src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/TDefenseActiveToolMod.java b/src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/TDefenseActiveToolMod.java
index 91b76a7..af124dc 100644
--- a/src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/TDefenseActiveToolMod.java
+++ b/src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/TDefenseActiveToolMod.java
@@ -23,19 +23,22 @@ public class TDefenseActiveToolMod extends ActiveToolMod
@Override
public void updateTool(ToolCore tool, ItemStack stack, World world, Entity entity)
{
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
-
- if (!tags.getBoolean("Broken"))
+ if(stack.hasTagCompound() && stack.getTagCompound().hasKey("InfiTool"))
{
- //TDefense
- TDMods.UpdateAll(tool, stack, world, entity, tags);
+ NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- //Botania
- if(Loader.isModLoaded("Botania"))
+ if (!tags.getBoolean("Broken"))
{
- FlowerMods.UpdateAll(tool, stack, world, entity, tags);
+ //TDefense
+ TDMods.UpdateAll(tool, stack, world, entity, tags);
+
+ //Botania
+ if(Loader.isModLoaded("Botania"))
+ {
+ FlowerMods.UpdateAll(tool, stack, world, entity, tags);
+ }
+
}
-
}
}
diff --git a/src/main/java/lance5057/tDefense/proxy/ClientProxy.java b/src/main/java/lance5057/tDefense/proxy/ClientProxy.java
index 31eaa24..bb02e9e 100644
--- a/src/main/java/lance5057/tDefense/proxy/ClientProxy.java
+++ b/src/main/java/lance5057/tDefense/proxy/ClientProxy.java
@@ -37,6 +37,8 @@ public class ClientProxy extends CommonProxy {
renderer);
MinecraftForgeClient.registerItemRenderer(TinkersDefense.armor_TinkerHelm,
renderer);
+ MinecraftForgeClient.registerItemRenderer(TinkersDefense.armor_TinkerBreastplate,
+ renderer);
ClientRegistry.bindTileEntitySpecialRenderer(
TileEntity_CrestMount.class, new Renderer_CrestMount());