Solved NullPointerException

Discussion in 'Plugin Development' started by Zumpz, Feb 19, 2013.

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

    Zumpz

    I get errors on line 58
    Console:
    Show Spoiler

    09:30:51 [SEVERE] Error occurred while enabling MursteinORG v1.0 (Is it up to date?)
    java.lang.NullPointerException
    at me.MO.M:confused:nEnable(MO.java:58)
    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_R1.CraftServer.loadPlugin(CraftServer.java:282)
    at org.bukkit.craftbukkit.v1_4_R1.CraftServer.enablePlugins(CraftServer.java:264)
    at org.bukkit.craftbukkit.v1_4_R1.CraftServer.reload(CraftServer.java:596)
    at org.bukkit.Bukkit.reload(Bukkit.java:184)
    at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:186)
    at org.bukkit.craftbukkit.v1_4_R1.CraftServer.dispatchCommand(CraftServer.java:514)
    at org.bukkit.craftbukkit.v1_4_R1.CraftServer.dispatchServerCommand(CraftServer.java:506)
    at net.minecraft.server.v1_4_R1.DedicatedServer.al(DedicatedServer.java:260)
    at net.minecraft.server.v1_4_R1.DedicatedServer.r(DedicatedServer.java:225)
    at net.minecraft.server.v1_4_R1.MinecraftServer.q(MinecraftServer.java:494)
    at net.minecraft.server.v1_4_R1.MinecraftServer.run(MinecraftServer.java:427)
    at net.minecraft.server.v1_4_R1.ThreadServerApplication.run(SourceFile:849)

    MO.java:
    Show Spoiler

    Code:
    package me.MO;
     
    import java.io.File;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import org.bukkit.ChatColor;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Listener;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class MO extends JavaPlugin
      implements Listener
    {
      public static boolean MainTen = false;
      public static boolean ReloadConfig = true;
     
      public final PlayerJoinLeave PJL = new PlayerJoinLeave();
      public final PlayerChat CHAT = new PlayerChat();
      public final AdminTool AT = new AdminTool();
      public final Tele TELE = new Tele();
      public final InfinityTools IT = new InfinityTools();
      public final PowerRail PR = new PowerRail();
      public final PlaceBlock PB = new PlaceBlock();
      public final DeathPlayer DP = new DeathPlayer();
      public final BlockProtect BP = new BlockProtect(this);
      public static FileConfiguration conf;
      public static Connection tilkobling;
      public static String Mysql_HOST;
      public static String Mysql_DATA;
      public static String Mysql_PASS;
      public static String Mysql_USER;
     
    public void onEnable() {
        getLogger().info("MursteinORG STARTET!!! SUCCESS");
       
        getCommand("tid").setExecutor(new AdminTool());
     
        getCommand("who").setExecutor(new AdminTool());
        getCommand("add").setExecutor(new AdminTool());
        getCommand("kick").setExecutor(new AdminTool());
        getCommand("show").setExecutor(new AdminTool());
        getCommand("hide").setExecutor(new AdminTool());
        getCommand("adminstick").setExecutor(new AdminTool());
        getCommand("adminwatch").setExecutor(new AdminTool());
        getCommand("/ban").setExecutor(new AdminTool());
        getCommand("tips").setExecutor(new AdminTool());
        getCommand("handel").setExecutor(new AdminTool());
        getCommand("s").setExecutor(new AdminTool());
     
        getCommand("setspawn").setExecutor(new Tele());
        getCommand("spawn").setExecutor(new Tele());
       
        PluginManager pm = getServer().getPluginManager();
     
        pm.registerEvents(this.PJL, this);
        pm.registerEvents(this.CHAT, this);
        pm.registerEvents(this.AT, this);
        pm.registerEvents(this.TELE, this);
        pm.registerEvents(this.IT, this);
        pm.registerEvents(this.PB, this);
        pm.registerEvents(this.PR, this);
        pm.registerEvents(this.DP, this);
        pm.registerEvents(new BlockProtect(this), this);
     
        getServer().getPluginManager().registerEvents(this, this);
     
     
        File f = new File(getDataFolder(), "config.yml");
        if (!f.exists()) {
          getLogger().info("Making new CONFIG.YML");
          saveDefaultConfig();
          getLogger().info("CONFIG.YML has been generated!");
          getLogger().info("------------------------------------------");
          getLogger().info("- Edit config.yml to your settings      -");
          getLogger().info("------------------------------------------");
        }
        conf = getConfig();
     
        Mysql_HOST = conf.getString("MHOST");
        Mysql_USER = conf.getString("MUSER");
        Mysql_PASS = conf.getString("MPASS");
        Mysql_DATA = conf.getString("MDATA");
        getServer().getScheduler().scheduleAsyncRepeatingTask(this, new Runnable() {
          public void run() {
            try {
              MO.tilkobling = DriverManager.getConnection("jdbc:mysql://" + MO.Mysql_HOST + "/" + MO.Mysql_DATA, MO.Mysql_USER, MO.Mysql_PASS);
     
              MO.ReloadConfig = false;
            } catch (SQLException e) {
              MO.this.getLogger().info("Can not connect to MYSQL");
            }
          }
        }
        , 0L, 1200L);
     
        getServer().getScheduler().scheduleAsyncRepeatingTask(this, new Runnable() {
          public void run() {
            for (Player player : MO.this.getServer().getOnlinePlayers())
              player.setFoodLevel(20);
          }
        }
        , 0L, 10L);
     
        getServer().getScheduler().scheduleAsyncRepeatingTask(this, new Runnable() {
          public void run() {
            for (Player p : MO.this.getServer().getOnlinePlayers()) {
              String DisplayName = "";
              if ((p.hasPermission("murstein.stab")) || (p.isOp()))
                DisplayName = ChatColor.GOLD + "[Stab] " + p.getName();
              else if ((p.hasPermission("murstein.vakt")) && (!p.hasPermission("murstein.chat.STAB")))
                DisplayName = ChatColor.BLUE + "[Vakt] " + p.getName();
              else if (p.hasPermission("murstein.bygger"))
                DisplayName = ChatColor.GREEN + p.getName();
              else {
                DisplayName = ChatColor.GRAY + "[Gjest] " + p.getName();
              }
              p.setDisplayName(DisplayName);
            }
          }
        }
        , 0L, 40L);
      }
     
      public void onDisable()
      {
        getLogger().info("Awesome disable function.... Do it again!! pleaseeeee");
      }
    }


    plugin.yml:
    Show Spoiler

    main: me.MO.MO
    version: 1.0
    name: MursteinORG
    commands:
    kick:
    description: Kicker bestemt bruker
    hide:
    description: AdminTool
    show:
    description: AdminTool
    setspawn:
    description: Setter spawn
    spawn:
    description: Teleporterer til spawn
    adminstick:
    description: AdminTool
    aliases: as
    adminwatch:
    description: AdminTool
    aliases: aw
    /ban:
    description: AdminTool
    tid:
    description: Setter tid
    aliases: time
    tips:
    description: AdminTool
    handel:
    description: Sender handels melding til alle
    s:
    description: Teleporterer til hoeyste blokk.
    aliases: stuck
    who:
    description: Hvem er online

     
  2. Offline

    raGan.

    Uh, oh. Is line 58 this: pm.registerEvents(this.PJL, this); ?
     
  3. Offline

    oscen00

    This is solved...
     
  4. Offline

    raGan.

    How could i not see it... well, let's go on.
     
Thread Status:
Not open for further replies.

Share This Page