package me.tyler15555.minibosses.item;
import me.tyler15555.minibosses.common.MiniBosses;
import me.tyler15555.minibosses.util.Resources;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MathHelper;
import net.minecraftforge.common.ISpecialArmor;
public class ItemInfernoArmor extends ItemArmor implements ISpecialArmor {
public ItemInfernoArmor(int slot) {
super(Resources.inferno, MiniBosses.createInfernoRenderPrefix(), slot);
}
@Override
public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) {
if(source.isFireDamage()) {
return new ArmorProperties(1, Integer.MAX_VALUE, MathHelper.floor_double(damage / 0.25D)); //No, having Integer.Max_VALUE does not mean this will absorb all the damage, its there to prevent an overflow in case you somehow take some ungodly amount of damage
} else {
return new ArmorProperties(0, 0, 0);
}
}
@Override
public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) {
return 4;
}
@Override
public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) {
if(source.isFireDamage()) {
stack.damageItem(damage * 2, entity);
} else {
stack.damageItem(damage, entity);
}
}
@Override
public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) {
return !(stack.getItem() == MBItems.infernoLegs) ? "minibosses:/textures/armor/inferno_1.png" : "minibosses:/textures/armor/inferno_2.png";
}
@Override
public CreativeTabs[] getCreativeTabs() {
return new CreativeTabs[] {Resources.tabMB, CreativeTabs.tabCombat};
}
}