diff options
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/item/ItemCrystal.java')
| -rw-r--r-- | src/main/java/darkknight/jewelrycraft/item/ItemCrystal.java | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemCrystal.java b/src/main/java/darkknight/jewelrycraft/item/ItemCrystal.java new file mode 100644 index 0000000..ca6b58d --- /dev/null +++ b/src/main/java/darkknight/jewelrycraft/item/ItemCrystal.java @@ -0,0 +1,113 @@ +package darkknight.jewelrycraft.item; + +import java.util.List; +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.util.IIcon; +import net.minecraft.world.World; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ItemCrystal extends Item +{ + public IIcon overlay; + public static final int[] dyeColors = new int[]{1973019, 11743532, 3887386, 5320730, 2437522, 8073150, 2651799, 11250603, 4408131, 14188952, 4312372, 14602026, 6719955, 12801229, 15435844, 15790320}; + + /** + * + */ + public ItemCrystal() + { + super(); + setHasSubtypes(true); + setMaxDamage(0); + } + + /** + * @param iconRegister + */ + @Override + public void registerIcons(IIconRegister iconRegister) + { + itemIcon = iconRegister.registerIcon("jewelrycraft:crystal"); + overlay = iconRegister.registerIcon("jewelrycraft:crystalOverlay"); + } + + /** + * @return + */ + @Override + public boolean requiresMultipleRenderPasses() + { + return true; + } + + /** + * @param stack + * @param pass + * @return + */ + @Override + @SideOnly (Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int pass) + { + if (pass == 1 && getDamage(stack) != 16) return dyeColors[getDamage(stack)]; + return 16777215; + } + + /** + * @param stack + * @param pass + * @return + */ + @Override + public IIcon getIcon(ItemStack stack, int pass) + { + return pass == 0 ? itemIcon : overlay; + } + + /** + * @param stack + * @param player + * @param world + * @param i + * @param j + * @param k + * @param side + * @param par8 + * @param par9 + * @param par10 + * @return + */ + @Override + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int i, int j, int k, int side, float par8, float par9, float par10) + { + return true; + } + + /** + * @param stack + * @return + */ + @Override + public String getUnlocalizedName(ItemStack stack) + { + return super.getUnlocalizedName() + "." + stack.getItemDamage(); + } + + /** + * @param par1 + * @param par2CreativeTabs + * @param par3List + */ + @Override + @SuppressWarnings ({"unchecked", "rawtypes"}) + public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) + { + for(int j = 0; j < 16; ++j) + par3List.add(new ItemStack(par1, 1, j)); + } +} |
