equivalent-exchange-3/ee3_common/ee3/common/item/ItemAlchemyDust.java

97 lines
3 KiB
Java

package ee3.common.item;
import java.util.List;
import net.minecraft.src.CreativeTabs;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.EnumRarity;
import net.minecraft.src.ItemStack;
import net.minecraft.src.MathHelper;
import net.minecraft.src.StringTranslate;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
import cpw.mods.fml.common.registry.LanguageRegistry;
import ee3.common.EquivalentExchange3;
import ee3.common.lib.CustomItemRarity;
import ee3.common.lib.Strings;
/**
* ItemAlchemyDust
*
* General class for Alchemy related dusts
*
* @author pahimar
* @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html)
*
*/
public class ItemAlchemyDust extends ItemEE {
public static final String[] alchemyDustNames = new String[] {"ash", "minium", "verdant", "azure", "amaranthine", "iridescent"};
public ItemAlchemyDust(int id) {
super(id);
this.setHasSubtypes(true);
this.setMaxDamage(0);
this.setIconCoord(0, 3);
this.setItemName(Strings.ALCHEMY_DUST_NAME);
this.setCreativeTab(EquivalentExchange3.tabsEE3);
maxStackSize = 64;
}
@SideOnly(Side.CLIENT)
public int getIconFromDamage(int meta) {
int i = MathHelper.clamp_int(meta, 0, 11);
return (this.iconIndex + i);
}
public String getItemNameIS(ItemStack stack) {
int meta = MathHelper.clamp_int(stack.getItemDamage(), 0, 11);
return super.getItemName() + "." + alchemyDustNames[meta / 2];
}
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4) {
int meta = MathHelper.clamp_int(stack.getItemDamage(), 0, 11);
String key = (meta % 2 == 0) ? Strings.TEXT_IMPURE : Strings.TEXT_PURE;
list.add(LanguageRegistry.instance().getStringLocalization(key));
}
@SideOnly(Side.CLIENT)
public boolean hasEffect(ItemStack stack) {
int meta = MathHelper.clamp_int(stack.getItemDamage(), 0, 11);
if (meta >= 10) {
return true;
}
else {
return false;
}
}
@SideOnly(Side.CLIENT)
public EnumRarity getRarity(ItemStack stack) {
int meta = MathHelper.clamp_int(stack.getItemDamage(), 0, 11);
switch(meta / 2) {
case 0: return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.NORMAL);
case 1: return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.NORMAL);
case 2: return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.UNCOMMON);
case 3: return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.MAGICAL);
case 4: return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.EPIC);
case 5: return EquivalentExchange3.proxy.getCustomRarityType(CustomItemRarity.LEGENDARY);
default: return EnumRarity.common;
}
}
@SideOnly(Side.CLIENT)
public void getSubItems(int id, CreativeTabs creativeTab, List list)
{
for (int meta = 0; meta < 12; ++meta) {
list.add(new ItemStack(id, 1, meta));
}
}
}