diff options
author | Iaccidentally <coryhuckaby@gmail.com> | 2012-08-06 07:50:40 -0400 |
---|---|---|
committer | Iaccidentally <coryhuckaby@gmail.com> | 2012-08-06 07:50:40 -0400 |
commit | 9cee4f9826fddae13be15e63a5a809ca88530156 (patch) | |
tree | 83199f9c434a0efb759bf86a5b578459deb13ede /EssentialsSigns/src/net/ess3/signs/SignRepair.java | |
parent | 412d979c75f9986711a298254a76e455e03bd931 (diff) | |
download | Essentials-9cee4f9826fddae13be15e63a5a809ca88530156.tar Essentials-9cee4f9826fddae13be15e63a5a809ca88530156.tar.gz Essentials-9cee4f9826fddae13be15e63a5a809ca88530156.tar.lz Essentials-9cee4f9826fddae13be15e63a5a809ca88530156.tar.xz Essentials-9cee4f9826fddae13be15e63a5a809ca88530156.zip |
2.9 -> 3.0 (new commands and signs)
Diffstat (limited to 'EssentialsSigns/src/net/ess3/signs/SignRepair.java')
-rw-r--r-- | EssentialsSigns/src/net/ess3/signs/SignRepair.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/EssentialsSigns/src/net/ess3/signs/SignRepair.java b/EssentialsSigns/src/net/ess3/signs/SignRepair.java new file mode 100644 index 000000000..aea1a69cb --- /dev/null +++ b/EssentialsSigns/src/net/ess3/signs/SignRepair.java @@ -0,0 +1,55 @@ +package net.ess3.signs; + +import net.ess3.api.IEssentials; +import net.ess3.commands.Commandrepair; +import net.ess3.economy.Trade; +import net.ess3.user.User; + + +public class SignRepair extends EssentialsSign +{ + public SignRepair() + { + super("Repair"); + } + + @Override + protected boolean onSignCreate(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException + { + final String repairTarget = sign.getLine(1); + if (repairTarget.isEmpty()) + { + sign.setLine(1, "Hand"); + } + else if (!repairTarget.equalsIgnoreCase("all") && !repairTarget.equalsIgnoreCase("hand") ) + { + throw new SignException(_("invalidSignLine", 2)); + } + validateTrade(sign, 2, ess); + return true; + } + + @Override + protected boolean onSignInteract(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException, ChargeException + { + final Trade charge = getTrade(sign, 2, ess); + charge.isAffordableFor(player); + + Commandrepair command = new Commandrepair(); + command.setEssentials(ess); + String[] args = new String[] + { + sign.getLine(1) + }; + try + { + command.run(ess.getServer(), player, "repair", args); + } + catch (Exception ex) + { + throw new SignException(ex.getMessage(), ex); + } + charge.charge(player); + return true; + } +} |