Search in sources :

Example 76 with Trade

use of com.earth2me.essentials.Trade in project Essentials by EssentialsX.

the class Commandtop method run.

@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception {
    final int topX = user.getLocation().getBlockX();
    final int topZ = user.getLocation().getBlockZ();
    final float pitch = user.getLocation().getPitch();
    final float yaw = user.getLocation().getYaw();
    final Location loc = LocationUtil.getSafeDestination(new Location(user.getWorld(), topX, user.getWorld().getMaxHeight(), topZ, yaw, pitch));
    user.getTeleport().teleport(loc, new Trade(this.getName(), ess), TeleportCause.COMMAND);
    user.sendMessage(tl("teleportTop", loc.getWorld().getName(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()));
}
Also used : Trade(com.earth2me.essentials.Trade) Location(org.bukkit.Location)

Example 77 with Trade

use of com.earth2me.essentials.Trade in project Essentials by EssentialsX.

the class Commandtpaccept method run.

@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception {
    final User requester;
    try {
        requester = ess.getUser(user.getTeleportRequest());
    } catch (Exception ex) {
        throw new Exception(tl("noPendingRequest"));
    }
    if (!requester.getBase().isOnline()) {
        throw new Exception(tl("noPendingRequest"));
    }
    if (user.isTpRequestHere() && ((!requester.isAuthorized("essentials.tpahere") && !requester.isAuthorized("essentials.tpaall")) || (user.getWorld() != requester.getWorld() && ess.getSettings().isWorldTeleportPermissions() && !user.isAuthorized("essentials.worlds." + user.getWorld().getName())))) {
        throw new Exception(tl("noPendingRequest"));
    }
    if (!user.isTpRequestHere() && (!requester.isAuthorized("essentials.tpa") || (user.getWorld() != requester.getWorld() && ess.getSettings().isWorldTeleportPermissions() && !user.isAuthorized("essentials.worlds." + requester.getWorld().getName())))) {
        throw new Exception(tl("noPendingRequest"));
    }
    if (args.length > 0 && !requester.getName().contains(args[0])) {
        throw new Exception(tl("noPendingRequest"));
    }
    if (!user.hasOutstandingTeleportRequest()) {
        user.requestTeleport(null, false);
        throw new Exception(tl("requestTimedOut"));
    }
    final Trade charge = new Trade(this.getName(), ess);
    user.sendMessage(tl("requestAccepted"));
    requester.sendMessage(tl("requestAcceptedFrom", user.getDisplayName()));
    try {
        if (user.isTpRequestHere()) {
            final Location loc = user.getTpRequestLocation();
            Teleport teleport = requester.getTeleport();
            teleport.setTpType(Teleport.TeleportType.TPA);
            teleport.teleportPlayer(user, user.getTpRequestLocation(), charge, TeleportCause.COMMAND);
            requester.sendMessage(tl("teleporting", loc.getWorld().getName(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()));
        } else {
            Teleport teleport = requester.getTeleport();
            teleport.setTpType(Teleport.TeleportType.TPA);
            teleport.teleport(user.getBase(), charge, TeleportCause.COMMAND);
        }
    } catch (Exception ex) {
        user.sendMessage(tl("pendingTeleportCancelled"));
        ess.showError(requester.getSource(), ex, commandLabel);
    }
    user.requestTeleport(null, false);
    throw new NoChargeException();
}
Also used : Trade(com.earth2me.essentials.Trade) User(com.earth2me.essentials.User) Teleport(com.earth2me.essentials.Teleport) Location(org.bukkit.Location)

Example 78 with Trade

use of com.earth2me.essentials.Trade in project Essentials by EssentialsX.

the class SignGameMode method onSignInteract.

@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);
    final String mode = sign.getLine(1).trim();
    if (mode.isEmpty()) {
        throw new SignException(tl("invalidSignLine", 2));
    }
    charge.isAffordableFor(player);
    performSetMode(mode.toLowerCase(Locale.ENGLISH), player.getBase());
    player.sendMessage(tl("gameMode", tl(player.getBase().getGameMode().toString().toLowerCase(Locale.ENGLISH)), player.getDisplayName()));
    Trade.log("Sign", "gameMode", "Interact", username, null, username, charge, sign.getBlock().getLocation(), ess);
    charge.charge(player);
    return true;
}
Also used : Trade(com.earth2me.essentials.Trade)

Example 79 with Trade

use of com.earth2me.essentials.Trade in project Essentials by EssentialsX.

the class SignHeal method onSignInteract.

@Override
protected boolean onSignInteract(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException, ChargeException {
    if (player.getBase().getHealth() == 0) {
        throw new SignException(tl("healDead"));
    }
    final Trade charge = getTrade(sign, 1, ess);
    charge.isAffordableFor(player);
    player.getBase().setHealth(20);
    player.getBase().setFoodLevel(20);
    player.getBase().setFireTicks(0);
    player.sendMessage(tl("youAreHealed"));
    charge.charge(player);
    Trade.log("Sign", "Heal", "Interact", username, null, username, charge, sign.getBlock().getLocation(), ess);
    return true;
}
Also used : Trade(com.earth2me.essentials.Trade)

Example 80 with Trade

use of com.earth2me.essentials.Trade in project Essentials by EssentialsX.

the class SignProtection method checkIfSignsAreBroken.

private void checkIfSignsAreBroken(final Block block, final User player, final String username, final IEssentials ess) throws MaxMoneyException {
    final Map<Location, SignProtectionState> signs = getConnectedSigns(block, player, username, false);
    for (Map.Entry<Location, SignProtectionState> entry : signs.entrySet()) {
        if (entry.getValue() != SignProtectionState.NOSIGN) {
            final Block sign = entry.getKey().getBlock();
            if (!hasAdjacentBlock(sign, block)) {
                block.setType(Material.AIR);
                final Trade trade = new Trade(new ItemStack(Material.SIGN, 1), ess);
                trade.pay(player, OverflowType.DROP);
            }
        }
    }
}
Also used : Trade(com.earth2me.essentials.Trade) Block(org.bukkit.block.Block) ItemStack(org.bukkit.inventory.ItemStack) Location(org.bukkit.Location)

Aggregations

Trade (com.earth2me.essentials.Trade)86 ItemStack (org.bukkit.inventory.ItemStack)26 ChargeException (com.earth2me.essentials.ChargeException)20 BigDecimal (java.math.BigDecimal)18 Location (org.bukkit.Location)18 User (com.earth2me.essentials.User)14 NoChargeException (com.earth2me.essentials.commands.NoChargeException)4 MaxMoneyException (net.ess3.api.MaxMoneyException)4 World (org.bukkit.World)4 Kit (com.earth2me.essentials.Kit)2 Mob (com.earth2me.essentials.Mob)2 Teleport (com.earth2me.essentials.Teleport)2 Commandrepair (com.earth2me.essentials.commands.Commandrepair)2 NotEnoughArgumentsException (com.earth2me.essentials.commands.NotEnoughArgumentsException)2 IText (com.earth2me.essentials.textreader.IText)2 KeywordReplacer (com.earth2me.essentials.textreader.KeywordReplacer)2 TextInput (com.earth2me.essentials.textreader.TextInput)2 TextPager (com.earth2me.essentials.textreader.TextPager)2 IOException (java.io.IOException)2 ArrayList (java.util.ArrayList)2