97 lines
3 KiB
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));
|
|
}
|
|
}
|
|
|
|
}
|