package org.buckit.commands.admin; import org.buckit.Config; import org.bukkit.Server; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.CreatureType; import org.bukkit.entity.Player; public class SpawnMobCommand extends Command { public SpawnMobCommand(String name, Server server) { super(name); this.description = "Spawns a mob on your location."; this.usageMessage = "Usage: /spawnmob [mob name] <count>"; this.accessname = "buckit.admin.spawnmob"; } @Override public boolean execute(CommandSender sender, String currentAlias, String[] args) { if (!(sender instanceof Player)) return false; if (args.length == 0) { sender.sendMessage(Config.DEFAULT_ERROR_COLOR + "Insufficient arguments specified."); sender.sendMessage(Config.DEFAULT_ERROR_COLOR + this.getUsage()); return true; } Player player = (Player)sender; String mobname = args[0].toLowerCase(); CreatureType type = CreatureType.fromName(mobname); if(type == null) { sender.sendMessage(Config.DEFAULT_ERROR_COLOR + "Invalid mob name."); sender.sendMessage(Config.DEFAULT_ERROR_COLOR + this.getUsage()); return true; } int count = 1; if(args.length > 1) { try { count = Integer.parseInt(args[1]); } catch (NumberFormatException e) { sender.sendMessage(Config.DEFAULT_ERROR_COLOR + "Invalid mob count."); sender.sendMessage(Config.DEFAULT_ERROR_COLOR + this.getUsage()); return true; } } for(int i = 0; i < count;i++){ player.getWorld().spawnCreature(player.getLocation(), type); } return true; } }