summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2012-02-14 23:55:29 +0000
committerKHobbits <rob@khobbits.co.uk>2012-02-14 23:55:29 +0000
commitf0c0ee1a8dd90de1524032e92c65df5e823a7b1f (patch)
tree471a8c358853dbe7a951d048daf992ac90d786ee
parent3c98718387cf8c612e11f00df216c9ffb268568e (diff)
downloadEssentials-f0c0ee1a8dd90de1524032e92c65df5e823a7b1f.tar
Essentials-f0c0ee1a8dd90de1524032e92c65df5e823a7b1f.tar.gz
Essentials-f0c0ee1a8dd90de1524032e92c65df5e823a7b1f.tar.lz
Essentials-f0c0ee1a8dd90de1524032e92c65df5e823a7b1f.tar.xz
Essentials-f0c0ee1a8dd90de1524032e92c65df5e823a7b1f.zip
/spawnmob - Only list mobs you have permission to spawn.
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandspawnmob.java17
1 files changed, 15 insertions, 2 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandspawnmob.java b/Essentials/src/com/earth2me/essentials/commands/Commandspawnmob.java
index f867a1503..948c82871 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandspawnmob.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandspawnmob.java
@@ -7,6 +7,7 @@ import com.earth2me.essentials.User;
import com.earth2me.essentials.Util;
import java.util.Locale;
import java.util.Random;
+import java.util.Set;
import org.bukkit.DyeColor;
import org.bukkit.Location;
import org.bukkit.Server;
@@ -26,7 +27,19 @@ public class Commandspawnmob extends EssentialsCommand
{
if (args.length < 1)
{
- throw new NotEnoughArgumentsException(_("mobsAvailable", Util.joinList(Mob.getMobList())));
+ Set<String> availableList = Mob.getMobList();
+ for (String mob : availableList)
+ {
+ if (!user.isAuthorized("essentials.spawnmob." + mob.toLowerCase()))
+ {
+ availableList.remove(mob);
+ }
+ }
+ if (availableList.isEmpty())
+ {
+ availableList.add(_("none"));
+ }
+ throw new NotEnoughArgumentsException(_("mobsAvailable", Util.joinList(availableList)));
}
@@ -79,7 +92,7 @@ public class Commandspawnmob extends EssentialsCommand
User otherUser = null;
if (args.length >= 3)
{
- otherUser = getPlayer(ess.getServer(), args, 2);
+ otherUser = getPlayer(ess.getServer(), args, 2);
}
final Location loc = (otherUser == null) ? block.getLocation() : otherUser.getLocation();
final Location sloc = Util.getSafeDestination(loc);