From 16d0b5c228dd8d981a0d79944c70248ea813d63b Mon Sep 17 00:00:00 2001 From: ementalo Date: Wed, 27 Jun 2012 13:35:39 +0100 Subject: package name change to net.ess3 --- EssentialsSigns/src/net/ess3/signs/SignWarp.java | 70 ++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 EssentialsSigns/src/net/ess3/signs/SignWarp.java (limited to 'EssentialsSigns/src/net/ess3/signs/SignWarp.java') diff --git a/EssentialsSigns/src/net/ess3/signs/SignWarp.java b/EssentialsSigns/src/net/ess3/signs/SignWarp.java new file mode 100644 index 000000000..b6dc95d0f --- /dev/null +++ b/EssentialsSigns/src/net/ess3/signs/SignWarp.java @@ -0,0 +1,70 @@ +package net.ess3.signs; + +import net.ess3.api.ChargeException; +import net.ess3.api.IEssentials; +import net.ess3.api.IUser; +import net.ess3.economy.Trade; +import net.ess3.permissions.WarpPermissions; +import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; + + +public class SignWarp extends EssentialsSign +{ + public SignWarp() + { + super("Warp"); + } + + @Override + protected boolean onSignCreate(final ISign sign, final IUser player, final String username, final IEssentials ess) throws SignException + { + validateTrade(sign, 3, ess); + final String warpName = sign.getLine(1); + + if (warpName.isEmpty()) + { + sign.setLine(1, "§dWarp name!"); + return false; + } + else + { + try + { + ess.getWarps().getWarp(warpName); + } + 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 warpName = sign.getLine(1); + final String group = sign.getLine(2); + + if ((!group.isEmpty() && ("§2Everyone".equals(group) || ess.getRanks().inGroup(player, group))) + || (group.isEmpty() && WarpPermissions.getPermission(warpName).isAuthorized(player))) + { + final Trade charge = getTrade(sign, 3, ess); + try + { + player.getTeleport().warp(warpName, charge, TeleportCause.PLUGIN); + } + catch (Exception ex) + { + throw new SignException(ex.getMessage(), ex); + } + return true; + } + return false; + } +} -- cgit v1.2.3