NullPointerExeption

Discussion in 'Plugin Development' started by MrGermanrain, Dec 21, 2013.

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

    MrGermanrain

    I get a:
    at me.mrgermanrain.main.Main.onEnable(Main.java:17)

    Code:java
    1. public void onEnable(){ //16
    2. this.getCommand("ctf").setExecutor(new Command_YT()); //17
    3. this.getCommand("infamyctf").setExecutor(new Command_YT()); //18
    4. System.out.println(this.getDescription().getName() + "has been successfully activated "+ this.getDescription().getVersion()); //19
    5. }
     
  2. Offline

    xTigerRebornx

    Can we see the full Main class, a stacktrace, and the Command_YT class?
     
  3. Offline

    MrGermanrain

    xTigerRebornx

    Command_YT:

    Code:java
    1. package Commands;
    2.  
    3. import java.io.IOException;
    4.  
    5.  
    6. import org.bukkit.command.Command;
    7. import org.bukkit.command.CommandExecutor;
    8. import org.bukkit.command.CommandSender;
    9. import org.bukkit.command.ConsoleCommandSender;
    10. import org.bukkit.configuration.InvalidConfigurationException;
    11. import org.bukkit.entity.Player;
    12.  
    13. public class Command_YT implements CommandExecutor {
    14.  
    15. @Override
    16. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    17.  
    18. if(sender instanceof ConsoleCommandSender){
    19. System.out.println("This command is only for players");
    20. return true;
    21. }
    22. Player p = (Player) sender;
    23.  
    24. if(args.length == 0){
    25. if(p.hasPermission("ctf.admin")){
    26. Funktionen.sendAdminMenu(p);
    27. }else{
    28. Funktionen.sendMenu(p);
    29. }
    30.  
    31. }else if(args.length == 1){
    32. if(args[0].equalsIgnoreCase("leave")){
    33. Funktionen.leaveArena(p);
    34. }else{
    35. Funktionen.sendMenu(p);
    36. }
    37. }else if(args.length == 2){
    38.  
    39. if(args[0].equalsIgnoreCase("create")){
    40. Funktionen.checkPermission(p);
    41. String ArenaName = args[1];
    42. try {
    43. Funktionen.createArena(p, ArenaName);
    44. } catch (IOException e) {
    45. e.printStackTrace();
    46. }
    47. }else if(args[0].equalsIgnoreCase("delete")){
    48. Funktionen.checkPermission(p);
    49. Funktionen.delArena(p, args[1]);
    50. }else if(args[0].equalsIgnoreCase("join")){
    51. try {
    52. Funktionen.joinArena(p, args[1]);
    53. } catch (IOException| InvalidConfigurationException e) {
    54. e.printStackTrace();
    55. }
    56. }
    57. }
    58. return true;
    59. }
    60. }
    61.  


    Main:
    Code:java
    1. package me.razorblur.main;
    2.  
    3. import java.util.ArrayList;
    4.  
    5. import org.bukkit.configuration.file.FileConfiguration;
    6. import org.bukkit.plugin.java.JavaPlugin;
    7.  
    8. import Commands.Command_YT;
    9.  
    10. public class Main extends JavaPlugin {
    11.  
    12. public static String pluginName = "§4[InfamyCTF]§b";
    13. public static ArrayList<String> inGamePlayers = new ArrayList<>();
    14. public static int PlayerAmount = 0;
    15.  
    16. public void onEnable(){
    17. this.getCommand("ctf").setExecutor(new Command_YT());
    18. this.getCommand("infamyctf").setExecutor(new Command_YT());
    19. System.out.println(this.getDescription().getName() + "has been successfully activated "+ this.getDescription().getVersion());
    20. }
    21.  
    22. public void onDisable(){
    23. System.out.println(this.getDescription().getName() + "has successfully deactivated "+ this.getDescription().getVersion());
    24. }
    25.  
    26.  
    27. public void loadConfig(){
    28. FileConfiguration cfg = this.getConfig();
    29. cfg.options().copyDefaults(true);
    30.  
    31. }
    32. }
    33.  
     
  4. Offline

    xTigerRebornx

    Code:
    this.getCommand("ctf").setExecutor(new Command_YT())
    Instead of this, try:
    Code:
    getCommand("ctf").setExecutor(new Command_YT())
    And can you provide a full stacktrace?
     
  5. Offline

    MrGermanrain

    Same error xTigerRebornx
     
  6. Offline

    xTigerRebornx

  7. Offline

    MrGermanrain

    same error
     
  8. Offline

    xTigerRebornx

    MrGermanrain I need a FULL stack trace, not just that tiny 1 line error
     
  9. Offline

    xTrollxDudex

  10. Offline

    xTigerRebornx

    xTrollxDudex I think you might find it hard to solve an error when he doesn't say what it is.... XD
     
  11. Offline

    xTrollxDudex

    xTigerRebornx
    You can kinda see:
    Errors like that aren't usually gonna happen, based off deduction, you can have a pretty good idea that this is going on:
    As you can see, it says:
    This is what I believe is happening.
     
  12. Offline

    xTigerRebornx

    xTrollxDudex Eh, its 12AM (really late) here, not in the mood for deep thinking XD
    His plugin.yml would be nice too see
     
  13. Offline

    MrGermanrain

    xTigerRebornx
    xTrollxDudex

    Plugin.yml
    Code:java
    1. name: InfamyCTF
    2. version: 1.0.0
    3. author: MrGermanrain
    4. main: me.razorblur.main.Main
    5.  
    6. commands:
    7. ctf:
    8. description: YouTube MiniGame
    9. usage: /<command>
    10. infamyctf:
    11. description: YouTube MiniGame
    12. usage: /<command>
     
  14. Offline

    xTigerRebornx

  15. Offline

    MrGermanrain

    Code:
    [08:24:51] [Server thread/INFO]: [InfamyCTF] Enabling InfamyCTF v1.0.0
    [08:24:51] [Server thread/ERROR]: Error occurred while enabling InfamyCTF v1.0.0 (Is it up to date?)
    java.lang.NullPointerException
        at me.razorblur.main.Main.onEnable(Main.java:17) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:218) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:384) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
        at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugin(CraftServer.java:298) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
        at org.bukkit.craftbukkit.v1_7_R1.CraftServer.enablePlugins(CraftServer.java:280) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
        at org.bukkit.craftbukkit.v1_7_R1.CraftServer.reload(CraftServer.java:630) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
        at org.bukkit.Bukkit.reload(Bukkit.java:279) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:196) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
        at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:542) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
        at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchServerCommand(CraftServer.java:529) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
        at net.minecraft.server.v1_7_R1.DedicatedServer.aw(DedicatedServer.java:286) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
        at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:251) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
        at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
        at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    [08:24:51] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it
    [08:24:51] [Server thread/INFO]: CONSOLE: Reload complete.
    xTigerRebornx
     
  16. Offline

    xTigerRebornx

    MrGermanrain I am not sure what the problem might be, but instead of using system.out.printLn, use Bukkits logger.
     
  17. Offline

    MrGermanrain

    I have tried that.
     
  18. Offline

    NathanWolf

    I would try getting rid of all the getDescription calls. If that fixes it, then I'm guessing the problem is in your plugin.yml file somewhere.

    EDIT: or maybe not, if line 17 in your code matches up to what you pasted... Then I'm at a loss.
     
  19. Offline

    ShadowLAX

    MrGermanrain I have had that error before, it is usually caused by improper formatting of the plugin.yml. Make sure you use spaces instead of tabs, and that you don't have any extra spaces, as I can't see anything particularly wrong with it.
     
  20. Offline

    xTrollxDudex

    MrGermanrain
    Wait, you didn't even check if cmd.getName().equalsIgnoreCase("ctf") in your CommandExecutor....

    And also, there are 3 senders of commands: CONSOLE, PLAYER, and COMMAND_BLOCK. Just do
    PHP:
    if(!(sender instanceof Player))
    And escape the method with return.
     
  21. Offline

    ShadowLAX

Thread Status:
Not open for further replies.

Share This Page