package org.bukkit.command; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Map.Entry; import org.bukkit.plugin.Plugin; public class PluginCommandYamlParser { @SuppressWarnings("unchecked") public static List parse(Plugin plugin) { List pluginCmds = new ArrayList(); Object object = plugin.getDescription().getCommands(); if (object == null) { return pluginCmds; } Map> map = (Map>) object; if (map != null) { for (Entry> entry : map.entrySet()) { Command newCmd = new PluginCommand(entry.getKey(), plugin); Object description = entry.getValue().get("description"); Object usage = entry.getValue().get("usage"); Object aliases = entry.getValue().get("aliases"); Object permission = entry.getValue().get("permission"); if (description != null) { newCmd.setDescription(description.toString()); } if (usage != null) { newCmd.setUsage(usage.toString()); } if (aliases != null) { List aliasList = new ArrayList(); if (aliases instanceof List) { for (Object o : (List) aliases) { aliasList.add(o.toString()); } } else { aliasList.add(aliases.toString()); } newCmd.setAliases(aliasList); } if (permission != null) { newCmd.setPermission(permission.toString()); } pluginCmds.add(newCmd); } } return pluginCmds; } }