Connected standard command handler getCommand("f"), for it to work with other plugins which directly execute commands using that interface.

This commit is contained in:
Brettflan
2012-03-11 11:41:56 -05:00
parent 2c6191b73f
commit c0308940c8
3 changed files with 32 additions and 18 deletions

View File

@ -36,6 +36,7 @@ public abstract class MPlugin extends JavaPlugin
protected boolean loadSuccessful = false;
public boolean getAutoSave() {return this.autoSave;}
public void setAutoSave(boolean val) {this.autoSave = val;}
public String refCommand = "";
// Listeners
private MPluginSecretPlayerListener mPluginSecretPlayerListener;
@ -68,7 +69,17 @@ public abstract class MPlugin extends JavaPlugin
this.txt = new TextUtil();
initTXT();
// attempt to get first command defined in plugin.yml as reference command, if any commands are defined in there
// reference command will be used to prevent "unknown command" console messages
try
{
Map<String, Map<String, Object>> refCmd = this.getDescription().getCommands();
if (refCmd != null && !refCmd.isEmpty())
this.refCommand = (String)(refCmd.keySet().toArray()[0]);
}
catch (ClassCastException ex) {}
// Create and register listeners
this.mPluginSecretPlayerListener = new MPluginSecretPlayerListener(this);
this.mPluginSecretServerListener = new MPluginSecretServerListener(this);

View File

@ -1,7 +1,5 @@
package com.massivecraft.factions.zcore;
import java.util.Map;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
@ -10,22 +8,10 @@ import org.bukkit.event.server.ServerCommandEvent;
public class MPluginSecretServerListener implements Listener
{
private MPlugin p;
private String refCommand;
public MPluginSecretServerListener(MPlugin p)
{
this.p = p;
refCommand = "";
// attempt to get first command defined in plugin.yml as reference command, if any commands are defined in there
// reference command will be used to prevent "unknown command" console messages
try
{
Map<String, Map<String, Object>> refCmd = p.getDescription().getCommands();
if (refCmd != null && !refCmd.isEmpty())
refCommand = (String)(refCmd.keySet().toArray()[0]);
}
catch (ClassCastException ex) {}
}
@EventHandler(priority = EventPriority.LOWEST)
@ -35,7 +21,7 @@ public class MPluginSecretServerListener implements Listener
if (p.handleCommand(event.getSender(), event.getCommand()))
{
event.setCommand(refCommand);
event.setCommand(p.refCommand);
}
}