summaryrefslogtreecommitdiffstats
path: root/Essentials/src/com/earth2me/essentials/commands/Commandkit.java
diff options
context:
space:
mode:
Diffstat (limited to 'Essentials/src/com/earth2me/essentials/commands/Commandkit.java')
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandkit.java87
1 files changed, 53 insertions, 34 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandkit.java b/Essentials/src/com/earth2me/essentials/commands/Commandkit.java
index baa8ba014..4130429f8 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandkit.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandkit.java
@@ -1,82 +1,101 @@
package com.earth2me.essentials.commands;
-import com.earth2me.essentials.*;
import static com.earth2me.essentials.I18n._;
-import java.util.*;
-import org.bukkit.Server;
+import com.earth2me.essentials.api.IUser;
+import com.earth2me.essentials.economy.Trade;
+import com.earth2me.essentials.permissions.KitPermissions;
+import com.earth2me.essentials.settings.Kit;
+import com.earth2me.essentials.utils.Util;
+import java.util.Collection;
+import java.util.List;
+import java.util.Locale;
import org.bukkit.command.CommandSender;
+import org.bukkit.inventory.ItemStack;
public class Commandkit extends EssentialsCommand
{
- public Commandkit()
- {
- super("kit");
- }
-
@Override
- public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
+ public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{
- final String kitList = Kit.listKits(ess, user);
- user.sendMessage(kitList.length() > 0 ? _("kits", kitList) : _("noKits"));
+ Collection<String> kitList = ess.getKits().getList();
+ if (kitList.isEmpty())
+ {
+ user.sendMessage(_("noKits"));
+ }
+ else
+ {
+ for (String kitName : kitList)
+ {
+ if (!KitPermissions.getPermission(kitName).isAuthorized(user))
+ {
+ kitList.remove(kitName);
+ }
+ }
+ user.sendMessage(_("kits", Util.joinList(kitList)));
+ }
throw new NoChargeException();
}
- else if (args.length > 1 && user.isAuthorized("essentials.kit.others"))
+ else if (args.length > 1 && KitPermissions.getPermission("others").isAuthorized(user))
{
- final User userTo = getPlayer(server, args, 1, true);
+ final IUser userTo = getPlayer(args, 1, true);
final String kitName = Util.sanitizeString(args[0].toLowerCase(Locale.ENGLISH));
giveKit(userTo, user, kitName);
+
}
else
{
final String kitName = Util.sanitizeString(args[0].toLowerCase(Locale.ENGLISH));
giveKit(user, user, kitName);
+
}
}
@Override
- public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
+ public void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 2)
{
- final String kitList = Kit.listKits(ess, null);
- sender.sendMessage(kitList.length() > 0 ? _("kits", kitList) : _("noKits"));
+ listKits(sender);
throw new NoChargeException();
}
- else
{
- final User userTo = getPlayer(server, args, 1, true);
+ final IUser userTo = getPlayer(args, 1, true);
final String kitName = args[0].toLowerCase(Locale.ENGLISH);
-
- final Map<String, Object> kit = ess.getSettings().getKit(kitName);
- final List<String> items = Kit.getItems(userTo, kit);
- Kit.expandItems(ess, userTo, items);
-
+ final Kit kit = ess.getKits().getKit(kitName);
+ ess.getKits().sendKit(userTo, kit);
sender.sendMessage(_("kitGive", kitName));
}
}
- private void giveKit(User userTo, User userFrom, String kitName) throws Exception
+ private void listKits(CommandSender sender) throws Exception
{
- final Map<String, Object> kit = ess.getSettings().getKit(kitName);
+ Collection<String> kitList = ess.getKits().getList();
+ if (kitList.isEmpty())
+ {
+ sender.sendMessage(_("kits", kitList));
+ }
+ else
+ {
+ sender.sendMessage(_("kits", Util.joinList(kitList)));
+ }
+ }
- if (!userFrom.isAuthorized("essentials.kit." + kitName))
+ private void giveKit(IUser userTo, IUser userFrom, String kitName) throws Exception
+ {
+ if (!KitPermissions.getPermission(kitName).isAuthorized(userFrom))
{
throw new Exception(_("noKitPermission", "essentials.kit." + kitName));
}
-
- final List<String> items = Kit.getItems(userTo, kit);
-
- Kit.checkTime(userFrom, kitName, kit);
-
+ final Kit kit = ess.getKits().getKit(kitName);
+ ess.getKits().checkTime(userFrom, kit);
final Trade charge = new Trade("kit-" + kitName, ess);
charge.isAffordableFor(userFrom);
-
- Kit.expandItems(ess, userTo, items);
-
+ ess.getKits().sendKit(userTo, kit);
charge.charge(userFrom);
userTo.sendMessage(_("kitGive", kitName));
}
}
+