NoSuchMethodException

Discussion in 'Plugin Development' started by randomizer1234, Jul 3, 2012.

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

    randomizer1234

    Hello. I'm trying to develop a small plugin for my server.
    For now it just gives the player a item, but it does not work and I really can't figure out the problem.

    Stack trace:
    Code:
    2012-07-03 22:45:25 [SEVERE] Could not load 'plugins\ChestRandomizer.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.NoSuchMethodException: eu.th3game.chestrandomizer.ChestRandomizer.<init>()
        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.NoSuchMethodException: eu.th3game.chestrandomizer.ChestRandomizer.<init>()
        at java.lang.Class.getConstructor0(Unknown Source)
        at java.lang.Class.getConstructor(Unknown Source)
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:143)
        ... 8 more
    Sourcecode:

    ChestRandomizer.java
    Code:
    package eu.th3game.chestrandomizer;
     
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.PlayerInventory;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.java.JavaPlugin;
     
    class ChestRandomizer extends JavaPlugin {
        PluginDescriptionFile pdf;
       
        public void onEnable()
        {
            pdf = getDescription();
            getConfig().options().copyDefaults(true); // carica la configurazione, crea la conf. di default
            getLogger().info("[" + pdf.getFullName() + "] enabled.");
        }
       
        public void onDisable()
        {
            getLogger().info("[" + pdf.getFullName() + "] disabled.");
        }
       
        public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
        {
            Player playerSender = null;
           
            if (!(sender instanceof Player))
            {
                sender.sendMessage("This command can be used only by a player!");
                return true;
            }
            else
            {
                playerSender = (Player) sender;
            }
           
            if (args.length > 0)
            {
                if (args[0].equalsIgnoreCase("tool"))
                {
                    int toolId = getConfig().getInt("tool");
                    ItemStack tool = new ItemStack(toolId);
                    PlayerInventory inventory = playerSender.getInventory();
                    inventory.addItem(tool);
                }
            }
           
            return false;
        }
    }
    
    plugin.yml
    Code:
    name: eu.th3game.chestrandomizer
    main: eu.th3game.chestrandomizer.ChestRandomizer
    version: 0.0.1
     
    commands:
      cr:
          description: cr
          usage: /cr
    config.yml
    Code:
    tool: 293
    minslots: 25
    maxslots: 75
    randomitems:
    - i=5 d=0 f=20
    - i=1 f=5
     
  2. Caused by: java.lang.NoSuchMethodException: eu.th3game.chestrandomizer.ChestRandomizer.<init>()

    Maybe because your class isn't defined as "public" ? :}
     
  3. Offline

    randomizer1234

    Oh, thank you, I totally forgot it!
    I don't write a line of code from months XD
     
  4. Offline

    md_5

    Good spot :D
     
Thread Status:
Not open for further replies.

Share This Page