package eiteam.esteemedinnovation.armor.exosuit.steam.upgrades;
import eiteam.esteemedinnovation.api.ChargableUtility;
import eiteam.esteemedinnovation.api.exosuit.ExosuitSlot;
import eiteam.esteemedinnovation.commons.Config;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
import net.minecraftforge.fml.common.eventhandler.Event;
import static eiteam.esteemedinnovation.armor.ArmorModule.resource;
public class ItemFallAssistUpgrade extends ItemSteamExosuitUpgrade {
public ItemFallAssistUpgrade() {
super(ExosuitSlot.BOOTS_TOP, resource("fallUpgrade"), null, 0);
}
@Override
public void onPlayerHurt(LivingHurtEvent event, EntityPlayer victim, ItemStack armorStack, EntityEquipmentSlot slot) {
if (event.getSource() == DamageSource.fall) {
boolean hasPower = ChargableUtility.hasPower(event.getEntityLiving(), (int) (event.getAmount() / Config.fallAssistDivisor));
if (hasPower) {
if (event.getAmount() <= 6.0F) {
event.setAmount(0F);
}
event.setAmount(event.getAmount() / 3F);
ChargableUtility.drainSteam(victim.getItemStackFromSlot(EntityEquipmentSlot.CHEST), (int) (event.getAmount() / Config.fallAssistDivisor), victim);
if (event.getAmount() == 0.0F) {
event.setResult(Event.Result.DENY);
event.setCanceled(true);
}
}
}
}
}