001 package org.bukkit.command.defaults;
002
003 import java.util.Arrays;
004
005 import org.bukkit.Bukkit;
006 import org.bukkit.ChatColor;
007 import org.bukkit.command.CommandSender;
008 import org.bukkit.plugin.Plugin;
009
010 public class PluginsCommand extends BukkitCommand {
011 public PluginsCommand(String name) {
012 super(name);
013 this.description = "Gets a list of plugins running on the server";
014 this.usageMessage = "/plugins";
015 this.setPermission("bukkit.command.plugins");
016 this.setAliases(Arrays.asList("pl"));
017 }
018
019 @Override
020 public boolean execute(CommandSender sender, String currentAlias, String[] args) {
021 if (!testPermission(sender)) return true;
022
023 sender.sendMessage("Plugins " + getPluginList());
024 return true;
025 }
026
027 private String getPluginList() {
028 StringBuilder pluginList = new StringBuilder();
029 Plugin[] plugins = Bukkit.getPluginManager().getPlugins();
030
031 for (Plugin plugin : plugins) {
032 if (pluginList.length() > 0) {
033 pluginList.append(ChatColor.WHITE);
034 pluginList.append(", ");
035 }
036
037 pluginList.append(plugin.isEnabled() ? ChatColor.GREEN : ChatColor.RED);
038 pluginList.append(plugin.getDescription().getName());
039 }
040
041 return "(" + plugins.length + "): " + pluginList.toString();
042 }
043 }