mirror of
https://github.com/barkeser2002/CatServer.git
synced 2026-09-25 01:39:52 +03:00
53 lines
1.7 KiB
Diff
53 lines
1.7 KiB
Diff
--- ../src-base/minecraft/net/minecraft/enchantment/EnchantmentThorns.java
|
|
+++ ../src-work/minecraft/net/minecraft/enchantment/EnchantmentThorns.java
|
|
@@ -11,7 +11,7 @@
|
|
|
|
public class EnchantmentThorns extends Enchantment
|
|
{
|
|
- public EnchantmentThorns(Enchantment.Rarity rarityIn, EntityEquipmentSlot... slots)
|
|
+ public EnchantmentThorns(Rarity rarityIn, EntityEquipmentSlot... slots)
|
|
{
|
|
super(rarityIn, EnumEnchantmentType.ARMOR_CHEST, slots);
|
|
this.setName("thorns");
|
|
@@ -51,12 +51,12 @@
|
|
|
|
if (!itemstack.isEmpty())
|
|
{
|
|
- itemstack.damageItem(3, user);
|
|
+ damageArmor(itemstack, 3, user);
|
|
}
|
|
}
|
|
else if (!itemstack.isEmpty())
|
|
{
|
|
- itemstack.damageItem(1, user);
|
|
+ damageArmor(itemstack, 1, user);
|
|
}
|
|
}
|
|
|
|
@@ -76,4 +76,25 @@
|
|
{
|
|
return level > 10 ? level - 10 : 1 + rnd.nextInt(4);
|
|
}
|
|
+
|
|
+ private void damageArmor(ItemStack stack, int amount, EntityLivingBase entity)
|
|
+ {
|
|
+ int slot = -1;
|
|
+ int x = 0;
|
|
+ for (ItemStack i : entity.getArmorInventoryList())
|
|
+ {
|
|
+ if (i == stack){
|
|
+ slot = x;
|
|
+ break;
|
|
+ }
|
|
+ x++;
|
|
+ }
|
|
+ if (slot == -1 || !(stack.getItem() instanceof net.minecraftforge.common.ISpecialArmor))
|
|
+ {
|
|
+ stack.damageItem(1, entity);
|
|
+ return;
|
|
+ }
|
|
+ net.minecraftforge.common.ISpecialArmor armor = (net.minecraftforge.common.ISpecialArmor)stack.getItem();
|
|
+ armor.damageArmor(entity, stack, DamageSource.causeThornsDamage(entity), amount, slot);
|
|
+ }
|
|
}
|