package net.minecraft.server;
import java.util.Random;
public class EnchantmentThorns extends Enchantment {
public EnchantmentThorns(Enchantment.Rarity enchantment_rarity, EnumItemSlot... aenumitemslot) {
super(enchantment_rarity, EnchantmentSlotType.ARMOR_CHEST, aenumitemslot);
this.c("thorns");
}
public int a(int i) {
return 10 + 20 * (i - 1);
}
public int b(int i) {
return super.a(i) + 50;
}
public int getMaxLevel() {
return 3;
}
public boolean canEnchant(ItemStack itemstack) {
return itemstack.getItem() instanceof ItemArmor ? true : super.canEnchant(itemstack);
}
public void b(EntityLiving entityliving, Entity entity, int i) {
Random random = entityliving.getRandom();
ItemStack itemstack = EnchantmentManager.b(Enchantments.THORNS, entityliving);
if (entity != null && a(i, random)) { // CraftBukkit
if (entity != null) {
entity.damageEntity(DamageSource.a(entityliving), (float) b(i, random));
}
if (!itemstack.isEmpty()) {
itemstack.damage(3, entityliving);
}
} else if (!itemstack.isEmpty()) {
itemstack.damage(1, entityliving);
}
}
public static boolean a(int i, Random random) {
return i <= 0 ? false : random.nextFloat() < 0.15F * (float) i;
}
public static int b(int i, Random random) {
return i > 10 ? i - 10 : 1 + random.nextInt(4);
}
}