Solved void method cannot return

Discussion in 'Plugin Development' started by klofno1, Aug 11, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    klofno1

    Hi I've got an error on 'return true;'
    Does somebody know how to fix that?

    Code:
    package me.JonathanNLD.Fairy;
     
    import java.util.ArrayList;
    import java.util.List;
    import java.util.logging.Logger;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.event.Listener;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class Main extends JavaPlugin {
        private static final Logger log = Logger.getLogger("Minecraft");
        public static Main plugin;
     
        @Override
        public void onEnable(){
        getCommand("FairyHelp").setExecutor(this);
        getCommand("FairyTurn").setExecutor(this);
        this.getServer().getPluginManager().registerEvents((Listener) new FairyListener(this), this);
            log.info("Fairy has been enabled!");
        }
     
       
        public static List<String> fairylist = new ArrayList<>();   
        @Override
        public void onDisable(){
            log.info("Fairy has been disabled!");
        }
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
            if(cmd.getName().equalsIgnoreCase("FairyHelp")){
            if(sender.hasPermission("Fairy.Help") || sender.isOp()){
                sender.sendMessage("Thank you for downloading Fairy. Fairy is a plugin that adds fairies to the game. If you'd like to turn someone, use the command: /FairyTurn 'playername'");
               
            }
            }
         
           
        if(cmd.getName().equalsIgnoreCase("FairyTurn")){
            if(sender.hasPermission("Fairy.Turn") || sender.isOp())
                if(!fairylist.contains(args[0])){
                      fairylist.add(args[0]);
                      sender.sendMessage(args[0] + " is now a fairy!");
                    }
                   
        }
        else {
            sender.sendMessage(args[0] + " is already a fairy!");
        }
        }
        {
            return true;
        }
        }
     
  2. klofno1
    The line is outside your onCommand method.

    I fixed your method:
    Code:
    public boolean onCommand2(CommandSender sender, Command cmd, String label, String[] args) {
        if (cmd.getName().equalsIgnoreCase("FairyHelp")) {
            if (sender.hasPermission("Fairy.Help") || sender.isOp()) {
                sender.sendMessage("Thank you for downloading Fairy. Fairy is a plugin that adds fairies to the game. If you'd like to turn someone, use the command: /FairyTurn 'playername'");
                return true;
            }
        }
     
        if (cmd.getName().equalsIgnoreCase("FairyTurn")) {
            if (sender.hasPermission("Fairy.Turn") || sender.isOp())
                if (!fairylist.contains(args[0])) {
                    fairylist.add(args[0]);
                    sender.sendMessage(args[0] + " is now a fairy!");
                    return true;
                }
     
        } else {
            sender.sendMessage(args[0] + " is already a fairy!");
            return true;
        }
     
        return false;
    }
     
  3. Offline

    klofno1

    thank you!
     
Thread Status:
Not open for further replies.

Share This Page