drewdorris / Powder

A Spigot plugin which utilizes particles & sound effects to allow for incredibly customizable pictures and animations
Other
15 stars 3 forks source link

Log Spam from loadAllAttached in ConfigUtil #14

Closed Kas-tle closed 4 years ago

Kas-tle commented 4 years ago
>.... [13:13:45 WARN]: [Powder] Task #61 for Powder v0.2.1 generated an exception
java.lang.NullPointerException: null
at com.ruinscraft.powder.util.ConfigUtil.loadAllAttached(ConfigUtil.java:841) ~[?:?]
at com.ruinscraft.powder.PowderHandler.lambda$new$0(PowderHandler.java:56) ~[?:?]
at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:84) ~[patched_1.15.2.jar:git-Paper-105]
at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:452) ~[patched_1.15.2.jar:git-Paper-105]
at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1185) ~[patched_1.15.2.jar:git-Paper-105]
at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:430) ~[patched_1.15.2.jar:git-Paper-105]
at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1112) ~[patched_1.15.2.jar:git-Paper-105]
at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:934) ~[patched_1.15.2.jar:git-Paper-105]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]

It seems it assumes that a playerdata file has already been created on first time loading since PowderHandler triggers loadAllAttached, which relies on a player data file. I did a temp fix for myself by adding the following at 840 of ConfigUtil:

        if (playerDataFile == null) {
            PowderPlugin instance = PowderPlugin.get();
            File file = new File(instance.getDataFolder(), PLAYER_DATA_FILE);
            try {
                file.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
            playerDataFile = YamlConfiguration.loadConfiguration(file);
            instance.setPlayerDataFile(playerDataFile);
        }
drewdorris commented 4 years ago

This should be fixed; I have not tested but it is a similar solution to yours. Powder is in a pretty incomplete state at the moment. Thanks