Search in sources :

Example 31 with User

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

the class Commandrecipe method shapedRecipe.

public void shapedRecipe(final CommandSource sender, final ShapedRecipe recipe, final boolean showWindow) {
    final Map<Character, ItemStack> recipeMap = recipe.getIngredientMap();
    if (showWindow) {
        final User user = ess.getUser(sender.getPlayer());
        user.getBase().closeInventory();
        user.setRecipeSee(true);
        final InventoryView view = user.getBase().openWorkbench(null, true);
        final String[] recipeShape = recipe.getShape();
        final Map<Character, ItemStack> ingredientMap = recipe.getIngredientMap();
        for (int j = 0; j < recipeShape.length; j++) {
            for (int k = 0; k < recipeShape[j].length(); k++) {
                final ItemStack item = ingredientMap.get(recipeShape[j].toCharArray()[k]);
                if (item == null) {
                    continue;
                }
                if (item.getDurability() == Short.MAX_VALUE) {
                    item.setDurability((short) 0);
                }
                view.getTopInventory().setItem(j * 3 + k + 1, item);
            }
        }
    } else {
        final HashMap<Material, String> colorMap = new HashMap<>();
        int i = 1;
        for (Character c : "abcdefghi".toCharArray()) {
            ItemStack item = recipeMap.get(c);
            if (!colorMap.containsKey(item == null ? null : item.getType())) {
                colorMap.put(item == null ? null : item.getType(), String.valueOf(i++));
            }
        }
        final Material[][] materials = new Material[3][3];
        for (int j = 0; j < recipe.getShape().length; j++) {
            for (int k = 0; k < recipe.getShape()[j].length(); k++) {
                ItemStack item = recipe.getIngredientMap().get(recipe.getShape()[j].toCharArray()[k]);
                materials[j][k] = item == null ? null : item.getType();
            }
        }
        sender.sendMessage(tl("recipeGrid", colorMap.get(materials[0][0]), colorMap.get(materials[0][1]), colorMap.get(materials[0][2])));
        sender.sendMessage(tl("recipeGrid", colorMap.get(materials[1][0]), colorMap.get(materials[1][1]), colorMap.get(materials[1][2])));
        sender.sendMessage(tl("recipeGrid", colorMap.get(materials[2][0]), colorMap.get(materials[2][1]), colorMap.get(materials[2][2])));
        StringBuilder s = new StringBuilder();
        for (Material items : colorMap.keySet().toArray(new Material[colorMap.size()])) {
            s.append(tl("recipeGridItem", colorMap.get(items), getMaterialName(items)));
        }
        sender.sendMessage(tl("recipeWhere", s.toString()));
    }
}
Also used : User(com.earth2me.essentials.User) HashMap(java.util.HashMap) Material(org.bukkit.Material)

Example 32 with User

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

the class Commandrecipe method shapelessRecipe.

public void shapelessRecipe(final CommandSource sender, final ShapelessRecipe recipe, final boolean showWindow) {
    final List<ItemStack> ingredients = recipe.getIngredientList();
    if (showWindow) {
        final User user = ess.getUser(sender.getPlayer());
        user.setRecipeSee(true);
        final InventoryView view = user.getBase().openWorkbench(null, true);
        for (int i = 0; i < ingredients.size(); i++) {
            final ItemStack item = ingredients.get(i);
            if (item.getDurability() == Short.MAX_VALUE) {
                item.setDurability((short) 0);
            }
            view.setItem(i + 1, item);
        }
    } else {
        StringBuilder s = new StringBuilder();
        for (int i = 0; i < ingredients.size(); i++) {
            s.append(getMaterialName(ingredients.get(i)));
            if (i != ingredients.size() - 1) {
                s.append(",");
            }
            s.append(" ");
        }
        sender.sendMessage(tl("recipeShapeless", s.toString()));
    }
}
Also used : User(com.earth2me.essentials.User)

Example 33 with User

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

the class Commandignore method run.

@Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception {
    if (args.length < 1) {
        StringBuilder sb = new StringBuilder();
        for (String s : user._getIgnoredPlayers()) {
            sb.append(s).append(" ");
        }
        String ignoredList = sb.toString().trim();
        user.sendMessage(ignoredList.length() > 0 ? tl("ignoredList", ignoredList) : tl("noIgnored"));
    } else {
        User player;
        try {
            player = getPlayer(server, args, 0, true, true);
        } catch (PlayerNotFoundException ex) {
            player = ess.getOfflineUser(args[0]);
        }
        if (player == null) {
            throw new PlayerNotFoundException();
        }
        if (player.isIgnoreExempt()) {
            user.sendMessage(tl("ignoreExempt"));
        } else if (user.isIgnoredPlayer(player)) {
            user.setIgnoredPlayer(player, false);
            user.sendMessage(tl("unignorePlayer", player.getName()));
        } else {
            user.setIgnoredPlayer(player, true);
            user.sendMessage(tl("ignorePlayer", player.getName()));
        }
    }
}
Also used : User(com.earth2me.essentials.User)

