Check if the item can be enchanted.

This commit is contained in:
snowleo 2011-12-05 00:20:27 +01:00
parent 2b919faa7b
commit 6b06adfc23

View file

@ -21,7 +21,7 @@ public class SignEnchant extends EssentialsSign
@Override @Override
protected boolean onSignCreate(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException, ChargeException protected boolean onSignCreate(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException, ChargeException
{ {
getItemStack(sign.getLine(1), 1, ess); final ItemStack stack = getItemStack(sign.getLine(1), 1, ess);
final String[] enchantLevel = sign.getLine(2).split(":"); final String[] enchantLevel = sign.getLine(2).split(":");
if (enchantLevel.length != 2) if (enchantLevel.length != 2)
{ {
@ -43,7 +43,16 @@ public class SignEnchant extends EssentialsSign
} }
if (level < 1 || level > enchantment.getMaxLevel()) if (level < 1 || level > enchantment.getMaxLevel())
{ {
sign.setLine(2, enchantLevel[0] + ":" + enchantment.getMaxLevel()); level = enchantment.getMaxLevel();
sign.setLine(2, enchantLevel[0] + ":" + level);
}
try
{
stack.addEnchantment(enchantment, level);
}
catch (Throwable ex)
{
throw new SignException(ex.getMessage());
} }
getTrade(sign, 3, ess); getTrade(sign, 3, ess);
return true; return true;