From 01c8701b68986ccfa83e902515716838d6829311 Mon Sep 17 00:00:00 2001 From: Onyx Date: Tue, 1 Dec 2015 20:55:30 +0000 Subject: - Fixed all of the bugs mentioned on github - Added new config options - Rabbits paw now increases the chance of spawning hearts, rather than itself spawning some - Hearts now have a much lower chance to spawn by default - You can no longer increase your health past 20 hearts (aka double the default health) - The guide now also shows the total number of pages on each tab - A new luck stat has been added to the Curse API - Cleaned up the code a bit (removed unused methods, imports etc) - The displayer's info now has a purple solid color background; the text also has a much closer shadow and now shrinks in height as well as in width when too big - I have modified the potion list to use Mithion's code, credits have been given --- .../jewelrycraft/item/ItemBaseJewelry.java | 46 +- .../darkknight/jewelrycraft/item/ItemBracelet.java | 82 +- .../jewelrycraft/item/ItemClayMolds.java | 176 +-- .../darkknight/jewelrycraft/item/ItemEarrings.java | 82 +- .../darkknight/jewelrycraft/item/ItemGoldObj.java | 12 +- .../darkknight/jewelrycraft/item/ItemGuide.java | 10 +- .../jewelrycraft/item/ItemJewelryModifier.java | 4 +- .../darkknight/jewelrycraft/item/ItemList.java | 1 - .../darkknight/jewelrycraft/item/ItemMolds.java | 176 +-- .../jewelrycraft/item/ItemMoltenMetal.java | 20 +- .../jewelrycraft/item/ItemMoltenMetalBucket.java | 2 - .../darkknight/jewelrycraft/item/ItemNecklace.java | 82 +- .../darkknight/jewelrycraft/item/ItemRing.java | 82 +- .../darkknight/jewelrycraft/item/ItemSpawnEgg.java | 9 +- .../jewelrycraft/item/ItemStructureGen.java | 11 +- .../darkknight/jewelrycraft/item/ItemTest.java | 16 +- .../jewelrycraft/item/ItemThiefGloves.java | 14 +- .../jewelrycraft/item/render/BraceletRender.java | 11 +- .../jewelrycraft/item/render/EarringsRender.java | 56 +- .../jewelrycraft/item/render/ItemRender.java | 1316 ++++++++++---------- .../jewelrycraft/item/render/MaskRender.java | 8 +- .../jewelrycraft/item/render/NecklaceRender.java | 56 +- .../jewelrycraft/item/render/RingRender.java | 6 +- 23 files changed, 1132 insertions(+), 1146 deletions(-) (limited to 'src/main/java/darkknight/jewelrycraft/item') diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java b/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java index a67a274..6df3b1b 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java @@ -1,33 +1,7 @@ package darkknight.jewelrycraft.item; -import java.awt.image.BufferedImage; -import java.io.IOException; import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.LinkedList; import java.util.List; -import java.util.Map; - -import javax.imageio.ImageIO; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAir; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.client.resources.IResourceManager; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.StatCollector; -import net.minecraftforge.event.entity.player.PlayerEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import darkknight.jewelrycraft.JewelrycraftMod; @@ -36,6 +10,14 @@ import darkknight.jewelrycraft.config.ConfigHandler; import darkknight.jewelrycraft.util.JewelryNBT; import darkknight.jewelrycraft.util.JewelrycraftUtil; import darkknight.jewelrycraft.util.Variables; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraftforge.event.entity.player.PlayerEvent; public abstract class ItemBaseJewelry extends Item { @@ -163,4 +145,16 @@ public abstract class ItemBaseJewelry extends Item for(ModifierEffects mod: ModifierEffects.getEffects()) if (JewelryNBT.doesModifierExist(item, mod.getModifier())) mod.onPlayerRespawn(item, event, this); } + + public void onJewelryEquipped(ItemStack item) + { + for(ModifierEffects mod: ModifierEffects.getEffects()) + if (JewelryNBT.doesModifierExist(item, mod.getModifier())) mod.onJewelryEquipped(item, this); + } + + public void onJewelryUnequipped(ItemStack item) + { + for(ModifierEffects mod: ModifierEffects.getEffects()) + if (JewelryNBT.doesModifierExist(item, mod.getModifier())) mod.onJewelryUnequipped(item, this); + } } diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemBracelet.java b/src/main/java/darkknight/jewelrycraft/item/ItemBracelet.java index d5c7c32..08b9dd8 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemBracelet.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemBracelet.java @@ -1,41 +1,41 @@ -package darkknight.jewelrycraft.item; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.Variables; - -public class ItemBracelet extends ItemBaseJewelry -{ - public IIcon gem; - - /** - * - */ - public ItemBracelet() - {} - - /** - * @param iconRegister - */ - @Override - public void registerIcons(IIconRegister iconRegister) - { - itemIcon = iconRegister.registerIcon(Variables.MODID + ":bracelet"); - gem = iconRegister.registerIcon(Variables.MODID + ":jewelBracelet"); - } - - /** - * @param stack - * @param pass - * @return - */ - @Override - public IIcon getIcon(ItemStack stack, int pass) - { - if (pass == 0) return itemIcon; - if (pass == 1 && JewelryNBT.gem(stack) != null) return gem; - return itemIcon; - } -} +package darkknight.jewelrycraft.item; + +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.Variables; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class ItemBracelet extends ItemBaseJewelry +{ + public IIcon gem; + + /** + * + */ + public ItemBracelet() + {} + + /** + * @param iconRegister + */ + @Override + public void registerIcons(IIconRegister iconRegister) + { + itemIcon = iconRegister.registerIcon(Variables.MODID + ":bracelet"); + gem = iconRegister.registerIcon(Variables.MODID + ":jewelBracelet"); + } + + /** + * @param stack + * @param pass + * @return + */ + @Override + public IIcon getIcon(ItemStack stack, int pass) + { + if (pass == 0) return itemIcon; + if (pass == 1 && JewelryNBT.gem(stack) != null) return gem; + return itemIcon; + } +} diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemClayMolds.java b/src/main/java/darkknight/jewelrycraft/item/ItemClayMolds.java index efaac51..0ed9202 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemClayMolds.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemClayMolds.java @@ -1,88 +1,88 @@ -package darkknight.jewelrycraft.item; - -import java.util.List; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import darkknight.jewelrycraft.util.Variables; - -public class ItemClayMolds extends Item -{ - /** List of molds color names */ - public static final String[] moldsItemNames = new String[]{"clayIngot", "clayRing", "clayNecklace", "clayBracelet", "clayEarrings"}; - @SideOnly (Side.CLIENT) - private IIcon[] moldsIcons; - - /** - * - */ - public ItemClayMolds() - { - super(); - setHasSubtypes(true); - setMaxDamage(0); - setMaxStackSize(1); - } - - /** - * @param par1 - * @return - */ - @Override - @SideOnly (Side.CLIENT) - /** - * Gets an icon index based on an item's damage value - */ - public IIcon getIconFromDamage(int par1) - { - int j = MathHelper.clamp_int(par1, 0, moldsItemNames.length - 1); - return moldsIcons[j]; - } - - /** - * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have different names based on their damage or NBT. - * - * @param par1ItemStack - * @return - */ - @Override - public String getUnlocalizedName(ItemStack par1ItemStack) - { - int i = MathHelper.clamp_int(par1ItemStack.getItemDamage(), 0, moldsItemNames.length - 1); - return super.getUnlocalizedName() + "." + moldsItemNames[i]; - } - - /** - * @param par1 - * @param par2CreativeTabs - * @param par3List - */ - @Override - @SuppressWarnings ({"unchecked", "rawtypes"}) - @SideOnly (Side.CLIENT) - /** - * returns a list of items with the same ID, but different meta (eg: molds returns 16 items) - */ - public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) - { - for(int j = 0; j < moldsItemNames.length; ++j) - par3List.add(new ItemStack(par1, 1, j)); - } - - /** - * @param par1IconRegister - */ - @Override - @SideOnly (Side.CLIENT) - public void registerIcons(IIconRegister par1IconRegister) - { - moldsIcons = new IIcon[moldsItemNames.length]; - for(int i = 0; i < moldsItemNames.length; ++i) - moldsIcons[i] = par1IconRegister.registerIcon(Variables.MODID + ":" + moldsItemNames[i] + getIconString()); - } -} +package darkknight.jewelrycraft.item; + +import java.util.List; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.util.Variables; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; + +public class ItemClayMolds extends Item +{ + /** List of molds color names */ + public static final String[] moldsItemNames = new String[]{"clayIngot", "clayRing", "clayNecklace", "clayBracelet", "clayEarrings"}; + @SideOnly (Side.CLIENT) + private IIcon[] moldsIcons; + + /** + * + */ + public ItemClayMolds() + { + super(); + setHasSubtypes(true); + setMaxDamage(0); + setMaxStackSize(1); + } + + /** + * @param par1 + * @return + */ + @Override + @SideOnly (Side.CLIENT) + /** + * Gets an icon index based on an item's damage value + */ + public IIcon getIconFromDamage(int par1) + { + int j = MathHelper.clamp_int(par1, 0, moldsItemNames.length - 1); + return moldsIcons[j]; + } + + /** + * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have different names based on their damage or NBT. + * + * @param par1ItemStack + * @return + */ + @Override + public String getUnlocalizedName(ItemStack par1ItemStack) + { + int i = MathHelper.clamp_int(par1ItemStack.getItemDamage(), 0, moldsItemNames.length - 1); + return super.getUnlocalizedName() + "." + moldsItemNames[i]; + } + + /** + * @param par1 + * @param par2CreativeTabs + * @param par3List + */ + @Override + @SuppressWarnings ({"unchecked", "rawtypes"}) + @SideOnly (Side.CLIENT) + /** + * returns a list of items with the same ID, but different meta (eg: molds returns 16 items) + */ + public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) + { + for(int j = 0; j < moldsItemNames.length; ++j) + par3List.add(new ItemStack(par1, 1, j)); + } + + /** + * @param par1IconRegister + */ + @Override + @SideOnly (Side.CLIENT) + public void registerIcons(IIconRegister par1IconRegister) + { + moldsIcons = new IIcon[moldsItemNames.length]; + for(int i = 0; i < moldsItemNames.length; ++i) + moldsIcons[i] = par1IconRegister.registerIcon(Variables.MODID + ":" + moldsItemNames[i] + getIconString()); + } +} diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemEarrings.java b/src/main/java/darkknight/jewelrycraft/item/ItemEarrings.java index d263ea8..fe39d18 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemEarrings.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemEarrings.java @@ -1,41 +1,41 @@ -package darkknight.jewelrycraft.item; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.Variables; - -public class ItemEarrings extends ItemBaseJewelry -{ - public IIcon gem; - - /** - * - */ - public ItemEarrings() - {} - - /** - * @param iconRegister - */ - @Override - public void registerIcons(IIconRegister iconRegister) - { - itemIcon = iconRegister.registerIcon(Variables.MODID + ":earrings"); - gem = iconRegister.registerIcon(Variables.MODID + ":jewelEarrings"); - } - - /** - * @param stack - * @param pass - * @return - */ - @Override - public IIcon getIcon(ItemStack stack, int pass) - { - if (pass == 0) return itemIcon; - if (pass == 1 && JewelryNBT.gem(stack) != null) return gem; - return itemIcon; - } -} +package darkknight.jewelrycraft.item; + +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.Variables; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class ItemEarrings extends ItemBaseJewelry +{ + public IIcon gem; + + /** + * + */ + public ItemEarrings() + {} + + /** + * @param iconRegister + */ + @Override + public void registerIcons(IIconRegister iconRegister) + { + itemIcon = iconRegister.registerIcon(Variables.MODID + ":earrings"); + gem = iconRegister.registerIcon(Variables.MODID + ":jewelEarrings"); + } + + /** + * @param stack + * @param pass + * @return + */ + @Override + public IIcon getIcon(ItemStack stack, int pass) + { + if (pass == 0) return itemIcon; + if (pass == 1 && JewelryNBT.gem(stack) != null) return gem; + return itemIcon; + } +} diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java b/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java index 2adcb1b..b3553b1 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemGoldObj.java @@ -4,10 +4,13 @@ package darkknight.jewelrycraft.item; import java.util.List; -import net.minecraft.block.Block; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.config.ConfigHandler; +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.Variables; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemFood; @@ -15,11 +18,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.Variables; public class ItemGoldObj extends Item { diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemGuide.java b/src/main/java/darkknight/jewelrycraft/item/ItemGuide.java index ce42093..ad496f2 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemGuide.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemGuide.java @@ -1,17 +1,11 @@ package darkknight.jewelrycraft.item; -import net.minecraft.entity.EntityLivingBase; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.achievements.AchievementsList; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; import net.minecraft.world.World; -import net.minecraftforge.event.entity.player.PlayerEvent.Clone; -import darkknight.jewelrycraft.JewelrycraftMod; -import darkknight.jewelrycraft.achievements.AchievementsList; -import darkknight.jewelrycraft.api.IJewelryItem; public class ItemGuide extends Item { diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemJewelryModifier.java b/src/main/java/darkknight/jewelrycraft/item/ItemJewelryModifier.java index c8fbb9d..ed04ca6 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemJewelryModifier.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemJewelryModifier.java @@ -1,14 +1,12 @@ package darkknight.jewelrycraft.item; import java.util.List; - -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import darkknight.jewelrycraft.JewelrycraftMod; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -import darkknight.jewelrycraft.JewelrycraftMod; public class ItemJewelryModifier extends Item { diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemList.java b/src/main/java/darkknight/jewelrycraft/item/ItemList.java index 0105d4a..5a1c016 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemList.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemList.java @@ -26,7 +26,6 @@ public class ItemList public static Item structureGen; public static Item spawnEgg; public static Item testItem; - private static boolean isInitialized = false; /** * @param e diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemMolds.java b/src/main/java/darkknight/jewelrycraft/item/ItemMolds.java index 42daa65..a19c7fa 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemMolds.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemMolds.java @@ -1,88 +1,88 @@ -package darkknight.jewelrycraft.item; - -import java.util.List; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import darkknight.jewelrycraft.util.Variables; - -public class ItemMolds extends Item -{ - /** List of molds color names */ - public static final String[] moldsItemNames = new String[]{"ingot", "ring", "necklace", "bracelet", "earrings"}; - @SideOnly (Side.CLIENT) - private IIcon[] moldsIcons; - - /** - * - */ - public ItemMolds() - { - super(); - setHasSubtypes(true); - setMaxDamage(0); - setMaxStackSize(1); - } - - /** - * @param par1 - * @return - */ - @Override - @SideOnly (Side.CLIENT) - /** - * Gets an icon index based on an item's damage value - */ - public IIcon getIconFromDamage(int par1) - { - int j = MathHelper.clamp_int(par1, 0, moldsItemNames.length - 1); - return moldsIcons[j]; - } - - /** - * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have different names based on their damage or NBT. - * - * @param par1ItemStack - * @return - */ - @Override - public String getUnlocalizedName(ItemStack par1ItemStack) - { - int i = MathHelper.clamp_int(par1ItemStack.getItemDamage(), 0, moldsItemNames.length - 1); - return super.getUnlocalizedName() + "." + moldsItemNames[i]; - } - - /** - * @param par1 - * @param par2CreativeTabs - * @param par3List - */ - @Override - @SuppressWarnings ({"unchecked", "rawtypes"}) - @SideOnly (Side.CLIENT) - /** - * returns a list of items with the same ID, but different meta (eg: molds returns 16 items) - */ - public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) - { - for(int j = 0; j < moldsItemNames.length; ++j) - par3List.add(new ItemStack(par1, 1, j)); - } - - /** - * @param par1IconRegister - */ - @Override - @SideOnly (Side.CLIENT) - public void registerIcons(IIconRegister par1IconRegister) - { - moldsIcons = new IIcon[moldsItemNames.length]; - for(int i = 0; i < moldsItemNames.length; ++i) - moldsIcons[i] = par1IconRegister.registerIcon(Variables.MODID + ":" + moldsItemNames[i] + getIconString()); - } -} +package darkknight.jewelrycraft.item; + +import java.util.List; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.util.Variables; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; + +public class ItemMolds extends Item +{ + /** List of molds color names */ + public static final String[] moldsItemNames = new String[]{"ingot", "ring", "necklace", "bracelet", "earrings"}; + @SideOnly (Side.CLIENT) + private IIcon[] moldsIcons; + + /** + * + */ + public ItemMolds() + { + super(); + setHasSubtypes(true); + setMaxDamage(0); + setMaxStackSize(1); + } + + /** + * @param par1 + * @return + */ + @Override + @SideOnly (Side.CLIENT) + /** + * Gets an icon index based on an item's damage value + */ + public IIcon getIconFromDamage(int par1) + { + int j = MathHelper.clamp_int(par1, 0, moldsItemNames.length - 1); + return moldsIcons[j]; + } + + /** + * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have different names based on their damage or NBT. + * + * @param par1ItemStack + * @return + */ + @Override + public String getUnlocalizedName(ItemStack par1ItemStack) + { + int i = MathHelper.clamp_int(par1ItemStack.getItemDamage(), 0, moldsItemNames.length - 1); + return super.getUnlocalizedName() + "." + moldsItemNames[i]; + } + + /** + * @param par1 + * @param par2CreativeTabs + * @param par3List + */ + @Override + @SuppressWarnings ({"unchecked", "rawtypes"}) + @SideOnly (Side.CLIENT) + /** + * returns a list of items with the same ID, but different meta (eg: molds returns 16 items) + */ + public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) + { + for(int j = 0; j < moldsItemNames.length; ++j) + par3List.add(new ItemStack(par1, 1, j)); + } + + /** + * @param par1IconRegister + */ + @Override + @SideOnly (Side.CLIENT) + public void registerIcons(IIconRegister par1IconRegister) + { + moldsIcons = new IIcon[moldsItemNames.length]; + for(int i = 0; i < moldsItemNames.length; ++i) + moldsIcons[i] = par1IconRegister.registerIcon(Variables.MODID + ":" + moldsItemNames[i] + getIconString()); + } +} diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetal.java b/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetal.java index f25e09e..a33e9f7 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetal.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetal.java @@ -1,27 +1,13 @@ package darkknight.jewelrycraft.item; -import java.awt.image.BufferedImage; -import java.io.IOException; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -import javax.imageio.ImageIO; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.client.resources.IResourceManager; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import darkknight.jewelrycraft.util.JewelryNBT; import darkknight.jewelrycraft.util.JewelrycraftUtil; import darkknight.jewelrycraft.util.Variables; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; public class ItemMoltenMetal extends Item { diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java b/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java index 869af26..09e5adc 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java @@ -1,6 +1,5 @@ package darkknight.jewelrycraft.item; -import java.io.IOException; import cpw.mods.fml.common.eventhandler.Event; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -9,7 +8,6 @@ import darkknight.jewelrycraft.tileentity.TileEntityMoltenMetal; import darkknight.jewelrycraft.util.JewelryNBT; import darkknight.jewelrycraft.util.JewelrycraftUtil; import darkknight.jewelrycraft.util.Variables; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemNecklace.java b/src/main/java/darkknight/jewelrycraft/item/ItemNecklace.java index a0c16f0..dc5dafa 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemNecklace.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemNecklace.java @@ -1,41 +1,41 @@ -package darkknight.jewelrycraft.item; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.Variables; - -public class ItemNecklace extends ItemBaseJewelry -{ - public IIcon gem; - - /** - * - */ - public ItemNecklace() - {} - - /** - * @param iconRegister - */ - @Override - public void registerIcons(IIconRegister iconRegister) - { - itemIcon = iconRegister.registerIcon(Variables.MODID + ":necklace"); - gem = iconRegister.registerIcon(Variables.MODID + ":jewelNecklace"); - } - - /** - * @param stack - * @param pass - * @return - */ - @Override - public IIcon getIcon(ItemStack stack, int pass) - { - if (pass == 0) return itemIcon; - if (pass == 1 && JewelryNBT.gem(stack) != null) return gem; - return itemIcon; - } -} +package darkknight.jewelrycraft.item; + +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.Variables; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class ItemNecklace extends ItemBaseJewelry +{ + public IIcon gem; + + /** + * + */ + public ItemNecklace() + {} + + /** + * @param iconRegister + */ + @Override + public void registerIcons(IIconRegister iconRegister) + { + itemIcon = iconRegister.registerIcon(Variables.MODID + ":necklace"); + gem = iconRegister.registerIcon(Variables.MODID + ":jewelNecklace"); + } + + /** + * @param stack + * @param pass + * @return + */ + @Override + public IIcon getIcon(ItemStack stack, int pass) + { + if (pass == 0) return itemIcon; + if (pass == 1 && JewelryNBT.gem(stack) != null) return gem; + return itemIcon; + } +} diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemRing.java b/src/main/java/darkknight/jewelrycraft/item/ItemRing.java index d250017..d199979 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemRing.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemRing.java @@ -1,41 +1,41 @@ -package darkknight.jewelrycraft.item; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.Variables; - -public class ItemRing extends ItemBaseJewelry -{ - public IIcon gem; - - /** - * - */ - public ItemRing() - {} - - /** - * @param iconRegister - */ - @Override - public void registerIcons(IIconRegister iconRegister) - { - itemIcon = iconRegister.registerIcon(Variables.MODID + ":ring"); - gem = iconRegister.registerIcon(Variables.MODID + ":jewelRing"); - } - - /** - * @param stack - * @param pass - * @return - */ - @Override - public IIcon getIcon(ItemStack stack, int pass) - { - if (pass == 0) return itemIcon; - if (pass == 1 && JewelryNBT.gem(stack) != null) return gem; - return itemIcon; - } -} +package darkknight.jewelrycraft.item; + +import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.Variables; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class ItemRing extends ItemBaseJewelry +{ + public IIcon gem; + + /** + * + */ + public ItemRing() + {} + + /** + * @param iconRegister + */ + @Override + public void registerIcons(IIconRegister iconRegister) + { + itemIcon = iconRegister.registerIcon(Variables.MODID + ":ring"); + gem = iconRegister.registerIcon(Variables.MODID + ":jewelRing"); + } + + /** + * @param stack + * @param pass + * @return + */ + @Override + public IIcon getIcon(ItemStack stack, int pass) + { + if (pass == 0) return itemIcon; + if (pass == 1 && JewelryNBT.gem(stack) != null) return gem; + return itemIcon; + } +} diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemSpawnEgg.java b/src/main/java/darkknight/jewelrycraft/item/ItemSpawnEgg.java index 708c69c..474c778 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemSpawnEgg.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemSpawnEgg.java @@ -3,7 +3,10 @@ package darkknight.jewelrycraft.item; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.util.Variables; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; @@ -19,10 +22,6 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.MovingObjectPosition.MovingObjectType; import net.minecraft.util.StatCollector; import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import darkknight.jewelrycraft.entities.EntityHeart; -import darkknight.jewelrycraft.util.Variables; /** * @author Betweenlands diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemStructureGen.java b/src/main/java/darkknight/jewelrycraft/item/ItemStructureGen.java index 33ffd3d..9c0b03f 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemStructureGen.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemStructureGen.java @@ -1,21 +1,14 @@ package darkknight.jewelrycraft.item; +import java.util.List; +import darkknight.jewelrycraft.util.JewelrycraftUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ChatComponentText; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; import net.minecraft.world.World; -import java.util.ArrayList; -import java.util.List; - -import darkknight.jewelrycraft.config.ConfigHandler; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.JewelrycraftUtil; -import darkknight.jewelrycraft.util.Variables; - public class ItemStructureGen extends Item { int no = 0; diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemTest.java b/src/main/java/darkknight/jewelrycraft/item/ItemTest.java index 5005d89..250ec1b 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemTest.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemTest.java @@ -1,16 +1,28 @@ package darkknight.jewelrycraft.item; import java.util.List; -import com.pahimar.repackage.cofh.lib.util.helpers.MathHelper; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import darkknight.jewelrycraft.api.Curse; import darkknight.jewelrycraft.util.Variables; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.MovingObjectPosition.MovingObjectType; +import net.minecraft.world.World; public class ItemTest extends Item { @SideOnly (Side.CLIENT) private IIcon[] icons; private NBTTagCompound nbt = new NBTTagCompound(); - private TileEntity test = new TileEntity(); public ItemTest() { diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemThiefGloves.java b/src/main/java/darkknight/jewelrycraft/item/ItemThiefGloves.java index 719bda1..1d664be 100644 --- a/src/main/java/darkknight/jewelrycraft/item/ItemThiefGloves.java +++ b/src/main/java/darkknight/jewelrycraft/item/ItemThiefGloves.java @@ -3,6 +3,12 @@ package darkknight.jewelrycraft.item; import java.util.Iterator; import java.util.List; import java.util.Random; +import org.lwjgl.input.Keyboard; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.relauncher.ReflectionHelper; +import cpw.mods.fml.relauncher.Side; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.Variables; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.passive.EntityVillager; @@ -10,7 +16,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.ChatComponentText; @@ -18,13 +23,6 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraft.village.MerchantRecipe; import net.minecraft.village.MerchantRecipeList; -import org.lwjgl.input.Keyboard; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.relauncher.ReflectionHelper; -import cpw.mods.fml.relauncher.Side; -import darkknight.jewelrycraft.util.JewelrycraftUtil; -import darkknight.jewelrycraft.util.PlayerUtils; -import darkknight.jewelrycraft.util.Variables; public class ItemThiefGloves extends Item { public Random rand = new Random(); diff --git a/src/main/java/darkknight/jewelrycraft/item/render/BraceletRender.java b/src/main/java/darkknight/jewelrycraft/item/render/BraceletRender.java index f24dfec..c1edec2 100644 --- a/src/main/java/darkknight/jewelrycraft/item/render/BraceletRender.java +++ b/src/main/java/darkknight/jewelrycraft/item/render/BraceletRender.java @@ -1,18 +1,15 @@ package darkknight.jewelrycraft.item.render; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.Loader; +import darkknight.jewelrycraft.model.ModelBracelet; +import darkknight.jewelrycraft.util.Variables; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; - -import cpw.mods.fml.common.Loader; -import darkknight.jewelrycraft.model.ModelBracelet; -import darkknight.jewelrycraft.util.Variables; - public class BraceletRender extends TileEntitySpecialRenderer { public ModelBracelet bracelet = new ModelBracelet(); diff --git a/src/main/java/darkknight/jewelrycraft/item/render/EarringsRender.java b/src/main/java/darkknight/jewelrycraft/item/render/EarringsRender.java index 56aabd5..41a2220 100644 --- a/src/main/java/darkknight/jewelrycraft/item/render/EarringsRender.java +++ b/src/main/java/darkknight/jewelrycraft/item/render/EarringsRender.java @@ -1,29 +1,29 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; -import darkknight.jewelrycraft.model.ModelEarrings; -import darkknight.jewelrycraft.util.Variables; - -public class EarringsRender extends TileEntitySpecialRenderer -{ - ModelEarrings earrings = new ModelEarrings(); - ResourceLocation texture = new ResourceLocation(Variables.MODID, "textures/entities/Earrings.png"); - - @Override - public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) - { - } - - public void doRender(Entity entity, double x, double y, double z, float f, float g) - { - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(texture); - earrings.render(entity, 0F, 0F, 0F, (float)z, f, 1.0F); - GL11.glPopMatrix(); - } +package darkknight.jewelrycraft.item.render; + +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.model.ModelEarrings; +import darkknight.jewelrycraft.util.Variables; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class EarringsRender extends TileEntitySpecialRenderer +{ + ModelEarrings earrings = new ModelEarrings(); + ResourceLocation texture = new ResourceLocation(Variables.MODID, "textures/entities/Earrings.png"); + + @Override + public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) + { + } + + public void doRender(Entity entity, double x, double y, double z, float f, float g) + { + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + earrings.render(entity, 0F, 0F, 0F, (float)z, f, 1.0F); + GL11.glPopMatrix(); + } } \ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java b/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java index 165624d..fceb2d8 100644 --- a/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java +++ b/src/main/java/darkknight/jewelrycraft/item/render/ItemRender.java @@ -1,647 +1,669 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockAir; -import net.minecraft.block.BlockAnvil; -import net.minecraft.block.BlockHopper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.*; -import net.minecraft.client.renderer.entity.RenderItem; -import net.minecraft.client.renderer.texture.*; -import net.minecraft.client.renderer.tileentity.*; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.*; -import net.minecraft.src.FMLRenderAccessLibrary; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.*; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import darkknight.jewelrycraft.util.JewelryNBT; - -public class ItemRender implements IItemRenderer -{ - TileEntitySpecialRenderer render; - public TileEntity entity; - ModelBase model; - private RenderBlocks renderBlocksIr = new RenderBlocks(); - private Minecraft mc = Minecraft.getMinecraft(); - private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - private float tran = 0F; - - /** - * @param render - * @param entity - * @param model - */ - public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) - { - this.entity = entity; - this.render = render; - this.model = model; - } - - public ItemRender() - {} - - /** - * @param item - * @param type - * @return - */ - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - return true; - } - - /** - * @param type - * @param item - * @param helper - * @return - */ - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - return true; - } - - /** - * @param type - * @param item - * @param data - */ - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object ... data) - { - if (item != null){ - if (render != null && entity != null && JewelryNBT.item(item) == null){ - if (type == IItemRenderer.ItemRenderType.ENTITY){ - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glTranslatef(-0.5f, -0.5f, -0.4f); - } - render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); - }else if (JewelryNBT.item(item) != null){ - GL11.glPushMatrix(); - GL11.glColor3f(1F, 1F, 0F); - if (Item.getItemById(Integer.valueOf(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4).replace("s", ""))) != null) renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); - else renderItem(Minecraft.getMinecraft().thePlayer, new ItemStack(Blocks.end_portal), 0, type); - GL11.glPopMatrix(); - }else{ - GL11.glPushMatrix(); - GL11.glColor3f(1F, 1F, 0F); - renderItem(Minecraft.getMinecraft().thePlayer, new ItemStack(Blocks.end_portal), 0, type); - GL11.glPopMatrix(); - } - } - } - - public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) - { - GL11.glPushMatrix(); - TextureManager texturemanager = this.mc.getTextureManager(); - if (itemStack != null){ - Item item = itemStack.getItem(); - Block block = Block.getBlockFromItem(item); - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); - if (customRenderer != null){ - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.7F, 0.55F, 0.55F); - ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); - }else if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())){ - texturemanager.bindTexture(texturemanager.getResourceLocation(0)); - if (type.equals(type.EQUIPPED)) GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if (itemStack != null && block != null && block.getRenderBlockPass() != 0){ - GL11.glDepthMask(false); - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - GL11.glDepthMask(true); - }else{ - renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); - } - }else{ - IIcon iicon = itemStack.getIconIndex(); - if (iicon == null){ - GL11.glPopMatrix(); - return; - } - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_152777_a(false, false, 1.0F); - Tessellator tessellator = Tessellator.instance; - float f = iicon.getMinU(); - float f1 = iicon.getMaxU(); - float f2 = iicon.getMinV(); - float f3 = iicon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f6 = 1.6F; - GL11.glScalef(f6, f6, f6); - if (type.equals(type.ENTITY)){ - GL11.glTranslatef(0.0F, 0.0265F, 0.0F); - GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(0.625F, 0.625F, 0.625F); - } - if (!type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(180f, 0f, 1f, 0f); - GL11.glRotatef(30f, 1f, 0f, 0f); - if (type.equals(type.EQUIPPED)){ - GL11.glRotatef(35f, 1f, 0f, 0f); - GL11.glTranslatef(0F, -0.15F, -0.6F); - } - GL11.glTranslatef(-0.5F, -0.5F, 0.0F); - }else if (type.equals(type.EQUIPPED_FIRST_PERSON)){ - GL11.glTranslatef(-0.35F, 0.4F, 0.93F); - GL11.glRotatef(45f, 0f, 1f, 0f); - GL11.glRotatef(-25f, 0f, 0f, 1f); - } - if (itemStack.getItem().requiresMultipleRenderPasses()){ - for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ - iicon = itemStack.getItem().getIcon(itemStack, x); - f = iicon.getMinU(); - f1 = iicon.getMaxU(); - f2 = iicon.getMinV(); - f3 = iicon.getMaxV(); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - }else{ - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); - } - GL11.glDepthFunc(GL11.GL_EQUAL); - renderShine(tessellator, true); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); - TextureUtil.func_147945_b(); - } - } - GL11.glPopMatrix(); - } - - public void renderBlockAsItem(Block block, int damage, float luminacy) - { - Tessellator tessellator = Tessellator.instance; - boolean flag = block == Blocks.grass; - if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) damage = 3; - int j; - float f1; - float f2; - GL11.glColor4f(1F, 1F, 0F, 1.0F); - j = block.getRenderType(); - renderBlocksIr.setRenderBoundsFromBlock(block); - int k; - if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26){ - GL11.glColor4f(1F, 1F, 0F, 1.0F); - if (j == 13){ - // Cactus - block.setBlockBoundsForItemRender(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - f1 = 0.0625F; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - tessellator.addTranslation(0.0F, 0.0F, f1); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.addTranslation(0.0F, 0.0F, -f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - tessellator.addTranslation(0.0F, 0.0F, -f1); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.addTranslation(0.0F, 0.0F, f1); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - tessellator.addTranslation(f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - tessellator.addTranslation(-f1, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.addTranslation(f1, 0.0F, 0.0F); - tessellator.draw(); - GL11.glTranslatef(0.0625F, 0.0F, 0.0625F); - GL11.glScalef(0.9375F - 0.0625F, 1F, 0.9375F - 0.0625F); - shinyBlock(tessellator, false); - }else if (j == 22){ - // Chest - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glTranslatef(0.0625F, 0.0F, 0.0625F); - GL11.glScalef(0.9375F - 0.0625F, 0.875F, 0.9375F - 0.0625F); - shinyBlock(tessellator, false); - }else if (j == 10){ - // Stairs - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 27){ - // Dragon Egg - k = 0; - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - for(int l = 0; l < 8; ++l){ - byte b0 = 0; - byte b1 = 1; - if (l == 0){ - b0 = 2; - } - if (l == 1){ - b0 = 3; - } - if (l == 2){ - b0 = 4; - } - if (l == 3){ - b0 = 5; - b1 = 2; - } - if (l == 4){ - b0 = 6; - b1 = 3; - } - if (l == 5){ - b0 = 7; - b1 = 5; - } - if (l == 6){ - b0 = 6; - b1 = 2; - } - if (l == 7){ - b0 = 3; - } - float f5 = (float)b0 / 16.0F; - float f6 = 1.0F - (float)k / 16.0F; - float f7 = 1.0F - (float)(k + b1) / 16.0F; - k += b1; - renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - } - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 11){ - // Fence - for(k = 0; k < 4; ++k){ - f2 = 0.125F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); - } - if (k == 3){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 21){ - // Fence Gate - for(k = 0; k < 3; ++k){ - f2 = 0.0625F; - if (k == 0){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); - } - if (k == 1){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); - } - f2 = 0.0625F; - if (k == 2){ - renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - }else if (j == 32){ - // Wall - for(k = 0; k < 2; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); - } - if (k == 1){ - renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - }else if (j == 35){ - // Anvil - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - }else if (j == 34){ - // Beacon - for(k = 0; k < 3; ++k){ - if (k == 0){ - renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); - }else if (k == 1){ - renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); - }else if (k == 2){ - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); - renderBlocksIr.clearOverrideBlockTexture(); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - shinyBlock(tessellator, false); - }else{ - FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); - } - }else{ - if (j == 16){ - damage = 1; - } - block.setBlockBoundsForItemRender(); - renderBlocksIr.setRenderBoundsFromBlock(block); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); - tessellator.draw(); - GL11.glColor4f(1F, 1F, 0F, 1.0F); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); - tessellator.draw(); - - GL11.glTranslatef((float)block.getBlockBoundsMinX(), (float)block.getBlockBoundsMinY(), (float)block.getBlockBoundsMinZ()); - GL11.glScalef((float)block.getBlockBoundsMaxX() - (float)block.getBlockBoundsMinX(), (float)block.getBlockBoundsMaxY() - (float)block.getBlockBoundsMinY(), (float)block.getBlockBoundsMaxZ() - (float)block.getBlockBoundsMinZ()); - shinyBlock(tessellator, false); - - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } - } - - public void renderShine(Tessellator tessellator, boolean autoAnimate) - { - TextureManager texturemanager = this.mc.getTextureManager(); - texturemanager.bindTexture(RES_ITEM_GLINT); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(768, 1, 1, 0); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.325F; - GL11.glScalef(f8, f8, f8); - if (autoAnimate) GL11.glTranslatef(17F, 0.0F, 0.0F); - else{ - GL11.glTranslatef(tran, 0.0F, 0.0F); - tran+=0.0004F; - if(tran >= 360F) tran = 0F; - } - GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); - GL11.glColor3f(1F, 1F, 0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.001F); - GL11.glPopMatrix(); - } - - public void shinyBlock(Tessellator tessellator, boolean autoAnimate) - { - GL11.glPushMatrix(); - GL11.glTranslatef(0F, 0.0F, -0.001F); - renderShine(tessellator, autoAnimate); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glTranslatef(1.0F, 0.0F, 1.0001F); - GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); - renderShine(tessellator, autoAnimate); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glTranslatef(-0.001F, 0.0F, 0.0F); - GL11.glRotatef(90.0F, 0.0F, -1.0F, 0.0F); - renderShine(tessellator, autoAnimate); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glTranslatef(1.001F, 0.0F, 1.0F); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - renderShine(tessellator, autoAnimate); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glTranslatef(0.0F, -0.001F, 0.0F); - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - renderShine(tessellator, autoAnimate); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glTranslatef(0.0F, 1.0F, 0.0F); - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - renderShine(tessellator, autoAnimate); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glPopMatrix(); - } -} +package darkknight.jewelrycraft.item.render; + +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.util.JewelryNBT; +import net.minecraft.block.Block; +import net.minecraft.block.BlockAnvil; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.client.renderer.texture.TextureUtil; +import net.minecraft.client.renderer.tileentity.TileEntityRendererChestHelper; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.src.FMLRenderAccessLibrary; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.ForgeHooksClient; +import net.minecraftforge.client.IItemRenderer; +import net.minecraftforge.client.MinecraftForgeClient; + +public class ItemRender implements IItemRenderer +{ + TileEntitySpecialRenderer render; + public TileEntity entity; + ModelBase model; + private RenderBlocks renderBlocksIr = new RenderBlocks(); + private Minecraft mc = Minecraft.getMinecraft(); + private static final ResourceLocation RES_ITEM_GLINT = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + private float tran = 0F; + + /** + * @param render + * @param entity + * @param model + */ + public ItemRender(TileEntitySpecialRenderer render, TileEntity entity, ModelBase model) + { + this.entity = entity; + this.render = render; + this.model = model; + } + + public ItemRender() + {} + + /** + * @param item + * @param type + * @return + */ + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) + { + return true; + } + + /** + * @param type + * @param item + * @param helper + * @return + */ + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) + { + return true; + } + + /** + * @param type + * @param item + * @param data + */ + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object ... data) + { + if (item != null) { + if (render != null && entity != null && JewelryNBT.item(item) == null) { + if (type == IItemRenderer.ItemRenderType.ENTITY) { + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glTranslatef(-0.5f, -0.5f, -0.4f); + } + render.renderTileEntityAt(entity, 0.0D, 0.0D, 0.0D, 0.0F); + }else + if (JewelryNBT.item(item) != null) { + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + if (Item.getItemById(Integer.valueOf(item.getTagCompound().getTag("target").toString().split(",")[0].substring(4).replace("s", ""))) != null) + renderItem(Minecraft.getMinecraft().thePlayer, JewelryNBT.item(item), 0, type); + else renderItem(Minecraft.getMinecraft().thePlayer, new ItemStack(Blocks.end_portal), 0, type); + GL11.glPopMatrix(); + }else{ + GL11.glPushMatrix(); + GL11.glColor3f(1F, 1F, 0F); + renderItem(Minecraft.getMinecraft().thePlayer, new ItemStack(Blocks.end_portal), 0, type); + GL11.glPopMatrix(); + } + } + } + + public void renderItem(EntityLivingBase entity, ItemStack itemStack, int meta, ItemRenderType type) + { + GL11.glPushMatrix(); + TextureManager texturemanager = this.mc.getTextureManager(); + if (itemStack != null) { + Item item = itemStack.getItem(); + Block block = Block.getBlockFromItem(item); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemStack, type); + if (customRenderer != null) { + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + if (type.equals(type.EQUIPPED)) + GL11.glTranslatef(0.7F, 0.55F, 0.55F); + ForgeHooksClient.renderEquippedItem(type, customRenderer, renderBlocksIr, entity, itemStack); + }else + if (itemStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock && RenderBlocks.renderItemIn3d(block.getRenderType())) { + texturemanager.bindTexture(texturemanager.getResourceLocation(0)); + if (type.equals(type.EQUIPPED)) + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + if (itemStack != null && block != null && block.getRenderBlockPass() != 0) { + GL11.glDepthMask(false); + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + GL11.glDepthMask(true); + }else{ + renderBlockAsItem(block, itemStack.getItemDamage(), 1.0F); + } + }else{ + IIcon iicon = itemStack.getIconIndex(); + if (iicon == null) { + GL11.glPopMatrix(); + return; + } + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + float f = iicon.getMinU(); + float f1 = iicon.getMaxU(); + float f2 = iicon.getMinV(); + float f3 = iicon.getMaxV(); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f6 = 1.6F; + GL11.glScalef(f6, f6, f6); + if (type.equals(type.ENTITY)) { + GL11.glTranslatef(0.0F, 0.0265F, 0.0F); + GL11.glRotatef(-30F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(0.625F, 0.625F, 0.625F); + } + if (!type.equals(type.EQUIPPED_FIRST_PERSON)) { + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(180f, 0f, 1f, 0f); + GL11.glRotatef(30f, 1f, 0f, 0f); + if (type.equals(type.EQUIPPED)) { + GL11.glRotatef(35f, 1f, 0f, 0f); + GL11.glTranslatef(0F, -0.15F, -0.6F); + } + GL11.glTranslatef(-0.5F, -0.5F, 0.0F); + }else + if (type.equals(type.EQUIPPED_FIRST_PERSON)) { + GL11.glTranslatef(-0.35F, 0.4F, 0.93F); + GL11.glRotatef(45f, 0f, 1f, 0f); + GL11.glRotatef(-25f, 0f, 0f, 1f); + } + if (itemStack.getItem().requiresMultipleRenderPasses()) { + for(int x = 0; x < itemStack.getItem().getRenderPasses(itemStack.getItemDamage()); x++){ + iicon = itemStack.getItem().getIcon(itemStack, x); + f = iicon.getMinU(); + f1 = iicon.getMaxU(); + f2 = iicon.getMinV(); + f3 = iicon.getMaxV(); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + }else{ + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + } + GL11.glDepthFunc(GL11.GL_EQUAL); + renderShine(tessellator, true); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + float f9 = (float)(Minecraft.getSystemTime() % 30000L) / 30000.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(30.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + texturemanager.bindTexture(texturemanager.getResourceLocation(itemStack.getItemSpriteNumber())); + TextureUtil.func_147945_b(); + } + } + GL11.glPopMatrix(); + } + + public void renderBlockAsItem(Block block, int damage, float luminacy) + { + Tessellator tessellator = Tessellator.instance; + if (block == Blocks.dispenser || block == Blocks.dropper || block == Blocks.furnace) + damage = 3; + int j; + float f1; + float f2; + GL11.glColor4f(1F, 1F, 0F, 1.0F); + j = block.getRenderType(); + renderBlocksIr.setRenderBoundsFromBlock(block); + int k; + if (j != 0 && j != 31 && j != 39 && j != 16 && j != 26) { + GL11.glColor4f(1F, 1F, 0F, 1.0F); + if (j == 13) { + // Cactus + block.setBlockBoundsForItemRender(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + f1 = 0.0625F; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + tessellator.addTranslation(0.0F, 0.0F, f1); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.addTranslation(0.0F, 0.0F, -f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + tessellator.addTranslation(0.0F, 0.0F, -f1); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.addTranslation(0.0F, 0.0F, f1); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + tessellator.addTranslation(f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + tessellator.addTranslation(-f1, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.addTranslation(f1, 0.0F, 0.0F); + tessellator.draw(); + GL11.glTranslatef(0.0625F, 0.0F, 0.0625F); + GL11.glScalef(0.9375F - 0.0625F, 1F, 0.9375F - 0.0625F); + shinyBlock(tessellator, false); + }else + if (j == 22) { + // Chest + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + TileEntityRendererChestHelper.instance.renderChest(block, damage, luminacy); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + GL11.glTranslatef(0.0625F, 0.0F, 0.0625F); + GL11.glScalef(0.9375F - 0.0625F, 0.875F, 0.9375F - 0.0625F); + shinyBlock(tessellator, false); + }else + if (j == 10) { + // Stairs + for(k = 0; k < 2; ++k){ + if (k == 0) { + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D); + } + if (k == 1) { + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else + if (j == 27) { + // Dragon Egg + k = 0; + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + for(int l = 0; l < 8; ++l){ + byte b0 = 0; + byte b1 = 1; + if (l == 0) { + b0 = 2; + } + if (l == 1) { + b0 = 3; + } + if (l == 2) { + b0 = 4; + } + if (l == 3) { + b0 = 5; + b1 = 2; + } + if (l == 4) { + b0 = 6; + b1 = 3; + } + if (l == 5) { + b0 = 7; + b1 = 5; + } + if (l == 6) { + b0 = 6; + b1 = 2; + } + if (l == 7) { + b0 = 3; + } + float f5 = (float)b0 / 16.0F; + float f6 = 1.0F - (float)k / 16.0F; + float f7 = 1.0F - (float)(k + b1) / 16.0F; + k += b1; + renderBlocksIr.setRenderBounds((double)(0.5F - f5), (double)f7, (double)(0.5F - f5), (double)(0.5F + f5), (double)f6, (double)(0.5F + f5)); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + } + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else + if (j == 11) { + // Fence + for(k = 0; k < 4; ++k){ + f2 = 0.125F; + if (k == 0) { + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1) { + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.0D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2) { + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(1.0F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(1.0F - f2), (double)(1.0F + f2 * 2.0F)); + } + if (k == 3) { + renderBlocksIr.setRenderBounds((double)(0.5F - f2), (double)(0.5F - f2 * 3.0F), (double)(-f2 * 2.0F), (double)(0.5F + f2), (double)(0.5F - f2), (double)(1.0F + f2 * 2.0F)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else + if (j == 21) { + // Fence Gate + for(k = 0; k < 3; ++k){ + f2 = 0.0625F; + if (k == 0) { + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, 0.0D, (double)(0.5F + f2), 1.0D, (double)(f2 * 2.0F)); + } + if (k == 1) { + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.30000001192092896D, (double)(1.0F - f2 * 2.0F), (double)(0.5F + f2), 1.0D, 1.0D); + } + f2 = 0.0625F; + if (k == 2) { + renderBlocksIr.setRenderBounds((double)(0.5F - f2), 0.5D, 0.0D, (double)(0.5F + f2), (double)(1.0F - f2), 1.0D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 0)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 1)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 2)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 3)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 4)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSide(block, 5)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + }else + if (j == 32) { + // Wall + for(k = 0; k < 2; ++k){ + if (k == 0) { + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D); + } + if (k == 1) { + renderBlocksIr.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + }else + if (j == 35) { + // Anvil + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + renderBlocksIr.renderBlockAnvilOrient((BlockAnvil)block, 0, 0, 0, damage << 2, true); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + }else + if (j == 34) { + // Beacon + for(k = 0; k < 3; ++k){ + if (k == 0) { + renderBlocksIr.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.obsidian)); + }else + if (k == 1) { + renderBlocksIr.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.beacon)); + }else + if (k == 2) { + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.setOverrideBlockTexture(renderBlocksIr.getBlockIcon(Blocks.glass)); + } + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + renderBlocksIr.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D); + renderBlocksIr.clearOverrideBlockTexture(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + shinyBlock(tessellator, false); + }else{ + try{ + FMLRenderAccessLibrary.renderInventoryBlock(renderBlocksIr, block, damage, j); + } + catch(Exception e){ + JewelrycraftMod.logger.error("Something went wrong with rendering the item"); + e.printStackTrace(); + } + } + }else{ + if (j == 16) { + damage = 1; + } + block.setBlockBoundsForItemRender(); + renderBlocksIr.setRenderBoundsFromBlock(block); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderBlocksIr.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 0, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderBlocksIr.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 1, damage)); + tessellator.draw(); + GL11.glColor4f(1F, 1F, 0F, 1.0F); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderBlocksIr.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 2, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderBlocksIr.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 3, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 4, damage)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderBlocksIr.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderBlocksIr.getBlockIconFromSideAndMetadata(block, 5, damage)); + tessellator.draw(); + GL11.glTranslatef((float)block.getBlockBoundsMinX(), (float)block.getBlockBoundsMinY(), (float)block.getBlockBoundsMinZ()); + GL11.glScalef((float)block.getBlockBoundsMaxX() - (float)block.getBlockBoundsMinX(), (float)block.getBlockBoundsMaxY() - (float)block.getBlockBoundsMinY(), (float)block.getBlockBoundsMaxZ() - (float)block.getBlockBoundsMinZ()); + shinyBlock(tessellator, false); + GL11.glTranslatef(0.5F, 0.5F, 0.5F); + } + } + + public void renderShine(Tessellator tessellator, boolean autoAnimate) + { + TextureManager texturemanager = this.mc.getTextureManager(); + texturemanager.bindTexture(RES_ITEM_GLINT); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(768, 1, 1, 0); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glPushMatrix(); + float f8 = 0.325F; + GL11.glScalef(f8, f8, f8); + if (autoAnimate) + GL11.glTranslatef(17F, 0.0F, 0.0F); + else{ + GL11.glTranslatef(tran, 0.0F, 0.0F); + tran += 0.0004F; + if (tran >= 360F) + tran = 0F; + } + GL11.glRotatef(-30.0F, 0.0F, 0.0F, 1.0F); + GL11.glColor3f(1F, 1F, 0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.001F); + GL11.glPopMatrix(); + } + + public void shinyBlock(Tessellator tessellator, boolean autoAnimate) + { + GL11.glPushMatrix(); + GL11.glTranslatef(0F, 0.0F, -0.001F); + renderShine(tessellator, autoAnimate); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslatef(1.0F, 0.0F, 1.0001F); + GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); + renderShine(tessellator, autoAnimate); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslatef(-0.001F, 0.0F, 0.0F); + GL11.glRotatef(90.0F, 0.0F, -1.0F, 0.0F); + renderShine(tessellator, autoAnimate); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslatef(1.001F, 0.0F, 1.0F); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + renderShine(tessellator, autoAnimate); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslatef(0.0F, -0.001F, 0.0F); + GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); + renderShine(tessellator, autoAnimate); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslatef(0.0F, 1.0F, 0.0F); + GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); + renderShine(tessellator, autoAnimate); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/darkknight/jewelrycraft/item/render/MaskRender.java b/src/main/java/darkknight/jewelrycraft/item/render/MaskRender.java index b4e20a9..8228619 100644 --- a/src/main/java/darkknight/jewelrycraft/item/render/MaskRender.java +++ b/src/main/java/darkknight/jewelrycraft/item/render/MaskRender.java @@ -1,15 +1,13 @@ package darkknight.jewelrycraft.item.render; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.model.ModelMask; +import darkknight.jewelrycraft.util.Variables; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; -import darkknight.jewelrycraft.model.ModelMask; -import darkknight.jewelrycraft.tileentity.TileEntityDisplayer; -import darkknight.jewelrycraft.util.Variables; public class MaskRender extends TileEntitySpecialRenderer { diff --git a/src/main/java/darkknight/jewelrycraft/item/render/NecklaceRender.java b/src/main/java/darkknight/jewelrycraft/item/render/NecklaceRender.java index e773a14..0799bab 100644 --- a/src/main/java/darkknight/jewelrycraft/item/render/NecklaceRender.java +++ b/src/main/java/darkknight/jewelrycraft/item/render/NecklaceRender.java @@ -1,29 +1,29 @@ -package darkknight.jewelrycraft.item.render; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; -import darkknight.jewelrycraft.model.ModelNeckalce; -import darkknight.jewelrycraft.util.Variables; - -public class NecklaceRender extends TileEntitySpecialRenderer -{ - public ModelNeckalce neckalce = new ModelNeckalce(); - ResourceLocation texture = new ResourceLocation(Variables.MODID, "textures/entities/Necklace.png"); - - @Override - public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) - { - } - - public void doRender(Entity entity, double x, double y, double z, float f, float g) - { - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(texture); - if ((float)z != -1) neckalce.render(entity, 0F, 0F, 0F, (float)z, f, 1.0F); - GL11.glPopMatrix(); - } +package darkknight.jewelrycraft.item.render; + +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.model.ModelNeckalce; +import darkknight.jewelrycraft.util.Variables; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class NecklaceRender extends TileEntitySpecialRenderer +{ + public ModelNeckalce neckalce = new ModelNeckalce(); + ResourceLocation texture = new ResourceLocation(Variables.MODID, "textures/entities/Necklace.png"); + + @Override + public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) + { + } + + public void doRender(Entity entity, double x, double y, double z, float f, float g) + { + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(texture); + if ((float)z != -1) neckalce.render(entity, 0F, 0F, 0F, (float)z, f, 1.0F); + GL11.glPopMatrix(); + } } \ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/item/render/RingRender.java b/src/main/java/darkknight/jewelrycraft/item/render/RingRender.java index 5385fe1..b48af10 100644 --- a/src/main/java/darkknight/jewelrycraft/item/render/RingRender.java +++ b/src/main/java/darkknight/jewelrycraft/item/render/RingRender.java @@ -1,13 +1,13 @@ package darkknight.jewelrycraft.item.render; +import org.lwjgl.opengl.GL11; +import darkknight.jewelrycraft.model.ModelRing; +import darkknight.jewelrycraft.util.Variables; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.entity.Entity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; -import darkknight.jewelrycraft.model.ModelRing; -import darkknight.jewelrycraft.util.Variables; public class RingRender extends TileEntitySpecialRenderer { -- cgit v1.2.3