@Override
public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase entity, EntityLivingBase playerEntity) {
if(playerEntity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) playerEntity;
ItemStack sword = player.getCurrentEquippedItem();
//Durability damage
EnergyUpgrade eu = EnergyUpgrade.loadFromItem(par1ItemStack);
if(eu != null && eu.isAbsorbDamageWithPower() && eu.getEnergy() > 0) {
eu.extractEnergy(powerPerDamagePoint, false);
} else {
super.hitEntity(par1ItemStack, entity, playerEntity);
}
//sword hit
if(eu != null) {
eu.writeToItem(sword);
if(eu.energy > Config.darkSteelSwordPowerUsePerHit) {
extractEnergy(player.getCurrentEquippedItem(), Config.darkSteelSwordPowerUsePerHit, false);
String name = EntityList.getEntityString(entity);
if(entity instanceof EntityEnderman || ENDERZOO_ENDERMINY.equals(name)) {
entity.getEntityData().setBoolean("hitByDarkSteelSword", true);
}
}