Code:java @Overridepublic boolean onCommand(CommandSender sender, Command cmd, String label,String[] args){if(args.length==0){sender.sendMessage(plugin.getConfig().getString("Broadcast.Prefix"));return true;}if(args[0] == "prefix"){if(args.length==2){plugin.getConfig().set("Broadcast.Prefix", args[1]);sender.sendMessage("You changed prefix to ->" + plugin.getConfig().getString("Broadcast.Prefix"));return true;}else if(args.length==1){sender.sendMessage(plugin.getConfig().getString("Broadcast.Prefix"));return true;}}return false;} When I type in console "broadcast prefix" it doesn't work. 1. I put command in plugin.yml 2.This onCommand for sure is activated when I type command "broadcast". 3.Eclipse doesn't show anything wrong. 4.When I type "broadcast" command it processes lines from 3-7 correctly. But both "if" statments isn't. 5. I checked if the args are read correctly. They are. I also noticed that when i change my code to Code:java @Overridepublic boolean onCommand(CommandSender sender, Command cmd, String label,String[] args){sender.sendMessage(Integer.toString(args.length));if(args.length==0){sender.sendMessage(plugin.getConfig().getString("Broadcast.Prefix"));return true;}if(args[0] == "prefix"){sender.sendMessage(Integer.toString(args.length));if(args.length==2){plugin.getConfig().set("Broadcast.Prefix", args[1]);sender.sendMessage("You changed prefix to ->" + plugin.getConfig().getString("Broadcast.Prefix"));return true;}sender.sendMessage(Integer.toString(args.length));if(args.length==1){sender.sendMessage(plugin.getConfig().getString("Broadcast.Prefix"));return true;}}sender.sendMessage(Integer.toString(args.length));return false;} It is only sending two of four (in lines 3rd and 21th but no in 9th and 15th line) args.lenght value. So if statment (this from 8-20) do something bad (doesnt run)? I don't think that is big problem. I just don't see something. Or if someone can tell me better way to execute subcommands (like "prefix" here) it would be great.