diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-05-24 09:56:23 +1000 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-05-24 09:56:23 +1000 |
commit | 37271be246f94eb81c909be45403ee377d7228c3 (patch) | |
tree | f58e1b4a135b1c00d5d2d79aa6436aa014c1e0e0 | |
parent | 81ab0e2ef5e9b4c3121ea23ee597e71fffda5d69 (diff) | |
download | GT5-Unofficial-37271be246f94eb81c909be45403ee377d7228c3.tar.gz GT5-Unofficial-37271be246f94eb81c909be45403ee377d7228c3.tar.bz2 GT5-Unofficial-37271be246f94eb81c909be45403ee377d7228c3.zip |
+ Added base framework for wearables. (Clothing/Armour).
$ Fixed issue with Giant Chicken Renderer.
11 files changed, 181 insertions, 15 deletions
diff --git a/src/Java/gtPlusPlus/core/client/renderer/RenderGiantChicken.java b/src/Java/gtPlusPlus/core/client/renderer/RenderGiantChicken.java index b3d1ce21fc..d3c1e852d9 100644 --- a/src/Java/gtPlusPlus/core/client/renderer/RenderGiantChicken.java +++ b/src/Java/gtPlusPlus/core/client/renderer/RenderGiantChicken.java @@ -7,10 +7,10 @@ import net.minecraft.client.renderer.entity.RenderChicken; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.passive.EntityChicken; import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; +import gtPlusPlus.core.entity.monster.EntityGiantChickenBase; import gtPlusPlus.core.util.reflect.ReflectionUtils; @SideOnly(Side.CLIENT) @@ -42,15 +42,15 @@ public class RenderGiantChicken extends RenderChicken { * (Render<T extends Entity) and this method has signature public void func_76986_a(T entity, double d, double d1, * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that. */ - public void doRender(EntityChicken p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) + public void doRender(EntityGiantChickenBase p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - super.doRender((EntityLiving)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + this.doRender((EntityLiving)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); } /** * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. */ - protected ResourceLocation getEntityTexture(EntityChicken p_110775_1_) + protected ResourceLocation getEntityTexture(EntityGiantChickenBase p_110775_1_) { return chickenTexturesEx; } @@ -58,7 +58,7 @@ public class RenderGiantChicken extends RenderChicken { /** * Defines what float the third param in setRotationAngles of ModelBase is */ - protected float handleRotationFloat(EntityChicken p_77044_1_, float p_77044_2_) + protected float handleRotationFloat(EntityGiantChickenBase p_77044_1_, float p_77044_2_) { float f1 = p_77044_1_.field_70888_h + (p_77044_1_.field_70886_e - p_77044_1_.field_70888_h) * p_77044_2_; float f2 = p_77044_1_.field_70884_g + (p_77044_1_.destPos - p_77044_1_.field_70884_g) * p_77044_2_; @@ -73,7 +73,7 @@ public class RenderGiantChicken extends RenderChicken { */ public void doRender(EntityLiving p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - this.doRender((EntityChicken)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + this.doRender((EntityGiantChickenBase)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); } /** @@ -81,7 +81,7 @@ public class RenderGiantChicken extends RenderChicken { */ protected float handleRotationFloat(EntityLivingBase p_77044_1_, float p_77044_2_) { - return this.handleRotationFloat((EntityChicken)p_77044_1_, p_77044_2_); + return this.handleRotationFloat((EntityGiantChickenBase)p_77044_1_, p_77044_2_); } /** @@ -92,7 +92,7 @@ public class RenderGiantChicken extends RenderChicken { */ public void doRender(EntityLivingBase p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - this.doRender((EntityChicken)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + this.doRender((EntityGiantChickenBase)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); } /** @@ -100,7 +100,7 @@ public class RenderGiantChicken extends RenderChicken { */ protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return this.getEntityTexture((EntityChicken)p_110775_1_); + return this.getEntityTexture((EntityGiantChickenBase)p_110775_1_); } /** @@ -111,6 +111,6 @@ public class RenderGiantChicken extends RenderChicken { */ public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - this.doRender((EntityChicken)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + this.doRender((EntityGiantChickenBase)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); } }
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java index 7d4f20d968..f3e1c64049 100644 --- a/src/Java/gtPlusPlus/core/item/ModItems.java +++ b/src/Java/gtPlusPlus/core/item/ModItems.java @@ -44,6 +44,7 @@ import gtPlusPlus.core.item.init.ItemsMultiTools; import gtPlusPlus.core.item.materials.DustDecayable; import gtPlusPlus.core.item.tool.misc.SandstoneHammer; import gtPlusPlus.core.item.tool.staballoy.*; +import gtPlusPlus.core.item.wearable.WearableLoader; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.CORE.ConfigSwitches; import gtPlusPlus.core.lib.LoadedMods; @@ -64,7 +65,7 @@ public final class ModItems { public static ToolMaterial STABALLOY = EnumHelper.addToolMaterial("Staballoy", 3, 2500, 7, 1.0F, 18); - + public static Item ZZZ_Empty; public static Item AAA_Broken; @@ -304,6 +305,9 @@ public final class ModItems { //Register Rope itemFiber = new CoreItem("itemFiber", "Plant Fiber", tabMisc); itemRope = new CoreItem("itemRope", "Rope", tabMisc); + + //Load Wearable Items + WearableLoader.run(); //Make some backpacks //Primary colours diff --git a/src/Java/gtPlusPlus/core/item/wearable/WearableLoader.java b/src/Java/gtPlusPlus/core/item/wearable/WearableLoader.java new file mode 100644 index 0000000000..6912b4e771 --- /dev/null +++ b/src/Java/gtPlusPlus/core/item/wearable/WearableLoader.java @@ -0,0 +1,15 @@ +package gtPlusPlus.core.item.wearable; + +import gtPlusPlus.core.item.wearable.armour.ArmourLoader; + +public class WearableLoader { + + public static void run() { + execute(); + } + + private static void execute() { + ArmourLoader.run(); + } + +} diff --git a/src/Java/gtPlusPlus/core/item/wearable/armour/ArmourLoader.java b/src/Java/gtPlusPlus/core/item/wearable/armour/ArmourLoader.java new file mode 100644 index 0000000000..86711d42b2 --- /dev/null +++ b/src/Java/gtPlusPlus/core/item/wearable/armour/ArmourLoader.java @@ -0,0 +1,29 @@ +package gtPlusPlus.core.item.wearable.armour; + +import cpw.mods.fml.client.registry.RenderingRegistry; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemArmor.ArmorMaterial; + +import net.minecraftforge.common.util.EnumHelper; + +public class ArmourLoader { + + public static Item ClearGlassChestplate; + public static Item ClearGlassBoots; + public static Item ClearGlassLeggings; + public static Item ClearGlassHelmet; + + public static ArmorMaterial ClearGlassArmor = EnumHelper.addArmorMaterial("ClearGlassArmor", 1, new int[] { 1, 4, 2, 1 }, 100); + + + public static void run() { + glassArmour(); + } + + private static void glassArmour() { + RenderingRegistry.addNewArmourRendererPrefix("ClearGlassArmor"); + //ClearGlassHelmet = new ClearGlassArmor(2055, ClearGlassArmor, 5, 0).setUnlocalizedName("amethyst_helmet"); + } + +} diff --git a/src/Java/gtPlusPlus/core/item/wearable/armour/base/BaseArmour.java b/src/Java/gtPlusPlus/core/item/wearable/armour/base/BaseArmour.java new file mode 100644 index 0000000000..0c6a547d34 --- /dev/null +++ b/src/Java/gtPlusPlus/core/item/wearable/armour/base/BaseArmour.java @@ -0,0 +1,11 @@ +package gtPlusPlus.core.item.wearable.armour.base; + +import gtPlusPlus.core.item.wearable.base.BaseItemWearable; + +public abstract class BaseArmour extends BaseItemWearable { + + public BaseArmour(ArmorMaterial material, int renderIndex, int armourType) { + super(material, renderIndex, armourType); + } + +} diff --git a/src/Java/gtPlusPlus/core/item/wearable/armour/base/BaseArmourBoots.java b/src/Java/gtPlusPlus/core/item/wearable/armour/base/BaseArmourBoots.java new file mode 100644 index 0000000000..2ace8919d0 --- /dev/null +++ b/src/Java/gtPlusPlus/core/item/wearable/armour/base/BaseArmourBoots.java @@ -0,0 +1,10 @@ +package gtPlusPlus.core.item.wearable.armour.base; + +public abstract class BaseArmourBoots extends BaseArmour { + + public BaseArmourBoots(ArmorMaterial material, int renderIndex) { + super(material, renderIndex, 3); + // TODO Auto-generated constructor stub + } + +} diff --git a/src/Java/gtPlusPlus/core/item/wearable/armour/base/BaseArmourChest.java b/src/Java/gtPlusPlus/core/item/wearable/armour/base/BaseArmourChest.java new file mode 100644 index 0000000000..16899c4229 --- /dev/null +++ b/src/Java/gtPlusPlus/core/item/wearable/armour/base/BaseArmourChest.java @@ -0,0 +1,10 @@ +package gtPlusPlus.core.item.wearable.armour.base; + +public abstract class BaseArmourChest extends BaseArmour { + + public BaseArmourChest(ArmorMaterial material, int renderIndex) { + super(material, renderIndex, 1); + // TODO Auto-generated constructor stub + } + +} diff --git a/src/Java/gtPlusPlus/core/item/wearable/armour/base/BaseArmourHelm.java b/src/Java/gtPlusPlus/core/item/wearable/armour/base/BaseArmourHelm.java new file mode 100644 index 0000000000..c3676277eb --- /dev/null +++ b/src/Java/gtPlusPlus/core/item/wearable/armour/base/BaseArmourHelm.java @@ -0,0 +1,10 @@ +package gtPlusPlus.core.item.wearable.armour.base; + +public abstract class BaseArmourHelm extends BaseArmour { + + public BaseArmourHelm(ArmorMaterial material, int renderIndex) { + super(material, renderIndex, 0); + // TODO Auto-generated constructor stub + } + +} diff --git a/src/Java/gtPlusPlus/core/item/wearable/armour/base/BaseArmourLegs.java b/src/Java/gtPlusPlus/core/item/wearable/armour/base/BaseArmourLegs.java new file mode 100644 index 0000000000..9794a713ac --- /dev/null +++ b/src/Java/gtPlusPlus/core/item/wearable/armour/base/BaseArmourLegs.java @@ -0,0 +1,10 @@ +package gtPlusPlus.core.item.wearable.armour.base; + +public abstract class BaseArmourLegs extends BaseArmour { + + public BaseArmourLegs(ArmorMaterial material, int renderIndex) { + super(material, renderIndex, 2); + // TODO Auto-generated constructor stub + } + +} diff --git a/src/Java/gtPlusPlus/core/item/wearable/base/BaseItemWearable.java b/src/Java/gtPlusPlus/core/item/wearable/base/BaseItemWearable.java new file mode 100644 index 0000000000..9ffd3c6db6 --- /dev/null +++ b/src/Java/gtPlusPlus/core/item/wearable/base/BaseItemWearable.java @@ -0,0 +1,71 @@ +package gtPlusPlus.core.item.wearable.base; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; + +import net.minecraftforge.common.ISpecialArmor; + +public abstract class BaseItemWearable extends ItemArmor implements ISpecialArmor { + + public BaseItemWearable(ArmorMaterial material, int renderIndex, int armourType) { + super(material, renderIndex, armourType); + } + + public abstract int getRenderIndex(); + + + + @Override + public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, + int slot) { + // TODO Auto-generated method stub + return null; + } + + @Override + public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) { + // TODO Auto-generated method stub + return 0; + } + + @Override + public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { + // TODO Auto-generated method stub + + } + + public void dyeArmour(ItemStack aArmour, int aColour) { + func_82813_b(aArmour, aColour); + } + + @Override + public void func_82813_b(ItemStack p_82813_1_, int p_82813_2_) { + NBTTagCompound nbttagcompound = p_82813_1_.getTagCompound(); + if (nbttagcompound == null) { + nbttagcompound = new NBTTagCompound(); + p_82813_1_.setTagCompound(nbttagcompound); + } + NBTTagCompound nbttagcompound1 = nbttagcompound.getCompoundTag("display"); + if (!nbttagcompound.hasKey("display", 10)) { + nbttagcompound.setTag("display", nbttagcompound1); + } + nbttagcompound1.setInteger("color", p_82813_2_); + } + + @Override + public void removeColor(ItemStack p_82815_1_) { + NBTTagCompound nbttagcompound = p_82815_1_.getTagCompound(); + if (nbttagcompound != null) { + NBTTagCompound nbttagcompound1 = nbttagcompound.getCompoundTag("display"); + if (nbttagcompound1.hasKey("color")) { + nbttagcompound1.removeTag("color"); + } + } + } + + +} diff --git a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java index 0eb2667f4f..0185c7d8c4 100644 --- a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java +++ b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java @@ -303,10 +303,6 @@ public class MaterialGenerator { sRadiation = matInfo.vRadiationLevel; } - Item temp; - Block tempBlock; - - if (generateOre) { tempBlock = new BlockBaseOre(matInfo, BlockTypes.ORE, Colour.intValue()); } |