summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2014-06-23 00:38:13 +0100
committerKHobbits <rob@khobbits.co.uk>2014-06-23 00:38:13 +0100
commit84a03630797dd808df9cf3993e86a915bb6f125c (patch)
tree881abee25a4575235190acc0818d0df0e08cb138
parent2e7042a7b4c4d90b0a9ce2052bc25725e53db1b3 (diff)
downloadEssentials-84a03630797dd808df9cf3993e86a915bb6f125c.tar
Essentials-84a03630797dd808df9cf3993e86a915bb6f125c.tar.gz
Essentials-84a03630797dd808df9cf3993e86a915bb6f125c.tar.lz
Essentials-84a03630797dd808df9cf3993e86a915bb6f125c.tar.xz
Essentials-84a03630797dd808df9cf3993e86a915bb6f125c.zip
Allow multiple kits to be spawned per command.
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandkit.java50
1 files changed, 36 insertions, 14 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandkit.java b/Essentials/src/com/earth2me/essentials/commands/Commandkit.java
index aeb9a713f..cb14bd0be 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandkit.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandkit.java
@@ -31,13 +31,13 @@ public class Commandkit extends EssentialsCommand
else if (args.length > 1 && user.isAuthorized("essentials.kit.others"))
{
final User userTo = getPlayer(server, user, args, 1);
- final String kitName = StringUtil.sanitizeString(args[0].toLowerCase(Locale.ENGLISH)).trim();
- giveKit(userTo, user, kitName);
+ final String kitNames = StringUtil.sanitizeString(args[0].toLowerCase(Locale.ENGLISH)).trim();
+ giveKits(userTo, user, kitNames);
}
else
{
- final String kitName = StringUtil.sanitizeString(args[0].toLowerCase(Locale.ENGLISH)).trim();
- giveKit(user, user, kitName);
+ final String kitNames = StringUtil.sanitizeString(args[0].toLowerCase(Locale.ENGLISH)).trim();
+ giveKits(user, user, kitNames);
}
}
@@ -53,24 +53,41 @@ public class Commandkit extends EssentialsCommand
else
{
final User userTo = getPlayer(server, args, 1, true, false);
- final String kitName = args[0].toLowerCase(Locale.ENGLISH);
+ final String[] kits = args[0].toLowerCase(Locale.ENGLISH).split(",");
- final Map<String, Object> kit = ess.getSettings().getKit(kitName);
- final List<String> items = Kit.getItems(ess, userTo, kitName, kit);
- Kit.expandItems(ess, userTo, items);
+ for (final String kitName : kits)
+ {
+ final Map<String, Object> kit = ess.getSettings().getKit(kitName);
+ final List<String> items = Kit.getItems(ess, userTo, kitName, kit);
+ Kit.expandItems(ess, userTo, items);
- sender.sendMessage(tl("kitGiveTo", kitName, userTo.getDisplayName()));
- userTo.sendMessage(tl("kitReceive", kitName));
+ sender.sendMessage(tl("kitGiveTo", kitName, userTo.getDisplayName()));
+ userTo.sendMessage(tl("kitReceive", kitName));
+ }
+ }
+ }
+
+ private void giveKits(User userTo, User userFrom, String kitNames) throws Exception
+ {
+ if (kitNames.isEmpty())
+ {
+ throw new Exception(tl("kitError2"));
+ }
+ String[] kits = kitNames.split(",");
+
+ for (final String kitName : kits)
+ {
+ giveKit(userTo, userFrom, kitName);
}
}
private void giveKit(User userTo, User userFrom, String kitName) throws Exception
- {
+ {
if (kitName.isEmpty())
{
throw new Exception(tl("kitError2"));
}
-
+
final Map<String, Object> kit = ess.getSettings().getKit(kitName);
if (!userFrom.isAuthorized("essentials.kits." + kitName))
@@ -80,14 +97,19 @@ public class Commandkit extends EssentialsCommand
final List<String> items = Kit.getItems(ess, userTo, kitName, kit);
- final Trade charge = new Trade("kit-" + kitName, ess);
+ final Trade charge = new Trade("kit-" + kitName, new Trade("kit-kit", ess), ess);
charge.isAffordableFor(userFrom);
Kit.checkTime(userFrom, kitName, kit);
Kit.expandItems(ess, userTo, items);
charge.charge(userFrom);
- userFrom.sendMessage(tl("kitGiveTo", kitName, userTo.getDisplayName()));
+
+ if (!userFrom.equals(userTo))
+ {
+ userFrom.sendMessage(tl("kitGiveTo", kitName, userTo.getDisplayName()));
+ }
+
userTo.sendMessage(tl("kitReceive", kitName));
}
}