Error when registering command

Discussion in 'Plugin Development' started by ThedbCoders, Jan 20, 2013.

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

    ThedbCoders

    So im starting on a plugin but im getting an error, Here the error & code:

    Error:
    Code:
    2013-01-20 19:24:54 [INFO] Starting minecraft server version 1.4.6
    2013-01-20 19:24:54 [INFO] Loading properties
    2013-01-20 19:24:54 [INFO] Default game type: SURVIVAL
    2013-01-20 19:24:54 [INFO] Generating keypair
    2013-01-20 19:24:55 [INFO] Starting Minecraft server on *:25565
    2013-01-20 19:24:55 [INFO] This server is running CraftBukkit version git-Bukkit-1.4.6-R0.1-b2561jnks (MC: 1.4.6) (Implementing API version 1.4.6-R0.1)
    2013-01-20 19:24:55 [INFO] [ReserveMe] Loading ReserveMe v1.0
    2013-01-20 19:24:55 [INFO] [AdvanceKick] Loading AdvanceKick v1.0
    2013-01-20 19:24:55 [INFO] Preparing level "world"
    2013-01-20 19:24:55 [INFO] ----- Bukkit Auto Updater -----
    2013-01-20 19:24:55 [INFO] It appears that you're running a Beta Build, when you've specified in bukkit.yml that you prefer to run Recommended Builds.
    2013-01-20 19:24:55 [INFO] If you would like to be kept informed about new Beta Build releases, it is recommended that you change 'preferred-channel' in your bukkit.yml to 'beta'.
    2013-01-20 19:24:55 [INFO] With that set, you will be told whenever a new version is available for download, so that you can always keep up to date and secure with the latest fixes.
    2013-01-20 19:24:55 [INFO] If you would like to disable this warning, simply set 'suggest-channels' to false in bukkit.yml.
    2013-01-20 19:24:55 [INFO] ----- ------------------- -----
    2013-01-20 19:24:55 [INFO] Preparing start region for level 0 (Seed: -8375517133147294036)
    2013-01-20 19:24:56 [INFO] Preparing spawn area: 40%
    2013-01-20 19:24:57 [INFO] [ReserveMe] Enabling ReserveMe v1.0
    2013-01-20 19:24:57 [INFO] [ReserveMe] Plugin successfully enabled.
    2013-01-20 19:24:57 [SEVERE] Error occurred while enabling ReserveMe v1.0 (Is it up to date?)
    java.lang.NullPointerException
        at me.thedbcoders.reserveme.main.onEnable(main.java:21)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381)
        at org.bukkit.craftbukkit.v1_4_6.CraftServer.loadPlugin(CraftServer.java:278)
        at org.bukkit.craftbukkit.v1_4_6.CraftServer.enablePlugins(CraftServer.java:260)
        at net.minecraft.server.v1_4_6.MinecraftServer.j(MinecraftServer.java:321)
        at net.minecraft.server.v1_4_6.MinecraftServer.e(MinecraftServer.java:300)
        at net.minecraft.server.v1_4_6.MinecraftServer.a(MinecraftServer.java:259)
        at net.minecraft.server.v1_4_6.DedicatedServer.init(DedicatedServer.java:149)
        at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:399)
        at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849)
    2013-01-20 19:24:57 [INFO] [AdvanceKick] Enabling AdvanceKick v1.0
    2013-01-20 19:24:57 [INFO] [AdvanceKick] Plugin loaded.
    2013-01-20 19:24:57 [INFO] Server permissions file permissions.yml is empty, ignoring it
    2013-01-20 19:24:57 [INFO] Done (1.835s)! For help, type "help" or "?"
    
    Main class:
    Code:
    package me.thedbcoders.reserveme;
     
    import java.util.HashSet;
    import java.util.logging.Logger;
     
    import me.thedbcoders.reserveme.commands.reserveme;
    import me.thedbcoders.reserveme.events.join;
     
    import org.bukkit.Bukkit;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class main extends JavaPlugin{
    public String prefix = "[ReserveMe] ";
    public PluginManager pm = Bukkit.getServer().getPluginManager();
    public static final Logger mclog = Logger.getLogger("Minecraft");
    public HashSet <String> reservedplayers = new HashSet <String >();
    public int reserved = 0;
    public void onEnable(){
    mclog.info(prefix + "Plugin successfully enabled.");
    this.getCommand("reserveme").setExecutor(new reserveme(this));
    registerEvents();
    }
    public void onDisable(){
    mclog.info(prefix + "Plugin successfully disabled.");
    this.reserved = 0;
    this.reservedplayers.clear();
    }
    public void registerEvents(){
    //
    //new join(this);
    }
    }
    
    Command class:
    Code:
    package me.thedbcoders.reserveme.commands;
     
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
     
    import me.thedbcoders.reserveme.main;
     
    public class reserveme implements CommandExecutor {
    public static main plugin;
    public reserveme(main instance){
    plugin = instance;
    }
    public boolean onCommand(CommandSender sender, Command cmd, String CommandLabel, String[] args){
    if(cmd.getName().equalsIgnoreCase("reserveme")){
    if(sender instanceof Player){
    if(args.length == 0){
    if(plugin.reservedplayers.contains(sender.getName())){
    sender.sendMessage(ChatColor.GREEN + "You are already reserved!");
    }else{
    plugin.reservedplayers.add(sender.getName());
    plugin.reserved++;
    sender.sendMessage(ChatColor.GREEN + "You are now reserved!");
    }
    }else{
    sender.sendMessage(ChatColor.RED + "Wrong usage, /reserveme");
    }
    }
    if(!(sender instanceof Player)){
    sender.sendMessage("This is an ingame command, Console commands comming soon!");
    }
    }
    return false;
    }
    }
    
     
  2. Offline

    HollowCube

Thread Status:
Not open for further replies.

Share This Page