Search in sources :

Example 51 with User

use of com.earth2me.essentials.User in project Essentials by drtshock.

the class Commandlightning method run.

@Override
public void run(final Server server, final CommandSource sender, final String commandLabel, final String[] args) throws Exception {
    User user;
    if (sender.isPlayer()) {
        user = ess.getUser(sender.getPlayer());
        if ((args.length < 1 || user != null && !user.isAuthorized("essentials.lightning.others"))) {
            user.getWorld().strikeLightning(user.getBase().getTargetBlock((HashSet<Byte>) null, 600).getLocation());
            return;
        }
    }
    if (args.length > 1) {
        try {
            power = Integer.parseInt(args[1]);
        } catch (NumberFormatException ex) {
        }
    }
    loopOnlinePlayers(server, sender, true, true, args[0], null);
}
Also used : User(com.earth2me.essentials.User)

Example 52 with User

use of com.earth2me.essentials.User in project Essentials by drtshock.

the class EssentialsLoopCommand method loopOfflinePlayers.

protected void loopOfflinePlayers(final Server server, final CommandSource sender, final boolean multipleStringMatches, boolean matchWildcards, final String searchTerm, final String[] commandArgs) throws PlayerNotFoundException, NotEnoughArgumentsException, PlayerExemptException, ChargeException, MaxMoneyException {
    if (searchTerm.isEmpty()) {
        throw new PlayerNotFoundException();
    }
    if (matchWildcards && searchTerm.contentEquals("**")) {
        for (UUID sUser : ess.getUserMap().getAllUniqueUsers()) {
            final User matchedUser = ess.getUser(sUser);
            updatePlayer(server, sender, matchedUser, commandArgs);
        }
    } else if (matchWildcards && searchTerm.contentEquals("*")) {
        boolean skipHidden = sender.isPlayer() && !ess.getUser(sender.getPlayer()).canInteractVanished();
        for (User onlineUser : ess.getOnlineUsers()) {
            if (skipHidden && onlineUser.isHidden(sender.getPlayer()) && !sender.getPlayer().canSee(onlineUser.getBase())) {
                continue;
            }
            updatePlayer(server, sender, onlineUser, commandArgs);
        }
    } else if (multipleStringMatches) {
        if (searchTerm.trim().length() < 3) {
            throw new PlayerNotFoundException();
        }
        final List<Player> matchedPlayers = server.matchPlayer(searchTerm);
        if (matchedPlayers.isEmpty()) {
            final User matchedUser = getPlayer(server, searchTerm, true, true);
            updatePlayer(server, sender, matchedUser, commandArgs);
        }
        for (Player matchPlayer : matchedPlayers) {
            final User matchedUser = ess.getUser(matchPlayer);
            updatePlayer(server, sender, matchedUser, commandArgs);
        }
    } else {
        final User user = getPlayer(server, searchTerm, true, true);
        updatePlayer(server, sender, user, commandArgs);
    }
}
Also used : Player(org.bukkit.entity.Player) User(com.earth2me.essentials.User) UUID(java.util.UUID)

Example 53 with User

use of com.earth2me.essentials.User in project Essentials by drtshock.

the class WorldNameComparator method getWorlds.

/**
     * Used to parse an argument of the type "world(s) selector"
     */
private Set<World> getWorlds(final Server server, final CommandSource sender, final String selector) throws Exception {
    final Set<World> worlds = new TreeSet<>(new WorldNameComparator());
    // If there is no selector we want the world the user is currently in. Or all worlds if it isn't a user.
    if (selector == null) {
        if (sender.isPlayer()) {
            final User user = ess.getUser(sender.getPlayer());
            worlds.add(user.getWorld());
        } else {
            worlds.addAll(server.getWorlds());
        }
        return worlds;
    }
    // Try to find the world with name = selector
    final World world = server.getWorld(selector);
    if (world != null) {
        worlds.add(world);
    } else // If that fails, Is the argument something like "*" or "all"?
    if (selector.equalsIgnoreCase("*") || selector.equalsIgnoreCase("all")) {
        worlds.addAll(server.getWorlds());
    } else // We failed to understand the world target...
    {
        throw new Exception(tl("invalidWorld"));
    }
    return worlds;
}
Also used : User(com.earth2me.essentials.User) World(org.bukkit.World)

Example 54 with User

use of com.earth2me.essentials.User in project Essentials by drtshock.

the class WorldNameComparator method setWorldsTime.

/**
     * Used to set the time and inform of the change
     */
private void setWorldsTime(final CommandSource sender, final Collection<World> worlds, final long ticks, final boolean add) throws Exception {
    User user = ess.getUser(sender.getPlayer());
    for (World world : worlds) {
        if (!canUpdateWorld(user, world)) {
            throw new Exception(tl("timeSetWorldPermission", user.getWorld().getName()));
        }
    }
    // Update the time
    for (World world : worlds) {
        long time = world.getTime();
        if (!add) {
            time -= time % 24000;
        }
        world.setTime(time + (add ? 0 : 24000) + ticks);
    }
    final StringBuilder output = new StringBuilder();
    for (World world : worlds) {
        if (output.length() > 0) {
            output.append(", ");
        }
        output.append(world.getName());
    }
    sender.sendMessage(tl("timeWorldSet", DescParseTickFormat.format(ticks), output.toString()));
}
Also used : User(com.earth2me.essentials.User) World(org.bukkit.World)

