[Unresovleved Still] Void methords cant return vlue [SimplyCommands]

Discussion in 'Plugin Development' started by C0lAK1nG, Aug 6, 2012.

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

    C0lAK1nG

    I get this error on my console its says that it cant load my plugin
    Console:
    09:20:40 [INFO] This server is running CraftBukkit version git-Bukkit-1.2.5-R5.0
    -6-g11e32f1-b2271jnks (MC: 1.3.1) (Implementing API version 1.3.1-R0.1-SNAPSHOT)

    09:20:40 [SEVERE] Could not load 'plugins\SimplyCommands.jar' in folder 'plugins
    '
    org.bukkit.plugin.InvalidPluginException: java.lang.ClassNotFoundException: Simp
    lyCommands.SimplyCommands
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:151)
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    java:305)
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    .java:230)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:220)
    at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:196)
    at net.minecraft.server.ServerConfigurationManagerAbstract.<init>(Server
    ConfigurationManagerAbstract.java:50)
    at net.minecraft.server.ServerConfigurationManager.<init>(SourceFile:11)

    at net.minecraft.server.DedicatedServer.init(DedicatedServer.java:105)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:378)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
    Caused by: java.lang.ClassNotFoundException: SimplyCommands.SimplyCommands
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
    java:41)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
    java:29)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:140)
    ... 9 more

    Code:
    Code:
    package me.C0lA_K1nG.SimplyCommands;
     
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class SimplyCommands extends JavaPlugin {
       
        public void onEnable(){
                getLogger().info("SimplyCommands Has Now Been Enabled");
        }
       
        public void onDisable(){
                getLogger().info("SimplyCommands Has Now Been Disabled");
        }
       
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
            Player player = null;
            if (sender instanceof Player) {
                player = (Player) sender;
            }
       
            if (cmd.getName().equalsIgnoreCase("Test")){ // If the player typed /basic then do the following...
                // do something...
                return true;
            } else if (cmd.getName().equalsIgnoreCase("Test")) {
                if (player == null) {
                    sender.sendMessage("[Server]: Test");
                } else {
                    // do something else...
                }
                return true;}
            return false;
                }
           
            public boolean onCommand1(CommandSender sender, Command cmd, String label, String[] args) {
                Player player = null;
                if (sender instanceof Player) {
                    player = (Player) sender;
                }
           
                if (cmd.getName().equalsIgnoreCase("Version")){ // If the player typed /basic then do the following...
                    // do something...
                    return true;
                } else if (cmd.getName().equalsIgnoreCase("Version")) {
                    if (player == null) {
                        sender.sendMessage("[Server]: SimplyCommands [1.0] Alpha ~C0lA_K1nG");
                    } else {
                        // do something else...
                    }
                    return true;
            }
            return false;
            }
     
    }
    
     
  2. Offline

    digga

    You forgot @Override annotation infront of onEnable(), onDisable() and onCommand method

    Also, u got 2 onCommand methods thats wrong, delte the inside onCommand1 method.
     
  3. Offline

    C0lAK1nG

    Thank you

    Still the same error
    Code:
    package me.C0lA_K1nG.SimplyCommands;
     
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class SimplyCommands extends JavaPlugin {
       
        @Override
        public void onEnable(){
                getLogger().info("SimplyCommands Has Now Been Enabled");
        }
       
        @Override
        public void onDisable(){
                getLogger().info("SimplyCommands Has Now Been Disabled");
        }
       
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
            Player player = null;
            if (sender instanceof Player) {
                player = (Player) sender;
            }
       
            if (cmd.getName().equalsIgnoreCase("Test")){ // If the player typed /basic then do the following...
                // do something...
                return true;
            } else if (cmd.getName().equalsIgnoreCase("Test")) {
                if (player == null) {
                    sender.sendMessage("[Server]: Test");
                } else {
                    // do something else...
                }
                return true;}
            return false;
                }
           
            public boolean onCommand1(CommandSender sender, Command cmd, String label, String[] args) {
                Player player = null;
                if (sender instanceof Player) {
                    player = (Player) sender;
                }
           
                if (cmd.getName().equalsIgnoreCase("Version")){ // If the player typed /basic then do the following...
                    // do something...
                    return true;
                } else if (cmd.getName().equalsIgnoreCase("Version")) {
                    if (player == null) {
                        sender.sendMessage("[Server]: SimplyCommands [1.0] Alpha ~C0lA_K1nG");
                    } else {
                        // do something else...
                    }
                    return true;
            }
            return false;
            }
     
    }
    
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 27, 2016
  4. Offline

    Anwarrex

    Put @EventHandler above onCommand
     
  5. Offline

    mbaxter ʇıʞʞnq ɐ sɐɥ ı

    Please don't give wrong advice.

    Your problem is you haven't defined the correct location of your main class in your plugin.yml

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 27, 2016
  6. Offline

    Anwarrex

    mbaxter
    What? Why are you so negative about it? Try by yourself and help him, it works for me.
     
  7. Offline

    mbaxter ʇıʞʞnq ɐ sɐɥ ı

    Putting @EventHandler above onCommand accomplishes nothing. It's not an event.
     
  8. Offline

    davejavu

    C0lAK1nG you defined your main class wrong in your plugin.yml, you need to put this:
    me.C0LA_K1nG.SimplyCommands.SimplyCommands
     
  9. Offline

    C0lAK1nG

    Same thing heres the code
    Code:
    package me.C0lA_K1nG.SimplyCommands;
     
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class SimplyCommands extends JavaPlugin {
     
        @Override
        public void onEnable(){
                getLogger().info("SimplyCommands Has Now Been Enabled");
        }
     
        @Override
        public void onDisable(){
                getLogger().info("SimplyCommands Has Now Been Disabled");
        }
        @EventHandler
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
            Player player = null;
            if (sender instanceof Player) {
                player = (Player) sender;
            }
     
            if (cmd.getName().equalsIgnoreCase("Test")){ // If the player typed /basic then do the following...
                // do something...
                return true;
            } else if (cmd.getName().equalsIgnoreCase("Test")) {
                if (player == null) {
                    sender.sendMessage("[Server]: Test");
                } else {
                    // do something else...
                }
                return true;}
            return false;
                }
     
    }
    
    plugin.yml
    name: SimplyCommands
    main: me.C0LA_K1nG.SimplyCommands.SimplyCommands
    version: 1.0
    commands:
    Test:
    description: Test for any lagg in the server
    usage: /<command> [player]
    permission: sc.test
    permission-message: Sorry you dont have [sc.test]
    Version:
    description: What version is SimplyCommands
    usage: /<command> [player]
    permission: sc.version
    permission-message: Sorry you dont have [sc.version]
     
  10. Offline

    Anwarrex

    mbaxter
    Just tell me that the code I specified is wrong.

    EDIT: Colaking, if you changed your .yml file and everything try replacing this:
    Code:
    if(sender instanceof Player)
            {
                player = (Player) sender;
            }
    with that:
    Code:
    if((sender instanceof Player))
            {
                player = (Player) sender;
            }
     
  11. Offline

    C0lAK1nG

    thank you all i fixed it
     
  12. Offline

    davejavu

    Anwarrex That would make no difference whatsoever, it returns a boolean either way.
     
  13. Offline

    Anwarrex

    davejavu
    Okay now, chill, he fixed it.
     
  14. Offline

    davejavu

    Anwarrex I'm pretty chilled as it is :p
     
  15. Offline

    C0lAK1nG

    Okay i got a bit done but now im getting Void methords cannot return a value [Line 34]

    Code:
    Code:
    package me.C0lA_K1nG.SimpleCommands;
     
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class SimpleCommands extends JavaPlugin{
     
        @Override
        public void onEnable(){
                getLogger().info("SimpleCommands Has Now Been Enabled!");
        }
        @Override
        public void onDisable(){
                getLogger().info("SimpleCommands Has Now Been Disabled!");
     
        }
     
        public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
            Player player = (Player) sender;
            if(commandLabel.equalsIgnoreCase("Test")){
                player.sendMessage(ChatColor.GOLD + "[Server]: Test");
            }
            return false;
            }{
     
            String commandLabel;
            if(commandLabel.equalsIgnoreCase("Fly")){
                CommandSender player;
                player.sendMessage(ChatColor.GOLD + "[Server]: You can now fly Up Up Away!");
            }
            return true;
            }
        }
     
    
    Console:
    21:15:10 [SEVERE] Could not load 'plugins\SimpleCommands.jar' in folder 'plugins
    '
    org.bukkit.plugin.InvalidPluginException: java.lang.Error: Unresolved compilatio
    n problem:
    Void methods cannot return a value

    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:149)
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    java:305)
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    .java:230)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:220)
    at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:196)
    at net.minecraft.server.ServerConfigurationManagerAbstract.<init>(Server
    ConfigurationManagerAbstract.java:50)
    at net.minecraft.server.ServerConfigurationManager.<init>(SourceFile:11)

    at net.minecraft.server.DedicatedServer.init(DedicatedServer.java:105)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:378)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
    Caused by: java.lang.Error: Unresolved compilation problem:
    Void methods cannot return a value

    at me.C0lA_K1nG.SimpleCommands.SimpleCommands.<init>(SimpleCommands.java
    :34)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
    rce)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:145)
    ... 9 more
     
Thread Status:
Not open for further replies.

Share This Page