I am trying my hand at Bukkit plugins and im having some difficulty on my first. My console for the server is incapable of running the command, if i could get your review, an explanation to whats going on would be helpfull.
Class Code: This is just the relevant code chunk.
//Overrides bukkits onCommand with modified code
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (args.length > 1) {//No more then 1 argument
sender.sendMessage("[ConsoleFilter] Too many arguments!"); //Sends player a message
return false;
}
if (args.length < 1) {//No less then 1 argument
sender.sendMessage("[ConsoleFilter] Not enough arguments!"); //Sends player a message
return false;
}
if (cmd.getName().equalsIgnoreCase("CF")) { //Checks for /CF
if (args[0].equalsIgnoreCase("Reload")){ //Checks for /CF Reload
Player player = null; //Sets player
if (sender instanceof Player){ //if sender is a player entity
player = (Player) sender; //player = sender
//plugin.yml will actually validate permissions, however additional provisions allows for
//further security and further extendability.
if (player.isOp() || player.hasPermission("ConsoleFilter.Reload")){ //Is the player an Op or have specified Permission
this.reloadConfig(); //Reloads config file back into memory
player.sendMessage(ChatColor.DARK_GREEN + "Config Reloaded!"); //Sends player a message
getLogger().info("[ConsoleFilter] Config Reloaded");
return true; //Close True
}
}
else{
this.reloadConfig(); //Reloads config file back into memory
getLogger().info("[ConsoleFilter] Config Reloaded");
return true; //Close True
}
}
}
return false;
}
Server output: [Server] INFO You don't have ConsoleFilter Permissions node- ConsoleFilter.Reload
Plugin.yml: This file parses properly any spacing errors is due to posting.
name: ConsoleFilter
main: com.dirtyredz.ConsoleFilter.ConsoleFilter
version: 0.0.1
commands:
CF:
description: This is a demo reload command.
usage: /CF Reload
permission: ConsoleFilter.Reload
permission-message: You don't have ConsoleFilter Permissions node- ConsoleFilter.Reload
permissions:
ConsoleFilter.*:
description: Complete access to consolefilter commands
children:
ConsoleFilter.reload: false
ConsoleFilter.reload:
description: Test reload
default: false