package com.laytonsmith.abstraction.bukkit;
import com.laytonsmith.abstraction.AbstractionObject;
import com.laytonsmith.abstraction.MCEnchantment;
import com.laytonsmith.abstraction.MCItemStack;
import org.bukkit.enchantments.Enchantment;
/**
*
*
*/
public class BukkitMCEnchantment implements MCEnchantment{
Enchantment e;
public BukkitMCEnchantment(Enchantment e){
if(e == null){
throw new NullPointerException();
}
this.e = e;
}
public BukkitMCEnchantment(AbstractionObject a){
if(a instanceof MCEnchantment){
this.e = ((Enchantment)a.getHandle());
} else {
throw new ClassCastException();
}
}
@Override
public Object getHandle(){
return e;
}
Enchantment __Enchantment() {
return e;
}
public Enchantment asEnchantment() {
return e;
}
@Override
public boolean canEnchantItem(MCItemStack is) {
return e.canEnchantItem(((BukkitMCItemStack)is).is);
}
@Override
public int getMaxLevel() {
return e.getMaxLevel();
}
@Override
public String getName() {
return e.getName();
}
@Override
public String toString() {
return e.toString();
}
@Override
public boolean equals(Object obj) {
return (obj instanceof BukkitMCEnchantment?e.equals(((BukkitMCEnchantment)obj).e):false);
}
@Override
public int hashCode() {
return e.hashCode();
}
}