package choonster.testmod3.item;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
/**
* An armour item that constantly applies a {@link PotionEffect} when worn.
* <p>
* Test for this thread:
* http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/modification-development/2820254-adding-potions-effects-permanently-while-armor-is
*
* @author Choonster
*/
public class ItemArmourPotionEffect extends ItemArmourTestMod3 {
private final PotionEffect potionEffect;
public ItemArmourPotionEffect(final ArmorMaterial material, final EntityEquipmentSlot equipmentSlot, final String armourName, final PotionEffect potionEffect) {
super(material, equipmentSlot, armourName);
this.potionEffect = potionEffect;
}
@Override
public void onArmorTick(final World world, final EntityPlayer player, final ItemStack itemStack) {
if (!player.isPotionActive(potionEffect.getPotion())) { // If the Potion isn't currently active,
player.addPotionEffect(new PotionEffect(potionEffect)); // Apply a copy of the PotionEffect to the player
}
}
}