use of com.laytonsmith.abstraction.bukkit.BukkitMCBlockCommandSender in project CommandHelper by EngineHub.
the class CommandHelperServerListener method onServerCommand.
@EventHandler(priority = EventPriority.LOWEST)
public void onServerCommand(ServerCommandEvent event) {
// Select the proper CommandSender wrapper.
MCCommandSender sender;
if (event.getSender() instanceof ConsoleCommandSender) {
// Console.
sender = new BukkitMCConsoleCommandSender((ConsoleCommandSender) event.getSender());
} else if (event.getSender() instanceof BlockCommandSender) {
// Commandblock blocks.
sender = new BukkitMCBlockCommandSender((BlockCommandSender) event.getSender());
} else if (event.getSender() instanceof CommandMinecart) {
// Commandblock minecarts.
sender = new BukkitMCCommandMinecart((CommandMinecart) event.getSender());
} else {
// other CommandSenders.
sender = new BukkitMCCommandSender(event.getSender());
}
BukkitMiscEvents.BukkitMCServerCommandEvent cce = new BukkitMiscEvents.BukkitMCServerCommandEvent(event, sender);
EventUtils.TriggerListener(Driver.SERVER_COMMAND, "server_command", cce);
try {
if (event.isCancelled()) {
return;
}
} catch (NoSuchMethodError ex) {
// not cancellable before 1.8.8
}
boolean match = false;
try {
match = Static.getAliasCore().alias("/" + event.getCommand(), sender);
} catch (InternalException e) {
Static.getLogger().log(Level.SEVERE, e.getMessage());
} catch (ConfigRuntimeException e) {
Static.getLogger().log(Level.WARNING, e.getMessage());
} catch (Throwable e) {
sender.sendMessage(MCChatColor.RED + "Command failed with following reason: " + e.getMessage());
// Obviously the command is registered, but it somehow failed. Cancel the event.
e.printStackTrace();
return;
}
// commandhelper null, which just returns true.
if (match) {
event.setCommand("commandhelper null");
}
}
Aggregations