-2

I've been working on a new plugin, and when I load it up, it gives me a "NullPointerException" error, and I can't seem to find where it could find an error. Here is the error:

[20:15:45] [Server thread/INFO]: [EntityManager] Enabling EntityManager v3.0.0.4 [20:15:45] [Server thread/INFO]: [0;31;1mEntityManager [0;32;1m3.0.0.4[0;36;1m Enabled![m [20:15:45] [Server thread/ERROR]: Error occurred while enabling EntityManager v3.0.0.4 (Is it up to date?) java.lang.NullPointerException at me.AngryCupcake274.EntityManager.EntityManager.loadConfiguration(EntityManager.java:296) ~[?:?] at me.AngryCupcake274.EntityManager.EntityManager.onEnable(EntityManager.java:63) ~[?:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:316) ~[spigot.jar:git-Spigot-1649] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [spigot.jar:git-Spigot-1649] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:417) [spigot.jar:git-Spigot-1649] at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugin(CraftServer.java:476) [spigot.jar:git-Spigot-1649] at org.bukkit.craftbukkit.v1_7_R4.CraftServer.enablePlugins(CraftServer.java:394) [spigot.jar:git-Spigot-1649] at net.minecraft.server.v1_7_R4.MinecraftServer.n(MinecraftServer.java:360) [spigot.jar:git-Spigot-1649] at net.minecraft.server.v1_7_R4.MinecraftServer.g(MinecraftServer.java:334) [spigot.jar:git-Spigot-1649] at net.minecraft.server.v1_7_R4.MinecraftServer.a(MinecraftServer.java:290) [spigot.jar:git-Spigot-1649] at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.java:210) [spigot.jar:git-Spigot-1649] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:458) [spigot.jar:git-Spigot-1649] at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1649]

package me.AngryCupcake274.EntityManager;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Server;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.*;
import org.bukkit.event.Listener;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitScheduler;

