Help on my first plugin

Discussion in 'Plugin Development' started by nggmc, Jul 24, 2012.

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

    nggmc

    Hey guys!
    I am new to Java and it would be nice if I could get a little help. Alright I have created my first command "/test" the point of this command is to print the message "Your test failed. Please try again" . Yes this is just so I can learn how to set out my plugin and become familiar with Java, bukkit and various other material.
    Here is what I've made so far in my main class

    Code:
    import java.util.logging.Logger;
     
    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 Giftbox extends JavaPlugin{
    public final Logger logger = Logger.getLogger("Minecraft");
    public static Giftbox plugin;
     
    @Override
    public void onDisable() {
    this.logger.info("Giftbox has been disabled");
    }
     
    @Override
    public void onEnable() {
    this.logger.info("Giftbox has been enabled");
    }
     
    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
    Player player = (Player) sender;
    if(commandLabel.equalsIgnoreCase("test")){
    player.sendMessage(ChatColor.BLUE + "Your test has failed. Please try again");
     
    }
    return false;
     
    }
    }
    
    For some reason bukkit wouldn't add the spacing but there are no spacing errors and I am 100% sure of that because Eclipse doesn't give me any errors at all. So I am sure its the way I've set it up so heres my plugin.yml too!
    So I had a look at my server.log ....
    Code:
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java: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:213)
    at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:550)
    at org.bukkit.Bukkit.reload(Bukkit.java:182)
    at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:22)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:166)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:479)
    at org.bukkit.craftbukkit.CraftServer.dispatchServerCommand(CraftServer.java:475)
    at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:612)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:581)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
    Caused by: java.lang.ClassNotFoundException: me.pineabe.modernmc.Giftbox
    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.java:140)
    ... 13 more
    2012-07-24 20:29:11 [INFO] Server permissions file permissions.yml is empty, ignoring it
    2012-07-24 20:29:12 [INFO] Reload complete.
    2012-07-24 20:31:25 [INFO] 182 recipes
    2012-07-24 20:31:25 [SEVERE] Could not load 'plugins\Giftbox.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.ClassNotFoundException: me.pineabe.modernmc.Giftbox
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java: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:213)
    at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:550)
    at org.bukkit.Bukkit.reload(Bukkit.java:182)
    at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:22)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:166)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:479)
    at org.bukkit.craftbukkit.CraftServer.dispatchServerCommand(CraftServer.java:475)
    at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:612)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:581)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
    Caused by: java.lang.ClassNotFoundException: me.pineabe.modernmc.Giftbox
    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.java:140)
    ... 13 more
    2012-07-24 20:31:25 [INFO] Server permissions file permissions.yml is empty, ignoring it
    2012-07-24 20:31:25 [INFO] Reload complete.
    2012-07-24 20:41:56 [INFO] CONSOLE: Stopping the server..
    2012-07-24 20:41:56 [INFO] Stopping server
    2012-07-24 20:41:56 [INFO] Saving chunks
    2012-07-24 20:42:05 [INFO] Starting minecraft server version 1.2.5
    2012-07-24 20:42:05 [INFO] Loading properties
    2012-07-24 20:42:05 [INFO] Starting Minecraft server on *:25565
    2012-07-24 20:42:05 [INFO] This server is running CraftBukkit version git-Bukkit-1.2.5-R4.0-b2222jnks (MC: 1.2.5) (Implementing API version 1.2.5-R4.0)
    2012-07-24 20:42:05 [SEVERE] Could not load 'plugins\Giftbox.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.ClassNotFoundException: me.pineabe.modernmc.Giftbox
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java: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:213)
    at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:189)
    at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:53)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:166)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:432)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
    Caused by: java.lang.ClassNotFoundException: me.pineabe.modernmc.Giftbox
    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.java:140)
    ... 8 more
    As you can see its obviously something in the plugin.yml and I have typed something wrong.

    Too make the long story short... How would I create
    main: me.pineabe.modernmc.Giftbox
    The package is me.pineabe.modernmc
    The plugin name is Giftbox. What do I do? Kay Thanks
     
  2. Offline

    MuisYa

    Code:
    2012-07-24 20:42:05 [SEVERE] Could not load 'plugins\Giftbox.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.ClassNotFoundException: me.pineabe.modernmc.Giftbox
    This means that your class could not be found, make sure the class Giftbox is in the right package?
     
  3. Offline

    Arrem

    Have you included it when you exported the .jar?
     
  4. Offline

    MuisYa

    He did include it for sure, since Bukkit did find his plugin.yml
     
  5. Offline

    ZeusAllMighty11

    Set your main in your plugin yml to: me.pineabe.modernmc.Giftbox

    Assuming Giftbox has your onEnable() method
     
  6. Offline

    chaseoes

    Post your entire main class please?
     
  7. Offline

    MuisYa

    He posted his plugin.yml
    If you look at it you see that he has me.pineabe.modernmc.Giftbox set as main...
     
  8. Offline

    ZeusAllMighty11


    But he asked a question at the end of the thread.
     
  9. Offline

    nggmc

    To all of you. That is my entire class file. And I think this might help you help me :)
    [​IMG]
     
  10. When you export... are you sure you included the class file ? :) It happened in another thread as well.
    Open your jar file with an archive program (like WinRar) and see if the class is there :)
     
  11. Offline

    nggmc

    Yes I checked too :) Everything was ticked and I opened the .jar in WinRar I went to me/pineabe/modernmc/ and I found Giftbox.java it is meant be a .java extension right?
     
  12. There should be a .class file, that's the compiled version.
    The .java file is the source code which does nothing by itself, it needs to be compiled.
     
  13. Offline

    nggmc

    How do I compile the source code then?
     
  14. Offline

    raGan.

    put plugin.yml into src
     
  15. When you export, do you have the "Export generated class files and resources" checked ?
    EDIT: also, see that you have Project -> Build Automatically checked.

    Not the solution since it's obvious that the server reads the plugin.yml because it searches for the specific class written in it... otherwise it would've asked for the plugin.yml.
     
  16. Offline

    raGan.

    Yea, my bad. I just looked at the screenshot and thought it might not be included.
     
  17. Offline

    nggmc

    Oh found out it was working the whole time after I meddled with it a little bit. And there was actually a new error :3
    Code:
    [SEVERE] Could not load 'plugins\Giftbox.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: me/pineabe/modernmc/Giftbox : Unsupported major.minor version 51.0
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java: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:213)
    at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:189)
    at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:53)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:166)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:432)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
    Caused by: java.lang.UnsupportedClassVersionError: me/pineabe/modernmc/Giftbox : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    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.java:140)
    ... 8 more
    2012-07-24 21:49:45 [INFO] Preparing level "world"
    2012-07-24 21:49:45 [INFO] Default game type: 0
    2012-07-24 21:49:45 [INFO] Preparing start region for level 0 (Seed: -8709728648385508994)
    2012-07-24 21:49:46 [INFO] Preparing start region for level 1 (Seed: -8709728648385508994)
    2012-07-24 21:49:46 [INFO] Preparing spawn area: 60%
    2012-07-24 21:49:46 [INFO] Preparing start region for level 2 (Seed: -8709728648385508994)
    2012-07-24 21:49:47 [INFO] Server permissions file permissions.yml is empty, ignoring it
    2012-07-24 21:49:47 [INFO] Done (1.755s)! For help, type "help" or "?"
    2012-07-24 21:54:08 [INFO] CONSOLE: Stopping the server..
    2012-07-24 21:54:08 [INFO] Stopping server
    2012-07-24 21:54:08 [INFO] Saving chunks
    2012-07-24 22:09:37 [INFO] Starting minecraft server version 1.2.5
    2012-07-24 22:09:37 [INFO] Loading properties
    2012-07-24 22:09:37 [INFO] Starting Minecraft server on *:25565
    2012-07-24 22:09:37 [INFO] This server is running CraftBukkit version git-Bukkit-1.2.5-R4.0-b2222jnks (MC: 1.2.5) (Implementing API version 1.2.5-R4.0)
    2012-07-24 22:09:37 [SEVERE] Could not load 'plugins\Giftbox.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: me/pineabe/modernmc/Giftbox : Unsupported major.minor version 51.0
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java: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:213)
    at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:189)
    at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:53)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:166)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:432)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
    Caused by: java.lang.UnsupportedClassVersionError: me/pineabe/modernmc/Giftbox : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    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.java:140)
    ... 8 more
    2012-07-24 22:09:37 [INFO] Preparing level "world"
    2012-07-24 22:09:37 [INFO] Default game type: 0
    2012-07-24 22:09:37 [INFO] Preparing start region for level 0 (Seed: -8709728648385508994)
    2012-07-24 22:09:38 [INFO] Preparing start region for level 1 (Seed: -8709728648385508994)
    2012-07-24 22:09:38 [INFO] Preparing spawn area: 52%
    2012-07-25 09:01:00 [INFO] Starting minecraft server version 1.2.5
    2012-07-25 09:01:00 [INFO] Loading properties
    2012-07-25 09:01:00 [INFO] Starting Minecraft server on *:25565
    2012-07-25 09:01:00 [INFO] This server is running CraftBukkit version git-Bukkit-1.2.5-R4.0-b2222jnks (MC: 1.2.5) (Implementing API version 1.2.5-R4.0)
    2012-07-25 09:01:00 [SEVERE] Could not load 'plugins\Giftbox.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: me/pineabe/modernmc/Giftbox : Unsupported major.minor version 51.0
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java: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:213)
    at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:189)
    at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:53)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:166)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:432)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
    Caused by: java.lang.UnsupportedClassVersionError: me/pineabe/modernmc/Giftbox : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    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.java:140)
    ... 8 more
    
     
  18. Offline

    chaseoes

    You're compiling it with a version of Java higher than what you have (most likely Java 7, when your server is running JAva 6). Either compile it using a different version (look around the options when exporting) or upgrade your server.
     
  19. Offline

    nggmc

    Thank You soo much:3 All of you
     
Thread Status:
Not open for further replies.

Share This Page