public void AddEnchantment(Enchantment ench, int level) { Debug.Assert(ench != null, "Enchantment cannot be null"); if ((level < ench.GetStartLevel()) || (level > ench.GetMaxLevel())) { throw new ArgumentException("Enchantment level is either too low or too high (given " + level + ", bounds are " + ench.GetStartLevel() + " to " + ench.GetMaxLevel()); } else if (!ench.CanEnchantItem(this)) { throw new ArgumentException("Specified enchantment cannot be applied to this itemstack"); } AddUnsafeEnchantment(ench, level); }