/*******************************************************************************
* AbyssalCraft
* Copyright (c) 2012 - 2017 Shinoow.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-3.0.txt
*
* Contributors:
* Shinoow - implementation
******************************************************************************/
package com.shinoow.abyssalcraft.common.enchantments;
import com.shinoow.abyssalcraft.api.AbyssalCraftAPI;
import com.shinoow.abyssalcraft.api.entity.EntityUtil;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnumEnchantmentType;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.PotionEffect;
public class EnchantmentWeaponInfusion extends Enchantment {
public EnchantmentWeaponInfusion(String par3Str) {
// super(par1, new ResourceLocation("abyssalcraft", par3Str), par2, EnumEnchantmentType.WEAPON);
super(Rarity.RARE, EnumEnchantmentType.WEAPON, new EntityEquipmentSlot[]{EntityEquipmentSlot.MAINHAND});
setName("abyssalcraft."+par3Str);
}
@Override
public int getMinEnchantability(int par1)
{
return Short.MAX_VALUE;
}
@Override
public int getMaxEnchantability(int par1)
{
return getMinEnchantability(par1) + 30;
}
@Override
public int getMaxLevel()
{
return 1;
}
@Override
public void onEntityDamaged(EntityLivingBase user, Entity target, int level)
{
if(target instanceof EntityLivingBase){
EntityLivingBase entity = (EntityLivingBase) target;
if(this == AbyssalCraftAPI.coralium_enchantment)
if(!EntityUtil.isEntityCoralium(entity))
entity.addPotionEffect(new PotionEffect(AbyssalCraftAPI.coralium_plague, 100));
if(this == AbyssalCraftAPI.dread_enchantment)
if(!EntityUtil.isEntityDread(entity))
entity.addPotionEffect(new PotionEffect(AbyssalCraftAPI.dread_plague, 100));
}
}
@Override
public boolean canApply(ItemStack stack)
{
return super.canApplyAtEnchantingTable(stack);
}
@Override
public boolean canApplyAtEnchantingTable(ItemStack stack)
{
return false;
}
@Override
public boolean isAllowedOnBooks()
{
return false;
}
@Override
public boolean canApplyTogether(Enchantment par1Enchantment)
{
return !(par1Enchantment instanceof EnchantmentWeaponInfusion);
}
}