package net.tropicraft.item.scuba;
import java.util.List;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.tropicraft.util.ColorHelper;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ItemScubaChestplateGear extends ItemScubaGear {
public ItemScubaChestplateGear(ArmorMaterial material, ScubaMaterial scubaMaterial, int renderIndex, int armorType) {
super(material, scubaMaterial, renderIndex, armorType);
}
/**
* allows items to add custom lines of information to the mouseover description
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
@SideOnly(Side.CLIENT)
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean par4) {
AirType airType = itemstack.getItemDamage() >= 2 ? AirType.TRIMIX : AirType.REGULAR;
String airRemaining = getTagCompound(itemstack).getFloat("AirContained") + " psi";
String numTanks = String.valueOf(itemstack.getItemDamage() % 2 != 0 ? 2 : 1);
String suitType = this.scubaMaterial.getDisplayName();
list.add(ColorHelper.color(9) + StatCollector.translateToLocal("gui.tropicraft:suitType") + ": " + ColorHelper.color(7) + suitType);
list.add(ColorHelper.color(9) + StatCollector.translateToLocal("gui.tropicraft:airType") + ": " + ColorHelper.color(7) + airType.getDisplayName());
list.add(ColorHelper.color(9) + StatCollector.translateToLocal("gui.tropicraft:numTanks") + ": " + ColorHelper.color(7) + numTanks);
list.add(ColorHelper.color(9) + StatCollector.translateToLocal("gui.tropicraft:maxAirCapacity") + ": " + ColorHelper.color(7) + airType.getMaxCapacity() + " psi");
list.add(ColorHelper.color(9) + StatCollector.translateToLocal("gui.tropicraft:airRemaining") + ": " + ColorHelper.color(7) + airRemaining);
list.add(ColorHelper.color(9) + String.format("%s: %s%.3f psi/sec", StatCollector.translateToLocal("gui.tropicraft:useEfficiency"), ColorHelper.color(7), (airType.getUsageRate() * 20)));
}
/**
* Gets the type of air this gear uses
* @param itemstack An ItemStack containing this item
* @return
*/
public AirType getAirType(ItemStack itemstack) {
return itemstack.getItemDamage() >= 2 ? AirType.TRIMIX : AirType.REGULAR;
}
/**
* returns a list of items with the same ID, but different meta (eg: dye returns 16 items)
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs tab, List list) {
ItemStack singleTankRegular = new ItemStack(item, 1, 0);
getTagCompound(singleTankRegular).setFloat("AirContained", ItemScubaGear.AirType.REGULAR.getMaxCapacity());
list.add(singleTankRegular);
ItemStack doubleTankRegular = new ItemStack(item, 1, 1);
getTagCompound(doubleTankRegular).setFloat("AirContained", ItemScubaGear.AirType.REGULAR.getMaxCapacity() * 2);
list.add(doubleTankRegular);
ItemStack singleTankTrimix = new ItemStack(item, 1, 2);
getTagCompound(singleTankTrimix).setFloat("AirContained", ItemScubaGear.AirType.TRIMIX.getMaxCapacity());
list.add(singleTankTrimix);
ItemStack doubleTankTrimix = new ItemStack(item, 1, 3);
getTagCompound(doubleTankTrimix).setFloat("AirContained", ItemScubaGear.AirType.TRIMIX.getMaxCapacity() * 2);
list.add(doubleTankTrimix);
}
@Override
public ArmorProperties getProperties(EntityLivingBase player,
ItemStack armor, DamageSource source, double damage, int slot) {
return null;
}
@Override
public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) {
return 0;
}
@Override
public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) {
}
@Override
public void onArmorTick(World world, EntityPlayer player, ItemStack itemstack) {
}
}