summaryrefslogtreecommitdiff
path: root/src/main/java/lance5057
diff options
context:
space:
mode:
authorLance5057 <Lance5057@gmail.com>2015-11-08 01:47:53 -0600
committerLance5057 <Lance5057@gmail.com>2015-11-08 01:47:53 -0600
commit48ab932c89e28dd3371167e8c2ba79db522e82dd (patch)
tree126fde8670a6a91477e3d255140961f6f8fbf64b /src/main/java/lance5057
parent1138bd307f49f8ae4913d836f5a43f827f60417b (diff)
Armor cleanup and enhancement
TODO: fix not rotating with head properly.
Diffstat (limited to 'src/main/java/lance5057')
-rw-r--r--src/main/java/lance5057/tDefense/armor/ArmorCore.java13
-rw-r--r--src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java11
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java21
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java28
4 files changed, 55 insertions, 18 deletions
diff --git a/src/main/java/lance5057/tDefense/armor/ArmorCore.java b/src/main/java/lance5057/tDefense/armor/ArmorCore.java
index f4f52d7..5bf9095 100644
--- a/src/main/java/lance5057/tDefense/armor/ArmorCore.java
+++ b/src/main/java/lance5057/tDefense/armor/ArmorCore.java
@@ -11,6 +11,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.DamageSource;
import net.minecraft.util.ResourceLocation;
+import net.minecraft.world.World;
import net.minecraftforge.common.ISpecialArmor;
import tconstruct.library.accessory.IAccessoryModel;
import tconstruct.library.tools.ToolCore;
@@ -25,6 +26,13 @@ public class ArmorCore extends ToolCore implements ISpecialArmor//, IAccessoryMo
this.slot = slot;
}
+
+// @Override
+// public void onUpdate(ItemStack stack, World world, Entity entity, int par4,
+// boolean par5) {
+// super.onUpdate(stack, world, entity, par4, par5);
+//
+// }
@Override
public ArmorProperties getProperties(EntityLivingBase player,
@@ -39,6 +47,11 @@ public class ArmorCore extends ToolCore implements ISpecialArmor//, IAccessoryMo
return 1;
}
+ public ModelBiped getModel(String[] color)
+ {
+ return armorModel;
+ }
+
@Override
public boolean isValidArmor(ItemStack stack, int armorType, Entity entity)
{
diff --git a/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java b/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java
index e76325d..28c7378 100644
--- a/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java
+++ b/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java
@@ -1,6 +1,7 @@
package lance5057.tDefense.armor.events;
import lance5057.tDefense.armor.ArmorCore;
+import lance5057.tDefense.armor.renderers.heavy.ModelTinkersHelm;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.event.RenderPlayerEvent;
@@ -21,9 +22,15 @@ public class ArmorRenderEvent
if(Armor.getItem() instanceof ArmorCore)
{
- ArmorCore AArmor = ((ArmorCore)Armor.getItem());
+ ArmorCore AArmor = (ArmorCore)Armor.getItem();
+ String color[] = new String[10];
- AArmor.armorModel.render(event.entityPlayer, event.entityPlayer.limbSwing, event.entityPlayer.limbSwingAmount,event.entityPlayer.ticksExisted , event.entityPlayer.rotationYaw - event.entityPlayer.renderYawOffset, event.entityPlayer.rotationPitch, 0.0625f);
+ for(int j = 0; j<10; j++)
+ color[j] = Integer.toHexString(AArmor.getColorFromItemStack(Armor, j));
+
+ 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);
}
}
}
diff --git a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java
index 6217bfd..7a49650 100644
--- a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java
+++ b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java
@@ -1,29 +1,20 @@
package lance5057.tDefense.armor.items.heavy;
-import tconstruct.library.tools.ToolCore;
-import tconstruct.tools.TinkerTools;
import lance5057.tDefense.TinkersDefense;
import lance5057.tDefense.armor.ArmorCore;
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.Item;
-import net.minecraft.item.ItemArmor;
-import net.minecraft.item.ItemArmor.ArmorMaterial;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
+import tconstruct.tools.TinkerTools;
public class TinkersHelm extends ArmorCore
{
public TinkersHelm() {
super(0,0);
this.setUnlocalizedName("tinkershelm");
- armorModel = new ModelTinkersHelm();
}
@Override
@@ -79,7 +70,7 @@ public class TinkersHelm extends ArmorCore
case 2:
return "_helm_visor";
case 3:
- return "_helm_plates";
+ return "_helm_chain";
default:
return "";
}
@@ -115,4 +106,12 @@ public class TinkersHelm extends ArmorCore
return new String[] {"armor","helmet","helm","heavyarmor"};
}
+ @Override
+ public ModelBiped getModel(String[] color)
+ {
+ String[] textures = {this.getIconSuffix(2),this.getIconSuffix(0),this.getIconSuffix(3)};
+
+ armorModel = new ModelTinkersHelm(color, this.getDefaultFolder(), textures);
+ return armorModel;
+ }
}
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 796489e..13377a4 100644
--- a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java
+++ b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java
@@ -1,5 +1,7 @@
package lance5057.tDefense.armor.renderers.heavy;
+import lance5057.tDefense.TinkersDefense;
+
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
@@ -17,11 +19,20 @@ public class ModelTinkersHelm extends ModelBiped
public ModelRenderer Visor;
public ModelRenderer Helm;
public ModelRenderer Trim;
+
+ public String[] colors;
+
+ public String[] textures;
+ public String defaultFolder;
- public ModelTinkersHelm()
+ public ModelTinkersHelm(String[] colors, String defaultFolder, String[] textures)
{
super(1f, 0, 64,64);
+ this.colors = colors;
+ this.textures = textures;
+ this.defaultFolder = defaultFolder;
+
this.textureWidth = 64;
this.textureHeight = 64;
this.Helm = new ModelRenderer(this, 0, 47);
@@ -44,15 +55,22 @@ public class ModelTinkersHelm extends ModelBiped
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
GL11.glPushMatrix();
+ for(int i = 0; i<3; i++)
+ {
+ GL11.glPushMatrix();
- GL11.glTranslatef(0f, -1f, 0f);
+ FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png"));
- FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/armor/TinkersHelm.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();
-
- setRotationAngles(f, f1, f2, f3, f4, f5, entity);
}
/**