Try command fallback

This commit is contained in:
KHobbits 2013-01-25 03:06:21 +00:00
parent 20786654a4
commit 286091cd32

View File

@ -47,6 +47,8 @@ import org.bukkit.World;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.PluginCommand; import org.bukkit.command.PluginCommand;
import org.bukkit.command.SimpleCommandMap;
import org.bukkit.command.defaults.VanillaCommand;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
@ -85,6 +87,7 @@ public class Essentials extends JavaPlugin implements IEssentials
private transient Metrics metrics; private transient Metrics metrics;
private transient EssentialsTimer timer; private transient EssentialsTimer timer;
private transient List<String> vanishedPlayers = new ArrayList<String>(); private transient List<String> vanishedPlayers = new ArrayList<String>();
private transient SimpleCommandMap scm;
@Override @Override
public ISettings getSettings() public ISettings getSettings()
@ -123,6 +126,7 @@ public class Essentials extends JavaPlugin implements IEssentials
i18n = new I18n(this); i18n = new I18n(this);
i18n.onEnable(); i18n.onEnable();
execTimer.mark("I18n1"); execTimer.mark("I18n1");
scm = new SimpleCommandMap(this.getServer());
final PluginManager pm = getServer().getPluginManager(); final PluginManager pm = getServer().getPluginManager();
for (Plugin plugin : pm.getPlugins()) for (Plugin plugin : pm.getPlugins())
{ {
@ -210,7 +214,7 @@ public class Essentials extends JavaPlugin implements IEssentials
backup = new Backup(this); backup = new Backup(this);
permissionsHandler = new PermissionsHandler(this, settings.useBukkitPermissions()); permissionsHandler = new PermissionsHandler(this, settings.useBukkitPermissions());
alternativeCommandsHandler = new AlternativeCommandsHandler(this); alternativeCommandsHandler = new AlternativeCommandsHandler(this);
timer = new EssentialsTimer(this); timer = new EssentialsTimer(this);
getScheduler().scheduleSyncRepeatingTask(this, timer, 100, 100); getScheduler().scheduleSyncRepeatingTask(this, timer, 100, 100);
@ -234,15 +238,16 @@ public class Essentials extends JavaPlugin implements IEssentials
LOGGER.log(Level.INFO, "Essentials load " + timeroutput); LOGGER.log(Level.INFO, "Essentials load " + timeroutput);
} }
} }
private void registerListeners(PluginManager pm) { private void registerListeners(PluginManager pm)
{
HandlerList.unregisterAll(this); HandlerList.unregisterAll(this);
if (getSettings().isDebug()) if (getSettings().isDebug())
{ {
LOGGER.log(Level.INFO, "Registering Listeners"); LOGGER.log(Level.INFO, "Registering Listeners");
} }
final EssentialsPluginListener serverListener = new EssentialsPluginListener(this); final EssentialsPluginListener serverListener = new EssentialsPluginListener(this);
pm.registerEvents(serverListener, this); pm.registerEvents(serverListener, this);
confList.add(serverListener); confList.add(serverListener);
@ -267,10 +272,10 @@ public class Essentials extends JavaPlugin implements IEssentials
final EssentialsWorldListener worldListener = new EssentialsWorldListener(this); final EssentialsWorldListener worldListener = new EssentialsWorldListener(this);
pm.registerEvents(worldListener, this); pm.registerEvents(worldListener, this);
pm.registerEvents(tntListener, this); pm.registerEvents(tntListener, this);
jails.resetListener(); jails.resetListener();
} }
@Override @Override
@ -302,7 +307,7 @@ public class Essentials extends JavaPlugin implements IEssentials
} }
i18n.updateLocale(settings.getLocale()); i18n.updateLocale(settings.getLocale());
final PluginManager pm = getServer().getPluginManager(); final PluginManager pm = getServer().getPluginManager();
registerListeners(pm); registerListeners(pm);
} }
@ -357,6 +362,16 @@ public class Essentials extends JavaPlugin implements IEssentials
// Check for disabled commands // Check for disabled commands
if (getSettings().isCommandDisabled(commandLabel)) if (getSettings().isCommandDisabled(commandLabel))
{ {
if (scm != null)
{
for (VanillaCommand cmd : scm.getFallbackCommands())
{
if (cmd.matches(commandLabel))
{
cmd.execute(sender, commandLabel, args);
}
}
}
return true; return true;
} }