Solved Get NullPointerExeption, why ?

Discussion in 'Plugin Development' started by QuecksilberHD, Oct 28, 2013.

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

    QuecksilberHD

    Here is my cmdbox :
    Code:java
    1. 21:18:12 [INFO] Starting minecraft server version 1.6.4
    2. 21:18:12 [INFO] Loading properties
    3. 21:18:12 [INFO] Default game type: SURVIVAL
    4. 21:18:12 [INFO] Generating keypair
    5. 21:18:12 [INFO] Starting Minecraft server on *:25565
    6. 21:18:13 [INFO] This server is running CraftBukkit version git-Bukkit-1.6.2-R1.0
    7. -3-g9532cb6-b2889jnks (MC: 1.6.4) (Implementing API version 1.6.4-R0.1-SNAPSHOT)
    8.  
    9. 21:18:13 [INFO] [X] Loading X v1.0
    10. 21:18:13 [INFO] Preparing level "world"
    11. 21:18:13 [INFO] Preparing start region for level 0 (Seed: -4658890342604053139)
    12. 21:18:13 [WARNING] ----- Bukkit Auto Updater -----
    13. 21:18:13 [WARNING] Your version of CraftBukkit is out of date. Version 1.6.4-R1.
    14. 0 (build #2912) was released on Thu Oct 24 05:06:12 CEST 2013.
    15. 21:18:13 [WARNING] Details: /downloads/craftbukkit/view/02381_1.6.4-R1.0/
    16. 21:18:13 [WARNING] Download: /downloads/craftbukkit/get/02381_1.6.4-R1.0/craftbu
    17. kkit.jar
    18. 21:18:13 [WARNING] ----- ------------------- -----
    19. 21:18:14 [INFO] Preparing spawn area: 60%
    20. 21:18:14 [INFO] Preparing start region for level 1 (Seed: -4658890342604053139)
    21. 21:18:15 [INFO] Preparing start region for level 2 (Seed: -4658890342604053139)
    22. 21:18:16 [INFO] [X] Enabling X v1.0
    23. 21:18:16 [SEVERE] Error occurred while enabling X v1.0 (Is it up
    24. to date?)
    25. at me.QuecksilberHD.X.Main.onEnable(Main.java:36)
    26. at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217)
    27. at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    28. .java:457)
    29. at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    30. r.java:381)
    31. at org.bukkit.craftbukkit.v1_6_R3.CraftServer.loadPlugin(CraftServer.jav
    32. a:282)
    33. at org.bukkit.craftbukkit.v1_6_R3.CraftServer.enablePlugins(CraftServer.
    34. java:264)
    35. at net.minecraft.server.v1_6_R3.MinecraftServer.l(MinecraftServer.java:3
    36. 15)
    37. at net.minecraft.server.v1_6_R3.MinecraftServer.f(MinecraftServer.java:2
    38. 92)
    39. at net.minecraft.server.v1_6_R3.MinecraftServer.a(MinecraftServer.java:2
    40. 52)
    41. at net.minecraft.server.v1_6_R3.DedicatedServer.init(DedicatedServer.jav
    42. a:152)
    43. at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java
    44. :393)
    45. at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:5
    46. 83)
    47. 21:18:16 [INFO] Server permissions file permissions.yml is empty, ignoring it
    48. 21:18:16 [INFO] Done (3,008s)! For help, type "help" or "?"
    49. >


    and here is my main :

    Code:
    package me.QuecksilberHD.X;
     
    import java.util.ArrayList;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
     
        public class Main extends JavaPlugin {
           
            public ArrayList<String> choosers = new ArrayList<String>();
            public PlayerBlockLeftClickEvent pbl;
            public BlockrespawnEvent bre;
            public Target tar;
            public SignShop sso;
            public CommandExecutre cex;
            public Promotion pro;
            public WithoutLaggs wla;
           
           
            @Override
            public void onEnable() {
     
                pbl = new PlayerBlockLeftClickEvent(this);
                bre = new BlockrespawnEvent(this);
                tar = new Target(this);
                sso = new SignShop(this);
                cex = new CommandExecutre(this);
                pro = new Promotion(this);
                wla = new WithoutLaggs(this);
     
                getCommand("dia").setExecutor(cex);
     
                PluginManager pm = getServer().getPluginManager();
                pm.registerEvents(bre, this);
                pm.registerEvents(pbl, this);
                pm.registerEvents(tar, this);
               
               
                System.out.println("[X] Plugin aktiviert!");
            }
           
            @Override
            public void onDisable()
            {
            System.out.println("[X] Plugin deaktiviert!");
            }
           
            public void onReload()
            {
            System.out.println("[X] Plugin reloaded");
           
            }
        }
     
  2. Offline

    CubieX

    What is in line 36?
     
  3. Offline

    reider45

  4. Offline

    QuecksilberHD

    line 36 is
    Code:
    getCommand("dia").setExecutor(cex);
    But where is the error ?
    Bad constructor ?
    My Code :
    Code:
    public class CommandExecutre implements CommandExecutor{
        
        private Main plugin;
    
        public CommandExecutre(Main plugin) {
            this.plugin = plugin;
        }
        
        
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
             if(cmd.getName().equalsIgnoreCase("dia")){
                 if (sender instanceof Player){
                     if (sender.isOp()){
                      //My Code
                     }
                 } else {
                     System.out.println("Ein Spieler bist du nicht...");
                 }
             }
    
    }    
    
     
  5. Offline

    CraftBang

    Maybe if you didn't remove the code on //My code we could see the nullpointexception? xD
    (I guess)
     
  6. Offline

    Possible

    Looks like getCommand("dia") returns null. You should check your plugin.yml, that the command is described correctly.
     
  7. Offline

    Goblom

    in your onEnable do this...
    Code:java
    1. cex = new CommandExecutre(this);
    before this
    Code:java
    1. getCommand("dia").setExecutor(cex);
    That should stop the null pointer.
     
  8. Offline

    1Rogue

    He already is, the issue is most likely that the command that he is attempting to grab ("dia") isn't registered in his plugin.yml and therefore returns null, causing a nullpointer when he calls ".setExecutor" on it.
     
  9. Offline

    Goblom

    1Rogue :eek: didn't read his stuff far enough in

    Edit: Fixed my signature to account for times like these...
     
  10. Offline

    QuecksilberHD

    I forget write my command in the plugin.yml
    Thank you all :)
    -solved-
     
Thread Status:
Not open for further replies.

Share This Page