diff options
| author | Lance5057 <Lance5057@gmail.com> | 2015-11-08 01:47:53 -0600 |
|---|---|---|
| committer | Lance5057 <Lance5057@gmail.com> | 2015-11-08 01:47:53 -0600 |
| commit | 48ab932c89e28dd3371167e8c2ba79db522e82dd (patch) | |
| tree | 126fde8670a6a91477e3d255140961f6f8fbf64b /src/main/java/lance5057 | |
| parent | 1138bd307f49f8ae4913d836f5a43f827f60417b (diff) | |
Armor cleanup and enhancement
TODO: fix not rotating with head properly.
Diffstat (limited to 'src/main/java/lance5057')
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); } /** |
