package minefantasy.item.weapon; import minefantasy.api.weapon.*; import minefantasy.item.ToolMaterialMedieval; import net.minecraft.block.Block; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; /** * Warhammer: * Heavy weapon: more damage * does low damage, but with high AP * 2x armour damage */ public class ItemWarhammer extends ItemWarpick implements IWeaponPenetrateArmour, IWeaponMobility, IWeaponCustomSpeed { public ItemWarhammer(int id, EnumToolMaterial material) { super(id, material); } public ItemWarhammer(int id, EnumToolMaterial material, float dam, int uses) { this(id, material); } @Override public boolean canHarvestBlock(Block block) { return block.blockID == Block.web.blockID ? false : super.canHarvestBlock(block); } @Override public float getExaustion() { return 0.15F; } @Override public float getSpeedWhenEquipped() { float degrade = 0.20F; if(this.getMaterial() == ToolMaterialMedieval.MITHRIL) { degrade /= 2; } return 1.0F - degrade; } @Override public float getArmourDamageBonus() { return 2.0F; } @Override public boolean buffDamage() { return true; } @Override public float getKnockback() { return 5F; } @Override public float getDamageModifier() { return super.getDamageModifier() * 1.5F; } @Override public int getHitTime(ItemStack weapon, EntityLivingBase target) { return super.getHitTime(null, target)*2 + 5; } @Override public float getDurability() { return super.getDurability() * 1.5F; } @Override public int getHandsUsed() { return 2; } @Override public boolean sheatheOnBack(ItemStack item) { return true; } @Override public float getBalance() { return 1.0F; } @Override public float getBlockFailureChance() { return 0.45F; } @Override public float getDebilitation() { return 0.5F; } }