Fixes integration with Construct's Armory and other mod's unbreakable helmets. #547
This commit is contained in:
@@ -4,8 +4,10 @@ import electroblob.wizardry.Wizardry;
|
|||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.DamageSource;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraftforge.common.ISpecialArmor;
|
||||||
|
|
||||||
public class CurseUndeath extends Curse {
|
public class CurseUndeath extends Curse {
|
||||||
|
|
||||||
@@ -35,16 +37,19 @@ public class CurseUndeath extends Curse {
|
|||||||
boolean flag = true;
|
boolean flag = true;
|
||||||
ItemStack itemstack = entitylivingbase.getItemStackFromSlot(EntityEquipmentSlot.HEAD);
|
ItemStack itemstack = entitylivingbase.getItemStackFromSlot(EntityEquipmentSlot.HEAD);
|
||||||
|
|
||||||
if(!itemstack.isEmpty()){
|
if (!itemstack.isEmpty()) {
|
||||||
if(itemstack.isItemStackDamageable()){
|
if (itemstack.isItemStackDamageable()) {
|
||||||
|
|
||||||
|
if (itemstack.getItem() instanceof ISpecialArmor) {
|
||||||
|
((ISpecialArmor) itemstack.getItem()).damageArmor(entitylivingbase, itemstack, DamageSource.ON_FIRE, entitylivingbase.world.rand.nextInt(2), EntityEquipmentSlot.HEAD.getSlotIndex());
|
||||||
|
} else {
|
||||||
itemstack.setItemDamage(itemstack.getItemDamage() + entitylivingbase.world.rand.nextInt(2));
|
itemstack.setItemDamage(itemstack.getItemDamage() + entitylivingbase.world.rand.nextInt(2));
|
||||||
|
if (itemstack.getItemDamage() >= itemstack.getMaxDamage()) {
|
||||||
if(itemstack.getItemDamage() >= itemstack.getMaxDamage()){
|
|
||||||
entitylivingbase.renderBrokenItemStack(itemstack);
|
entitylivingbase.renderBrokenItemStack(itemstack);
|
||||||
entitylivingbase.setItemStackToSlot(EntityEquipmentSlot.HEAD, ItemStack.EMPTY);
|
entitylivingbase.setItemStackToSlot(EntityEquipmentSlot.HEAD, ItemStack.EMPTY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
flag = false;
|
flag = false;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user