package chbachman.armour.upgrade.upgradeList;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import chbachman.api.configurability.Configurable;
import chbachman.api.configurability.ConfigurableField;
import chbachman.api.item.IModularItem;
import chbachman.api.upgrade.Upgrade;
import chbachman.api.util.ArmourSlot;
import chbachman.armour.util.ConfigHelper;
import chbachman.armour.util.EnergyUtil;
public class UpgradeFallDamage extends Upgrade {
public UpgradeFallDamage() {
super("fallDamage");
}
@Configurable
public ConfigurableField f = new ConfigurableField(this, "fallDamage");
private int cost;
@Override
public void registerConfigOptions() {
cost = ConfigHelper.get(ConfigHelper.SPEED, this, "cost to fall for every 2 blocks", 100);
}
@Override
public int onTick(World world, EntityPlayer player, ItemStack stack, ArmourSlot slot) {
if (player.fallDistance > (30 - 28 * f.get(stack).getPercentage()) && EnergyUtil.getEnergyStored(stack) > 100) {
player.fallDistance = 0;
return cost;
}
return 0;
}
@Override
public boolean isCompatible(IModularItem item, ItemStack stack, int armorType) {
return armorType == ArmourSlot.BOOTS.id;
}
}