Revert "Added the ability to register commands dynamically."

This reverts commit 737d6347b1d74e13191df7c521d8db30fa174c9b.
Because this is *NOT* how it should be.

By: Erik Broes <erikbroes@grum.nl>
This commit is contained in:
Bukkit/Spigot 2011-10-13 18:27:34 +02:00
parent f75105d723
commit 98583f6462
4 changed files with 3 additions and 181 deletions

View file

@ -1,133 +0,0 @@
package org.bukkit.command;
import java.util.ArrayList;
import java.util.List;
/**
* Represents a command that can be registered dynamically.
*
* @author sk89q
*/
public class CommandDefinition {
private String name;
private String description;
private String usage;
private List<String> aliases = new ArrayList<String>();
private String permission;
/**
* Construct the command with a given name.
*
* @param name The command name (without a preceding /)
*/
public CommandDefinition(String name) {
setName(name);
}
/**
* Construct the command with a given name and description.
*
* @param name The command name
* @param description The command description (without a preceding /)
*/
public CommandDefinition(String name, String description) {
setName(name);
setDescription(description);
}
/**
* Get the name.
*
* @return Command name
*/
public String getName() {
return name;
}
/**
* Sets the command name.
*
* @param name Command name
*/
public void setName(String name) {
if (name == null) {
throw new IllegalArgumentException("Cannot have a null command name");
}
this.name = name;
}
/**
* Get the description.
*
* @return Command description, possibly null
*/
public String getDescription() {
return description;
}
/**
* Sets the command description.
*
* @param name Command description, possibly null
*/
public void setDescription(String description) {
this.description = description;
}
/**
* Get the usage string.
*
* @return Command description, possibly null
*/
public String getUsage() {
return usage;
}
/**
* Sets the command usage string.
*
* @param name Command usage string, possibly null
*/
public void setUsage(String usage) {
this.usage = usage;
}
/**
* Get the list of aliases.
*
* @return List of aliases, possibly null
*/
public List<String> getAliases() {
return aliases;
}
/**
* Set the list of aliases.
*
* @param aliases List of aliases
*/
public void setAliases(List<String> aliases) {
this.aliases = aliases;
}
/**
* Get the permission.
*
* @return Command permission, possibly null
*/
public String getPermission() {
return permission;
}
/**
* Sets the permission.
*
* @param name Command permission, possibly null
*/
public void setPermission(String permission) {
this.permission = permission;
}
}

View file

@ -7,7 +7,7 @@ import java.util.Map.Entry;
import org.bukkit.plugin.Plugin;
public class PluginCommandUtil {
public class PluginCommandYamlParser {
@SuppressWarnings("unchecked")
public static List<Command> parse(Plugin plugin) {
@ -59,31 +59,4 @@ public class PluginCommandUtil {
}
return pluginCmds;
}
public static Command parse(CommandDefinition command, Plugin plugin) {
Command newCmd = new PluginCommand(command.getName(), plugin);
String description = command.getDescription();
String usage = command.getUsage();
List<String> aliases = command.getAliases();
String permission = command.getPermission();
if (description != null) {
newCmd.setDescription(description);
}
if (usage != null) {
newCmd.setUsage(usage);
}
if (aliases != null) {
newCmd.setAliases(aliases);
}
if (permission != null) {
newCmd.setPermission(permission);
}
return newCmd;
}
}

View file

@ -3,9 +3,6 @@ package org.bukkit.plugin;
import java.io.File;
import java.util.Set;
import org.bukkit.command.CommandDefinition;
import org.bukkit.command.CommandMap;
import org.bukkit.command.PluginCommand;
import org.bukkit.event.Event;
import org.bukkit.event.Event.Priority;
import org.bukkit.event.Listener;
@ -255,12 +252,4 @@ public interface PluginManager {
* @return Set containing all current registered permissions
*/
public Set<Permission> getPermissions();
/**
* Registers a plugin command dynamically.
*
* @param command Command definition to use
* @param plugin Plugin to associate it with
*/
public void registerCommand(CommandDefinition command, Plugin plugin);
}

View file

@ -23,10 +23,7 @@ import java.util.regex.Matcher;
import org.bukkit.Server;
import java.util.regex.Pattern;
import org.bukkit.command.Command;
import org.bukkit.command.CommandMap;
import org.bukkit.command.CommandDefinition;
import org.bukkit.command.PluginCommand;
import org.bukkit.command.PluginCommandUtil;
import org.bukkit.command.PluginCommandYamlParser;
import org.bukkit.command.SimpleCommandMap;
import org.bukkit.event.Event;
@ -273,7 +270,7 @@ public final class SimplePluginManager implements PluginManager {
public void enablePlugin(final Plugin plugin) {
if (!plugin.isEnabled()) {
List<Command> pluginCommands = PluginCommandUtil.parse(plugin);
List<Command> pluginCommands = PluginCommandYamlParser.parse(plugin);
if (!pluginCommands.isEmpty()) {
commandMap.registerAll(plugin.getDescription().getName(), pluginCommands);
@ -543,8 +540,4 @@ public final class SimplePluginManager implements PluginManager {
public Set<Permission> getPermissions() {
return new HashSet<Permission>(permissions.values());
}
public void registerCommand(CommandDefinition command, Plugin plugin) {
commandMap.register(plugin.getDescription().getName(), PluginCommandUtil.parse(command, plugin));
}
}