public class EntityManager extends JavaPlugin implements Listener {

RemoveEntities reme;
CommandHandler comh;
CleanEntities cent;

int loopdelay;
String oneminutemessage;
String oneminutecolor;
String threesecondsmessage;
String threesecondscolor;
String twosecondsmessage;
String twosecondscolor;
String onesecondmessage;
String onesecondcolor;
String finalmessage;
String finalcolor;

String oneMinWarn;

String threeSecWarn;

String twoSecWarn;

String oneSecWarn;

String removeInfo;

String[] worldNames;
Server server = Bukkit.getServer();
ConsoleCommandSender console = server.getConsoleSender();
PluginDescriptionFile pdf = this.getDescription();
String pdfEnable = ChatColor.RED + pdf.getName() + " " + ChatColor.GREEN
        + pdf.getVersion() + ChatColor.AQUA + " Enabled!";
String pdfDisable = ChatColor.RED + pdf.getName() + " " + ChatColor.GREEN
        + pdf.getVersion() + ChatColor.DARK_PURPLE + " Enabled!";

Player cleaner;

int counter = 0;
int totalcounter = 0;

@Override
public void onEnable() {

    console.sendMessage(pdfEnable);

    BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
    saveDefaultConfig();

    loadConfiguration();

    scheduler.scheduleSyncRepeatingTask(this, new Runnable() {
        @Override
        public void run() {
            for (int first = 0; first >= 1; first++) {
                cleanUp();
            }
        }
    }, 0L, 12000L);
}

@Override
public void onDisable() {
    console.sendMessage(pdfDisable);
}

@SuppressWarnings("deprecation")
public void cleanUp() {
    // warn
    for (Player player : Bukkit.getOnlinePlayers()) {
        player.sendMessage(oneMinWarn);
    }
    console.sendMessage(oneMinWarn);

    BukkitScheduler warn3 = Bukkit.getServer().getScheduler();
    warn3.scheduleSyncDelayedTask(this, new Runnable() {
        @Override
        public void run() {
            for (Player player : Bukkit.getOnlinePlayers()) {
                player.sendMessage(threeSecWarn);
            }
            console.sendMessage(threeSecWarn);
        }
    }, 1220L);

    BukkitScheduler warn2 = Bukkit.getServer().getScheduler();
    warn2.scheduleSyncDelayedTask(this, new Runnable() {
        @Override
        public void run() {
            for (Player player : Bukkit.getOnlinePlayers()) {
                player.sendMessage(twoSecWarn);
            }
            console.sendMessage(twoSecWarn);
        }
    }, 1240L);

    BukkitScheduler warn1 = Bukkit.getServer().getScheduler();
    warn1.scheduleSyncDelayedTask(this, new Runnable() {
        @Override
        public void run() {
            for (Player player : Bukkit.getOnlinePlayers()) {
                player.sendMessage(oneSecWarn);
            }
            console.sendMessage(oneSecWarn);
        }
    }, 1260L);

    BukkitScheduler doAction = Bukkit.getServer().getScheduler();
    doAction.scheduleSyncDelayedTask(this, new Runnable() {
        @Override
        public void run() {
            reme.removeEntities();
        }
    }, 1280L);
}

@SuppressWarnings("deprecation")
public void cleanUpCommand() {
    // warn
    for (Player player : Bukkit.getOnlinePlayers()) {
        player.sendMessage(threeSecWarn);
    }
    console.sendMessage(threeSecWarn);

    BukkitScheduler warn2c = Bukkit.getServer().getScheduler();
    warn2c.scheduleSyncDelayedTask(this, new Runnable() {
        @Override
        public void run() {
            for (Player player : Bukkit.getOnlinePlayers()) {
                player.sendMessage(twoSecWarn);
            }
            console.sendMessage(twoSecWarn);
        }
    }, 20L);

    BukkitScheduler warn1c = Bukkit.getServer().getScheduler();
    warn1c.scheduleSyncDelayedTask(this, new Runnable() {
        @Override
        public void run() {
            for (Player player : Bukkit.getOnlinePlayers()) {
                player.sendMessage(oneSecWarn);
            }
            console.sendMessage(oneSecWarn);
        }
    }, 40L);

    BukkitScheduler doAction = Bukkit.getServer().getScheduler();
    doAction.scheduleSyncDelayedTask(this, new Runnable() {
        @Override
        public void run() {

            for (Player player : Bukkit.getOnlinePlayers()) {
                player.sendMessage(removeInfo);
            }
            console.sendMessage(removeInfo);
        }
    }, 60L);
}

public void cleanUpCommand2() {
    BukkitScheduler doAction = Bukkit.getServer().getScheduler();
    doAction.scheduleSyncDelayedTask(this, new Runnable() {
        @Override
        public void run() {
            reme.removeEntities();
        }
    }, 0L);
}

public void loadConfiguration() {
    String ltime = "looptime";
    String onemmsg = "oneminute.message";
    String onemcolor = "oneminute.color";
    String threesmsg = "threeseconds.message";
    String threescolor = "threeseconds.color";
    String twosmsg = "twoseconds.message";
    String twoscolor = "twoseconds.color";
    String onesmsg = "onesecond.message";
    String onescolor = "onesecond.color";
    String fmsg = "final.message";
    String fcolor = "final.color";

    String arrowr = "arrow";
    String boatr = "boat";
    String itemr = "dropped_item";
    String eggr = "egg";
    String enderdragonr = "ender_dragon";
    String enderpearlr = "ender_pearl";
    String endersignalr = "ender_signal";
    String xporbr = "experience_orb";
    String fireballr = "fireball";
    String fireworkr = "firework";
    String fishinghookr = "fishing_hook";
    String itemframer = "item_frame";
    String leashr = "leash_hitch";
    String lightningr = "lightning";
    String minecartr = "minecart";
    String minecartchestr = "minecart_chest";
    String minecartcommandr = "minecart_command";
    String minecartfurnacer = "minecart_furnace";
    String minecarthopperr = "minecart_hopper";
    String minecartmobspawnerr = "minecart_mob_spawner";
    String minecarttntr = "minecart_tnt";
    String paintingr = "painting";
    String primedtntr = "primed_tnt";
    String sfireballr = "small_fireball";
    String snowballr = "snowball";
    String splashpotionr = "splash_potion";
    String expbottler = "exp_bottle";
    String thrownxpbottler = "thrown_exp_bottle";
    String witherskullr = "wither_skull";

    getConfig().addDefault(ltime, (10 * 60 * 20));
    getConfig().addDefault(onemmsg,
            "Ground items will be removed in 1 minute!");
    getConfig().addDefault(onemcolor, "AQUA");
    getConfig().addDefault(threesmsg,
            "Ground items will be removed in 3 seconds!");
    getConfig().addDefault(threescolor, "DARK_GREEN");
    getConfig().addDefault(twosmsg, "2 seconds!");
    getConfig().addDefault(twoscolor, "GOLD");
    getConfig().addDefault(onesmsg, "1 second!");
    getConfig().addDefault(onescolor, "RED");
    getConfig().addDefault(fmsg, "Ground items will be removed!");
    getConfig().addDefault(fcolor, "DARK_RED");

    getConfig().addDefault(arrowr, true);
    getConfig().addDefault(boatr, false);
    getConfig().addDefault(itemr, true);
    getConfig().addDefault(eggr, true);
    getConfig().addDefault(enderdragonr, false);
    getConfig().addDefault(enderpearlr, true);
    getConfig().addDefault(endersignalr, true);
    getConfig().addDefault(xporbr, true);
    getConfig().addDefault(fireballr, true);
    getConfig().addDefault(fireworkr, true);
    getConfig().addDefault(fishinghookr, false);
    getConfig().addDefault(itemframer, false);
    getConfig().addDefault(leashr, false);
    getConfig().addDefault(lightningr, true);
    getConfig().addDefault(minecartr, false);
    getConfig().addDefault(minecartchestr, false);
    getConfig().addDefault(minecartcommandr, false);
    getConfig().addDefault(minecartfurnacer, false);
    getConfig().addDefault(minecarthopperr, false);
    getConfig().addDefault(minecartmobspawnerr, false);
    getConfig().addDefault(minecarttntr, false);
    getConfig().addDefault(paintingr, false);
    getConfig().addDefault(primedtntr, true);
    getConfig().addDefault(sfireballr, true);
    getConfig().addDefault(snowballr, true);
    getConfig().addDefault(splashpotionr, true);
    getConfig().addDefault(expbottler, true);
    getConfig().addDefault(thrownxpbottler, true);
    getConfig().addDefault(witherskullr, true);

    getConfig().options().copyDefaults(true);
    saveConfig();

    loopdelay = getConfig().getInt("looptime");
    oneminutemessage = getConfig().getString("oneminute.message");
    oneminutecolor = getConfig().getString("oneminute.color");
    threesecondsmessage = getConfig().getString("threeseconds.message");
    threesecondscolor = getConfig().getString("threeseconds.color");
    twosecondsmessage = getConfig().getString("twoseconds.message");
    twosecondscolor = getConfig().getString("twoseconds.color");
    onesecondmessage = getConfig().getString("onesecond.message");
    onesecondcolor = getConfig().getString("onesecond.color");
    finalmessage = getConfig().getString("final.message");
    finalcolor = getConfig().getString("final.color");

    oneMinWarn = ChatColor.valueOf(oneminutecolor) + oneminutemessage;

    threeSecWarn = ChatColor.valueOf(threesecondscolor)
            + threesecondsmessage;

    twoSecWarn = ChatColor.valueOf(twosecondscolor) + twosecondsmessage;

    oneSecWarn = ChatColor.valueOf(onesecondcolor) + onesecondmessage;

    removeInfo = ChatColor.valueOf(finalcolor) + finalmessage;

    reme.arrow = getConfig().getBoolean("arrow");
    reme.boat = getConfig().getBoolean("boat");
    reme.droppeditem = getConfig().getBoolean("dropped_item");
    reme.egg = getConfig().getBoolean("egg");
    reme.enderpearl = getConfig().getBoolean("ender_pearl");
    reme.endersignal = getConfig().getBoolean("ender_signal");
    reme.experienceorb = getConfig().getBoolean("experience_orb");
    reme.fireball = getConfig().getBoolean("fireball");
    reme.firework = getConfig().getBoolean("firework");
    reme.fishinghook = getConfig().getBoolean("fishing_hook");
    reme.itemframe = getConfig().getBoolean("item_frame");
    reme.leashhitch = getConfig().getBoolean("leash_hitch");
    reme.lightning = getConfig().getBoolean("lightning");
    reme.minecart = getConfig().getBoolean("minecart");
    reme.minecartchest = getConfig().getBoolean("minecart_chest");
    reme.minecartcommand = getConfig().getBoolean("minecart_command");
    reme.minecartfurnace = getConfig().getBoolean("minecart_furnace");
    reme.minecarthopper = getConfig().getBoolean("minecart_hopper");
    reme.minecartmobspawner = getConfig().getBoolean("minecart_mob_spawner");
    reme.minecarttnt = getConfig().getBoolean("minecart_tnt");
    reme.painting = getConfig().getBoolean("painting");
    reme.primedtnt = getConfig().getBoolean("primed_tnt");
    reme.smallfireball = getConfig().getBoolean("small_fireball");
    reme.snowball = getConfig().getBoolean("snowball");
    reme.splashpotion = getConfig().getBoolean("splash_potion");
    reme.thrownexpbottle = getConfig().getBoolean("exp_bottle");
    reme.witherskull = getConfig().getBoolean("wither_skull");

    saveDefaultConfig();
}

public void reloadPlugin() {
    reloadConfig();

    loopdelay = getConfig().getInt("looptime");
    oneminutemessage = getConfig().getString("oneminute.message");
    oneminutecolor = getConfig().getString("oneminute.color");
    threesecondsmessage = getConfig().getString("threeseconds.message");
    threesecondscolor = getConfig().getString("threeseconds.color");
    twosecondsmessage = getConfig().getString("twoseconds.message");
    twosecondscolor = getConfig().getString("twoseconds.color");
    onesecondmessage = getConfig().getString("onesecond.message");
    onesecondcolor = getConfig().getString("onesecond.color");
    finalmessage = getConfig().getString("final.message");
    finalcolor = getConfig().getString("final.color");

    reme.arrow = getConfig().getBoolean("arrow");
    reme.boat = getConfig().getBoolean("boat");
    reme.droppeditem = getConfig().getBoolean("dropped_item");
    reme.egg = getConfig().getBoolean("egg");
    reme.enderpearl = getConfig().getBoolean("ender_pearl");
    reme.endersignal = getConfig().getBoolean("ender_signal");
    reme.experienceorb = getConfig().getBoolean("experience_orb");
    reme.fireball = getConfig().getBoolean("fireball");
    reme.firework = getConfig().getBoolean("firework");
    reme.fishinghook = getConfig().getBoolean("fishing_hook");
    reme.itemframe = getConfig().getBoolean("item_frame");
    reme.leashhitch = getConfig().getBoolean("leash_hitch");
    reme.lightning = getConfig().getBoolean("lightning");
    reme.minecart = getConfig().getBoolean("minecart");
    reme.minecartchest = getConfig().getBoolean("minecart_chest");
    reme.minecartcommand = getConfig().getBoolean("minecart_command");
    reme.minecartfurnace = getConfig().getBoolean("minecart_furnace");
    reme.minecarthopper = getConfig().getBoolean("minecart_hopper");
    reme.minecartmobspawner = getConfig().getBoolean("minecart_mob_spawner");
    reme.minecarttnt = getConfig().getBoolean("minecart_tnt");
    reme.painting = getConfig().getBoolean("painting");
    reme.primedtnt = getConfig().getBoolean("primed_tnt");
    reme.smallfireball = getConfig().getBoolean("small_fireball");
    reme.snowball = getConfig().getBoolean("snowball");
    reme.splashpotion = getConfig().getBoolean("splash_potion");
    reme.thrownexpbottle = getConfig().getBoolean("exp_bottle");
    reme.witherskull = getConfig().getBoolean("wither_skull");

    getServer().getScheduler().cancelTasks(this);
    getServer().getPluginManager().disablePlugin(this);
    getServer().getPluginManager().enablePlugin(this);
}
}
Benjamin Owen
  • 448
  • 2
  • 8
  • 26
  • Possible duplicate of [What is a Null Pointer Exception, and how do I fix it?](http://stackoverflow.com/questions/218384/what-is-a-null-pointer-exception-and-how-do-i-fix-it) – Ferrybig Jan 11 '16 at 15:06

2 Answers2

1

me.AngryCupcake274.EntityManager.EntityManager.loadConfiguration(EntityManager.java:296)

The exception is thrown at line 296 of your EntityManager.java file.

reme.arrow = getConfig().getBoolean("arrow");

At this point of time reme is still null and therefore you can't assign arrow. You should ensure that RemoveEntitites is already instantiated once you call loadConfiguration() in your onEnable() method.

Also see What is a NPE and how do I fix it?.

Community
  • 1
  • 1
timbru31
  • 341
  • 2
  • 17
0

I did it!

Instead of setting the RemoveEntities variables, I told the RemoveEntities class to find the variables in the EntityManager class.

Benjamin Owen
  • 448
  • 2
  • 8
  • 26