Refactored event calling so its front loading avoiding the lookup for each event call.

This now uses an annoymous class implementing IExecutor that facilitates direct event method handler calling

Changed commands from being executed exclusively by a player to by a CommandSender to facilitate external command callers such as rcon

Fixed CustomEventListener

Merged in additional events

Added getFullName to PluginDescriptionFile which returns the combination of Name and Version

There's also a few bits of reformatting as it seems someones been editing with either tabs or dos eol :(
This commit is contained in:
stevenh
2011-01-29 16:23:56 +00:00
parent 6366ed0c6d
commit cc404ced12
18 changed files with 534 additions and 361 deletions

View File

@@ -13,15 +13,15 @@ public final class PluginCommand extends Command {
this.usageMessage = "";
}
public boolean execute(Player player, String commandLabel, String[] args) {
boolean cmdSuccess = owningPlugin.onCommand(player, this, commandLabel, args);
public boolean execute(CommandSender sender, String commandLabel, String[] args) {
boolean cmdSuccess = owningPlugin.onCommand(sender, this, commandLabel, args);
if (!cmdSuccess && !usageMessage.isEmpty()) {
String tmpMsg = usageMessage.replace("<command>", commandLabel);
String[] usageLines = tmpMsg.split("\\n");
for(String line: usageLines) {
while (line.length() > 0) {
int stripChars = (line.length() > 53 ? 53:line.length());
player.sendMessage(ChatColor.RED + line.substring(0, stripChars));
sender.sendMessage(ChatColor.RED + line.substring(0, stripChars));
line = line.substring(stripChars);
}
}