Hello, problem: it shows me the usage: from the plugin.yml and not the command thats my public: Code (Text): public boolean onCommand(CommandSender sender, Command cmd, String cmdlabel, String[] args) { Player p = (Player) sender; if(cmd.getName().equalsIgnoreCase("gameinfo")) { p.sendMessage("§8[§6FFA§8] §3=================================================================="); p.sendMessage("§8[§6FFA§8] §3Version: §b1.0"); p.sendMessage("§8[§6FFA§8] §3Developer: §b-"); p.sendMessage("§8[§6FFA§8] §3YouTube: §b-"); p.sendMessage("§8[§6FFA§8] §3=================================================================="); return true; } if(cmd.getName().equalsIgnoreCase("clean")) { if(p.hasPermission("ffa.clean")) { p.getInventory().clear(); p.sendMessage("§8[§6FFA§8] §3Du hast dein Inventar geleert."); } else { p.sendMessage("§8[§6FFA§8] §cDu hast keine Rechte."); } return true; } return false; }
The usage is shown if the onCommand method returns false. You should read the Bukkit wiki for using command executers properly.
Code (Text): //Command Class public class MyCommand implements CommandExecutor { @Override public boolean onCommand(CommandSender s, Command cmnd, String label, String[] args) { //Your code here } return true; } Code (Text): //Main Class public class Main extends JavaPlugin { @Override public void onEnable() { getCommand("myCommand").setExecutor(new MyCommand()); } } Code (Text): name: MyPlugin version: 1.0 main: com.example.main.Main commands: myCommand: description: MyCommand
Code (Text): public boolean onCommand(CommandSender sender, Command cmd, String cmdlabel, String[] args) { Player p = (Player) sender; if(cmd.getName().equalsIgnoreCase("gameinfo")) { p.sendMessage("§8[§6FFA§8] §3=================================================================="); p.sendMessage("§8[§6FFA§8] §3Version: §b1.0"); p.sendMessage("§8[§6FFA§8] §3Developer: §b-"); p.sendMessage("§8[§6FFA§8] §3YouTube: §b-"); p.sendMessage("§8[§6FFA§8] §3=================================================================="); return true; } if(cmd.getName().equalsIgnoreCase("clean")) { if(!p.hasPermission("ffa.clean")) { p.sendMessage("§8[§6FFA§8] §cDu hast keine Rechte."); return true; } p.getInventory().clear(); p.sendMessage("§8[§6FFA§8] §3Du hast dein Inventar geleert."); return true; } return false; }
Also it is good to use an else statement, like this: Code (Text): if(cmd.getName().equalsIgnoreCase("gameinfo")) { p.sendMessage("§8[§6FFA§8] §3=================================================================="); p.sendMessage("§8[§6FFA§8] §3Version: §b1.0"); p.sendMessage("§8[§6FFA§8] §3Developer: §b-"); p.sendMessage("§8[§6FFA§8] §3YouTube: §b-"); p.sendMessage("§8[§6FFA§8] §3=================================================================="); return true; } if(cmd.getName().equalsIgnoreCase("clean")) { if(!p.hasPermission("ffa.clean")) { p.sendMessage("§8[§6FFA§8] §cDu hast keine Rechte."); return true; } p.getInventory().clear(); p.sendMessage("§8[§6FFA§8] §3Du hast dein Inventar geleert."); return true; } else { //code here return false; } return false;