Solved Commands

Discussion in 'Spigot Plugin Help' started by Eptix, May 22, 2016.

  1. 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;
        }
     
  2. electronicboy

    IRC Staff

    The usage is shown if the onCommand method returns false. You should read the Bukkit wiki for using command executers properly.
     
  3. 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
     
  4. 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;
        }
     
  5. 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;