diff options
author | ementalo <ementalodev@gmx.co.uk> | 2012-06-27 13:35:39 +0100 |
---|---|---|
committer | ementalo <ementalodev@gmx.co.uk> | 2012-06-27 13:35:39 +0100 |
commit | 16d0b5c228dd8d981a0d79944c70248ea813d63b (patch) | |
tree | b76e6966bfc2b4b9b668b89b13e30307e0b81988 /EssentialsSigns/src/net/ess3/signs/SignKit.java | |
parent | c1230bd6ae4e17539e1f6f2c82691fa7a8395e8c (diff) | |
download | Essentials-16d0b5c228dd8d981a0d79944c70248ea813d63b.tar Essentials-16d0b5c228dd8d981a0d79944c70248ea813d63b.tar.gz Essentials-16d0b5c228dd8d981a0d79944c70248ea813d63b.tar.lz Essentials-16d0b5c228dd8d981a0d79944c70248ea813d63b.tar.xz Essentials-16d0b5c228dd8d981a0d79944c70248ea813d63b.zip |
package name change to net.ess3
Diffstat (limited to 'EssentialsSigns/src/net/ess3/signs/SignKit.java')
-rw-r--r-- | EssentialsSigns/src/net/ess3/signs/SignKit.java | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/EssentialsSigns/src/net/ess3/signs/SignKit.java b/EssentialsSigns/src/net/ess3/signs/SignKit.java new file mode 100644 index 000000000..9c478ccad --- /dev/null +++ b/EssentialsSigns/src/net/ess3/signs/SignKit.java @@ -0,0 +1,75 @@ +package net.ess3.signs; + +import net.ess3.api.ChargeException; +import net.ess3.economy.Trade; +import net.ess3.api.IEssentials; +import net.ess3.api.IUser; +import net.ess3.permissions.KitPermissions; +import net.ess3.settings.Kit; +import java.util.Locale; + + +public class SignKit extends EssentialsSign +{ + public SignKit() + { + super("Kit"); + } + + @Override + protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException + { + validateTrade(sign, 3, ess); + + final String kitName = sign.getLine(1).toLowerCase(Locale.ENGLISH); + + if (kitName.isEmpty()) + { + sign.setLine(1, "§dKit name!"); + return false; + } + else + { + try + { + ess.getKits().getKit(kitName); + } + catch (Exception ex) + { + throw new SignException(ex.getMessage(), ex); + } + final String group = sign.getLine(2); + if ("Everyone".equalsIgnoreCase(group) || "Everybody".equalsIgnoreCase(group)) + { + sign.setLine(2, "§2Everyone"); + } + return true; + } + } + + @Override + protected boolean onSignInteract(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException, ChargeException + { + final String kitName = sign.getLine(1).toLowerCase(Locale.ENGLISH); + final String group = sign.getLine(2); + if ((!group.isEmpty() && ("§2Everyone".equals(group) || ess.getRanks().inGroup(player, group))) + || (group.isEmpty() && KitPermissions.getPermission(kitName).isAuthorized(player))) + { + final Trade charge = getTrade(sign, 3, ess); + charge.isAffordableFor(player); + try + {; + final Kit kit = ess.getKits().getKit(kitName); + ess.getKits().checkTime(player, kit); + ess.getKits().sendKit(player, kit); + charge.charge(player); + } + catch (Exception ex) + { + throw new SignException(ex.getMessage(), ex); + } + return true; + } + return false; + } +} |