diff options
author | KHobbits <rob@khobbits.co.uk> | 2014-06-25 19:19:04 +0100 |
---|---|---|
committer | KHobbits <rob@khobbits.co.uk> | 2014-06-25 19:19:04 +0100 |
commit | 87c0f20e92f504dbdf1bbff8d74e9ff262a638c1 (patch) | |
tree | bc99b2fa873ed87793cdbbbaf0a87c99ce0dfde7 | |
parent | f6b2524a8c1151948d4a24b27dfae9872a449ec1 (diff) | |
download | Essentials-87c0f20e92f504dbdf1bbff8d74e9ff262a638c1.tar Essentials-87c0f20e92f504dbdf1bbff8d74e9ff262a638c1.tar.gz Essentials-87c0f20e92f504dbdf1bbff8d74e9ff262a638c1.tar.lz Essentials-87c0f20e92f504dbdf1bbff8d74e9ff262a638c1.tar.xz Essentials-87c0f20e92f504dbdf1bbff8d74e9ff262a638c1.zip |
Add some debugging to make it easier to diagnose kit errors.
-rw-r--r-- | Essentials/src/com/earth2me/essentials/commands/Commandkit.java | 53 |
1 files changed, 36 insertions, 17 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandkit.java b/Essentials/src/com/earth2me/essentials/commands/Commandkit.java index 046745dcb..aa3f21d3b 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandkit.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandkit.java @@ -8,6 +8,7 @@ import com.earth2me.essentials.utils.StringUtil; import java.util.ArrayList; import java.util.List; import java.util.Locale; +import java.util.logging.Level; import org.bukkit.Server; @@ -17,7 +18,7 @@ public class Commandkit extends EssentialsCommand { super("kit"); } - + @Override public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception { @@ -39,7 +40,7 @@ public class Commandkit extends EssentialsCommand giveKits(user, user, kitNames); } } - + @Override public void run(final Server server, final CommandSource sender, final String commandLabel, final String[] args) throws Exception { @@ -53,18 +54,18 @@ public class Commandkit extends EssentialsCommand { final User userTo = getPlayer(server, args, 1, true, false); final String[] kits = args[0].toLowerCase(Locale.ENGLISH).split(","); - + for (final String kitName : kits) { final Kit kit = new Kit(kitName, ess); kit.expandItems(userTo); - + sender.sendMessage(tl("kitGiveTo", kitName, userTo.getDisplayName())); userTo.sendMessage(tl("kitReceive", kitName)); } } } - + private void giveKits(final User userTo, final User userFrom, final String kitNames) throws Exception { if (kitNames.isEmpty()) @@ -72,35 +73,53 @@ public class Commandkit extends EssentialsCommand throw new Exception(tl("kitNotFound")); } String[] kitList = kitNames.split(","); - + List<Kit> kits = new ArrayList<Kit>(); - + for (final String kitName : kitList) { if (kitName.isEmpty()) { throw new Exception(tl("kitNotFound")); } - + Kit kit = new Kit(kitName, ess); kit.checkPerms(userFrom); kit.checkDelay(userFrom); kit.checkAffordable(userFrom); kits.add(kit); } - + for (final Kit kit : kits) { - kit.setTime(userFrom); - kit.expandItems(userTo); - kit.chargeUser(userTo); - - if (!userFrom.equals(userTo)) + try { - userFrom.sendMessage(tl("kitGiveTo", kit.getName(), userTo.getDisplayName())); + + kit.checkDelay(userFrom); + kit.checkAffordable(userFrom); + kit.setTime(userFrom); + kit.expandItems(userTo); + kit.chargeUser(userTo); + + if (!userFrom.equals(userTo)) + { + userFrom.sendMessage(tl("kitGiveTo", kit.getName(), userTo.getDisplayName())); + } + + userTo.sendMessage(tl("kitReceive", kit.getName())); + + } + catch (NoChargeException ex) + { + if (ess.getSettings().isDebug()) + { + ess.getLogger().log(Level.INFO, "Soft kit error, abort spawning " + kit.getName(), ex); + } + } + catch (Exception ex) + { + ess.showError(userFrom.getSource(), ex, "\\ kit: " + kit.getName()); } - - userTo.sendMessage(tl("kitReceive", kit.getName())); } } } |