diff options
| author | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2015-03-23 14:51:06 +0000 |
|---|---|---|
| committer | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2015-03-23 14:51:06 +0000 |
| commit | 6312636fd9a4d0f56dc7c9ff474a99d879bcb4e9 (patch) | |
| tree | e3279753210bfb169a00cd3f146a80baf624150e /src/main/java/darkknight/jewelrycraft/item/ItemClayMolds.java | |
| parent | e86949a1ad3269ec66c9de65e2c92f5e66251411 (diff) | |
Reworked the whole repo.
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/item/ItemClayMolds.java')
| -rw-r--r-- | src/main/java/darkknight/jewelrycraft/item/ItemClayMolds.java | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemClayMolds.java b/src/main/java/darkknight/jewelrycraft/item/ItemClayMolds.java new file mode 100644 index 0000000..9f99857 --- /dev/null +++ b/src/main/java/darkknight/jewelrycraft/item/ItemClayMolds.java @@ -0,0 +1,87 @@ +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; + +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("jewelrycraft:" + moldsItemNames[i] + getIconString()); + } +} |
