/*******************************************************************************
* AbyssalCraft
* Copyright (c) 2012 - 2017 Shinoow.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-3.0.txt
*
* Contributors:
* Shinoow - implementation
******************************************************************************/
package com.shinoow.abyssalcraft.common.items;
import java.util.List;
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.NonNullList;
import net.minecraft.util.text.translation.I18n;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import com.shinoow.abyssalcraft.api.item.ICrystal;
import com.shinoow.abyssalcraft.lib.ACLib;
import com.shinoow.abyssalcraft.lib.ACTabs;
public class ItemCrystal extends Item implements ICrystal {
boolean postfix;
public ItemCrystal(String name){
this(name, false);
}
public ItemCrystal(String name, boolean postfix){
super();
setUnlocalizedName(name);
setCreativeTab(ACTabs.tabCrystals);
setMaxDamage(0);
setHasSubtypes(true);
this.postfix = postfix;
}
// @Override
// public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) {
// if(par1ItemStack.getItem() == AbyssalCraft.crystalOxygen && par3EntityPlayer.isInWater() && par3EntityPlayer.getAir() != 300){
// par3EntityPlayer.setAir(300);
// par1ItemStack.stackSize--;
// }
// if(par1ItemStack.getItem() == AbyssalCraft.crystalSulfur)
// par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 100));
// return par1ItemStack;
// }
@Override
public int getMetadata(int meta) {
return meta;
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item par1Item, CreativeTabs par2CreativeTab, NonNullList<ItemStack> par3List){
for(int i = 0; i < ACLib.crystalNames.length; ++i)
par3List.add(new ItemStack(par1Item, 1, i));
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void addInformation(ItemStack is, EntityPlayer player, List l, boolean B){
l.add(I18n.translateToLocal("tooltip.crystal")+ ": " + ACLib.crystalAtoms[is.getItemDamage()]);
}
@Override
public String getItemStackDisplayName(ItemStack par1ItemStack) {
if(postfix)
return I18n.translateToLocalFormatted(getUnlocalizedName().substring(5)+ ".postfix", I18n.translateToLocal("item.crystal." + ACLib.crystalNames[par1ItemStack.getItemDamage()] + ".name"));
else return I18n.translateToLocal(getUnlocalizedName() + "." + ACLib.crystalNames[par1ItemStack.getItemDamage()] + ".name");
}
}