summaryrefslogtreecommitdiff
path: root/src/main/java/darkknight/jewelrycraft/item/ItemMolds.java
diff options
context:
space:
mode:
authorOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-03-23 14:51:06 +0000
committerOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-03-23 14:51:06 +0000
commit6312636fd9a4d0f56dc7c9ff474a99d879bcb4e9 (patch)
treee3279753210bfb169a00cd3f146a80baf624150e /src/main/java/darkknight/jewelrycraft/item/ItemMolds.java
parente86949a1ad3269ec66c9de65e2c92f5e66251411 (diff)
Reworked the whole repo.
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/item/ItemMolds.java')
-rw-r--r--src/main/java/darkknight/jewelrycraft/item/ItemMolds.java87
1 files changed, 87 insertions, 0 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemMolds.java b/src/main/java/darkknight/jewelrycraft/item/ItemMolds.java
new file mode 100644
index 0000000..106fcbe
--- /dev/null
+++ b/src/main/java/darkknight/jewelrycraft/item/ItemMolds.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 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("jewelrycraft:" + moldsItemNames[i] + getIconString());
+ }
+}