Example 34 with User

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

the class Commandmute method run.

@Override
public void run(final Server server, final CommandSource sender, final String commandLabel, final String[] args) throws Exception {
    boolean nomatch = false;
    if (args.length < 1) {
        throw new NotEnoughArgumentsException();
    }
    User user;
    try {
        user = getPlayer(server, args, 0, true, true);
    } catch (PlayerNotFoundException e) {
        nomatch = true;
        user = ess.getUser(new OfflinePlayer(args[0], ess.getServer()));
    }
    if (!user.getBase().isOnline()) {
        if (sender.isPlayer() && !ess.getUser(sender.getPlayer()).isAuthorized("essentials.mute.offline")) {
            throw new Exception(tl("muteExemptOffline"));
        }
    } else {
        if (user.isAuthorized("essentials.mute.exempt") && sender.isPlayer()) {
            throw new Exception(tl("muteExempt"));
        }
    }
    final boolean willMute = (args.length > 1) ? true : !user.getMuted();
    final User controller = sender.isPlayer() ? ess.getUser(sender.getPlayer()) : null;
    final MuteStatusChangeEvent event = new MuteStatusChangeEvent(user, controller, willMute);
    ess.getServer().getPluginManager().callEvent(event);
    if (!event.isCancelled()) {
        long muteTimestamp = 0;
        if (args.length > 1) {
            final String time = getFinalArg(args, 1);
            muteTimestamp = DateUtil.parseDateDiff(time, true);
            user.setMuted(true);
        } else {
            user.setMuted(!user.getMuted());
        }
        user.setMuteTimeout(muteTimestamp);
        final boolean muted = user.getMuted();
        String muteTime = DateUtil.formatDateDiff(muteTimestamp);
        if (nomatch) {
            sender.sendMessage(tl("userUnknown", user.getName()));
        }
        if (muted) {
            if (muteTimestamp > 0) {
                sender.sendMessage(tl("mutedPlayerFor", user.getDisplayName(), muteTime));
                user.sendMessage(tl("playerMutedFor", muteTime));
            } else {
                sender.sendMessage(tl("mutedPlayer", user.getDisplayName()));
                user.sendMessage(tl("playerMuted"));
            }
            final String message;
            if (muteTimestamp > 0) {
                message = tl("muteNotifyFor", sender.getSender().getName(), user.getName(), muteTime);
            } else {
                message = tl("muteNotify", sender.getSender().getName(), user.getName());
            }
            server.getLogger().log(Level.INFO, message);
            ess.broadcastMessage("essentials.mute.notify", message);
        } else {
            sender.sendMessage(tl("unmutedPlayer", user.getDisplayName()));
            user.sendMessage(tl("playerUnmuted"));
        }
    }
}
Also used : User(com.earth2me.essentials.User) MuteStatusChangeEvent(net.ess3.api.events.MuteStatusChangeEvent) OfflinePlayer(com.earth2me.essentials.OfflinePlayer)

Example 35 with User

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

the class Commandnick method setNickname.

private void setNickname(final Server server, final CommandSource sender, final User target, final String nickname) {
    final User controller = sender.isPlayer() ? ess.getUser(sender.getPlayer()) : null;
    final NickChangeEvent nickEvent = new NickChangeEvent(controller, target, nickname);
    server.getPluginManager().callEvent(nickEvent);
    if (!nickEvent.isCancelled()) {
        target.setNickname(nickname);
        target.setDisplayNick();
    }
}
Also used : User(com.earth2me.essentials.User) NickChangeEvent(net.ess3.api.events.NickChangeEvent)

Aggregations

User (com.earth2me.essentials.User)231 Player (org.bukkit.entity.Player)39 Location (org.bukkit.Location)30 EventHandler (org.bukkit.event.EventHandler)29 World (org.bukkit.World)18 Trade (com.earth2me.essentials.Trade)14 ItemStack (org.bukkit.inventory.ItemStack)14 Material (org.bukkit.Material)8 ArrayList (java.util.ArrayList)7 IText (com.earth2me.essentials.textreader.IText)6 List (java.util.List)6 UUID (java.util.UUID)6 IOException (java.io.IOException)5 IUser (com.earth2me.essentials.IUser)4 Kit (com.earth2me.essentials.Kit)4 OfflinePlayer (com.earth2me.essentials.OfflinePlayer)4 PlayerList (com.earth2me.essentials.PlayerList)4 Teleport (com.earth2me.essentials.Teleport)4 UserMap (com.earth2me.essentials.UserMap)4 KeywordReplacer (com.earth2me.essentials.textreader.KeywordReplacer)4