PerWorldInventory
PerWorldInventory copied to clipboard
Random error appearing during play
07.12 20:27:56 [Server] WARN Task #440 for PerWorldInventory v1.9.0 generated an exception 07.12 20:27:56 [Server] INFO java.lang.NullPointerException 07.12 20:27:56 [Server] INFO at me.gnat008.perworldinventory.data.players.PWIPlayerManager.lambda$scheduleRepeatingTask$0(PWIPlayerManager.java:333) ~[?:?] 07.12 20:27:56 [Server] INFO at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftTask.run(CraftTask.java:71) ~[custom8.jar:git-Spigot-de459a2-51263e9] 07.12 20:27:56 [Server] INFO at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:353) [custom8.jar:git-Spigot-de459a2-51263e9] 07.12 20:27:56 [Server] INFO at net.minecraft.server.v1_10_R1.MinecraftServer.D(MinecraftServer.java:723) [custom8.jar:git-Spigot-de459a2-51263e9] 07.12 20:27:56 [Server] INFO at net.minecraft.server.v1_10_R1.DedicatedServer.D(DedicatedServer.java:400) [custom8.jar:git-Spigot-de459a2-51263e9] 07.12 20:27:56 [Server] INFO at net.minecraft.server.v1_10_R1.MinecraftServer.C(MinecraftServer.java:668) [custom8.jar:git-Spigot-de459a2-51263e9] 07.12 20:27:56 [Server] INFO at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.java:567) [custom8.jar:git-Spigot-de459a2-51263e9] 07.12 20:27:56 [Server] INFO at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]
Hi - I have no clue where this error comes from, or any triggers, but it also corresponds with some players complaining about losing items.
Could you please show me your worlds.yml file?
Managed to reproduce.
Steps to reproduce: Have a group with a dot in its name. Have a world in said group with a dot in its name. When it tries to save your cache for the world/group with dots, ~~it crashes~~ throws an exception.
My world.yml
# Follow this format:
# groups:
# default:
# worlds:
# - world
# - world_nether
# - world_the_end
# default-gamemode: SURVIVAL
# creative:
# worlds:
# - creative
# default-gamemode: CREATIVE
#
# 'default' and 'creative' are the names of the groups
# worlds: is a list of all worlds in the group
# If you have 'manage-gamemodes' set to true in the main config, the server
# will use the 'default-gamemode' here to know what gamemode to put users in.
groups:
survival:
worlds:
- world
- world_nether
- world_the_end
default-gamemode: SURVIVAL
default-world: world
enforce-last-world-in-group:
- COMMAND
- PLUGIN
- UNKNOWN
enforce-last-pos-within-group:
- COMMAND
- PLUGIN
- UNKNOWN
enforce-last-pos-to-group:
- COMMAND
- PLUGIN
- UNKNOWN
creative.test:
worlds:
- world.creative
default-gamemode: CREATIVE
default-world: world_creative
enforce-last-world-in-group:
- COMMAND
- PLUGIN
- UNKNOWN
enforce-last-pos-within-group:
- COMMAND
- PLUGIN
- UNKNOWN
enforce-last-pos-to-group:
- COMMAND
- PLUGIN
- UNKNOWN
(I tried this on my own build, so I have the teleport-location-thingie configs in there. But I do believe those are irrelevant for the bug in question)
Having a dot in any name will break YAML since that does special things.
I gathered as much, I got weird results for groups and whatnot when I tried to reproduce this by adding dots to various places. (gathered that the only way to get a null-pointer at that line of code was to have the split-on-dot method to split at the wrong place, giving a group that doesn't exist]
@shenzisu Still waiting for your worlds.yml file. :)