Example 55 with User

use of com.earth2me.essentials.User in project Essentials by drtshock.

the class Commandtogglejail method run.

@Override
public void run(final Server server, final CommandSource sender, final String commandLabel, final String[] args) throws Exception {
    if (args.length < 1) {
        throw new NotEnoughArgumentsException();
    }
    final User player = getPlayer(server, args, 0, true, true);
    if (args.length >= 2 && !player.isJailed()) {
        if (!player.getBase().isOnline()) {
            if (sender.isPlayer() && !ess.getUser(sender.getPlayer()).isAuthorized("essentials.togglejail.offline")) {
                sender.sendMessage(tl("mayNotJailOffline"));
                return;
            }
        } else {
            if (player.isAuthorized("essentials.jail.exempt")) {
                sender.sendMessage(tl("mayNotJail"));
                return;
            }
        }
        final User controller = sender.isPlayer() ? ess.getUser(sender.getPlayer()) : null;
        final JailStatusChangeEvent event = new JailStatusChangeEvent(player, controller, true);
        ess.getServer().getPluginManager().callEvent(event);
        if (!event.isCancelled()) {
            if (player.getBase().isOnline()) {
                ess.getJails().sendToJail(player, args[1]);
            } else {
                // Check if jail exists
                ess.getJails().getJail(args[1]);
            }
            player.setJailed(true);
            player.sendMessage(tl("userJailed"));
            player.setJail(null);
            player.setJail(args[1]);
            long timeDiff = 0;
            if (args.length > 2) {
                final String time = getFinalArg(args, 2);
                timeDiff = DateUtil.parseDateDiff(time, true);
                player.setJailTimeout(timeDiff);
            }
            sender.sendMessage((timeDiff > 0 ? tl("playerJailedFor", player.getName(), DateUtil.formatDateDiff(timeDiff)) : tl("playerJailed", player.getName())));
        }
        return;
    }
    if (args.length >= 2 && player.isJailed() && !args[1].equalsIgnoreCase(player.getJail())) {
        sender.sendMessage(tl("jailAlreadyIncarcerated", player.getJail()));
        return;
    }
    if (args.length >= 2 && player.isJailed() && args[1].equalsIgnoreCase(player.getJail())) {
        final String time = getFinalArg(args, 2);
        final long timeDiff = DateUtil.parseDateDiff(time, true);
        player.setJailTimeout(timeDiff);
        sender.sendMessage(tl("jailSentenceExtended", DateUtil.formatDateDiff(timeDiff)));
        return;
    }
    if (args.length == 1 || (args.length == 2 && args[1].equalsIgnoreCase(player.getJail()))) {
        if (!player.isJailed()) {
            throw new NotEnoughArgumentsException();
        }
        final User controller = sender.isPlayer() ? ess.getUser(sender.getPlayer()) : null;
        final JailStatusChangeEvent event = new JailStatusChangeEvent(player, controller, false);
        ess.getServer().getPluginManager().callEvent(event);
        if (!event.isCancelled()) {
            player.setJailed(false);
            player.setJailTimeout(0);
            player.sendMessage(tl("jailReleasedPlayerNotify"));
            player.setJail(null);
            if (player.getBase().isOnline()) {
                player.getTeleport().back();
            }
            sender.sendMessage(tl("jailReleased", player.getName()));
        }
    }
}
Also used : User(com.earth2me.essentials.User) JailStatusChangeEvent(net.ess3.api.events.JailStatusChangeEvent)

Aggregations

User (com.earth2me.essentials.User)113 Player (org.bukkit.entity.Player)18 Location (org.bukkit.Location)16 EventHandler (org.bukkit.event.EventHandler)14 World (org.bukkit.World)9 Trade (com.earth2me.essentials.Trade)7 ItemStack (org.bukkit.inventory.ItemStack)6 UUID (java.util.UUID)4 Teleport (com.earth2me.essentials.Teleport)3 IText (com.earth2me.essentials.textreader.IText)3 List (java.util.List)3 Material (org.bukkit.Material)3 IUser (com.earth2me.essentials.IUser)2 Kit (com.earth2me.essentials.Kit)2 OfflinePlayer (com.earth2me.essentials.OfflinePlayer)2 PlayerList (com.earth2me.essentials.PlayerList)2 UserMap (com.earth2me.essentials.UserMap)2 IMessageRecipient (com.earth2me.essentials.messaging.IMessageRecipient)2 KeywordReplacer (com.earth2me.essentials.textreader.KeywordReplacer)2 SimpleTextInput (com.earth2me.essentials.textreader.SimpleTextInput)2