Chest did not delete correctly, keeps throwing exception Player must not be a null.
Theridgeback opened this issue ยท 8 comments
Created a linked chest to move stuff from one location to another, filed it with items
Created a 2nd & 3rd linked chest, again all ok.
broke the first chest,
The chest disappeared, the sign disappeared, but the item that was on the sign has stayed.
Recreated the chest and link.
Emptied the chest, but the item still stays and now appears to be permanent in the game.
Also it keep throwing up an exception.
Not sure if this will help.
Still throws on reboot of server same details
Spigot 1.18.1 Apple Mac. 16G allocated to server.
[08:28:24 WARN]: [ChestsPlusPlus] Task #20 for ChestsPlusPlus v2.5.1-Release generated an exception
java.lang.IllegalArgumentException: player must not be null
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145) ~[guava-31.0.1-jre.jar:?]
at org.bukkit.craftbukkit.v1_18_R1.CraftServer.craftItem(CraftServer.java:1346) ~[spigot-1.18.1-R0.1-SNAPSHOT.jar:3396-Spigot-f4ff00f-f3828bb]
at org.bukkit.Bukkit.craftItem(Bukkit.java:890) ~[spigot-api-1.18.1-R0.1-SNAPSHOT.jar:?]
at com.jamesdpeters.minecraft.chests.latest.Crafting.craft(Crafting.java:15) ~[?:?]
at com.jamesdpeters.minecraft.chests.crafting.Crafting.craft(Crafting.java:40) ~[?:?]
at com.jamesdpeters.minecraft.chests.interfaces.VirtualCraftingHolder.craftItem(VirtualCraftingHolder.java:413) ~[?:?]
at com.jamesdpeters.minecraft.chests.interfaces.VirtualCraftingHolder.craftItem(VirtualCraftingHolder.java:263) ~[?:?]
at com.jamesdpeters.minecraft.chests.interfaces.VirtualCraftingHolder$CraftItems.run(VirtualCraftingHolder.java:226) ~[?:?]
at org.bukkit.craftbukkit.v1_18_R1.scheduler.CraftTask.run(CraftTask.java:82) ~[spigot-1.18.1-R0.1-SNAPSHOT.jar:3396-Spigot-f4ff00f-f3828bb]
at org.bukkit.craftbukkit.v1_18_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:415) ~[spigot-1.18.1-R0.1-SNAPSHOT.jar:3396-Spigot-f4ff00f-f3828bb]
at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1255) ~[spigot-1.18.1-R0.1-SNAPSHOT.jar:3396-Spigot-f4ff00f-f3828bb]
at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:428) ~[spigot-1.18.1-R0.1-SNAPSHOT.jar:3396-Spigot-f4ff00f-f3828bb]
at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1206) ~[spigot-1.18.1-R0.1-SNAPSHOT.jar:3396-Spigot-f4ff00f-f3828bb]
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1034) ~[spigot-1.18.1-R0.1-SNAPSHOT.jar:3396-Spigot-f4ff00f-f3828bb]
at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:304) ~[spigot-1.18.1-R0.1-SNAPSHOT.jar:3396-Spigot-f4ff00f-f3828bb]
at java.lang.Thread.run(Thread.java:833) [?:?]
I might try a total reboot and see if its a memory allocation issue.
I have had a quick look at the storage.yml file and cant see anything with the chest data
Hi James.
Latest Beta installed and tested.
Appears to be working correctly.
Had a chest full of iron, logged on and was working correctly.
Disconnected, No exceptions being thrown.
All seems to be working.
Nice work
Mac.
Full reboot of Apple mac,
Still throwing Exceptions one a second.
All plugins removed and restarted.
Still the same.
Everything including setup folder removed, aka fresh install of plugin.
Sucess.
No exception....
Restoring the world and trying the last thing added.
Now the issue might be the auto craft as that was the last thing i added.
Yup deleted the autocraft item and it stopped throwing the exception,
But it left an image of the iron block....
Just an update, deleted the autocraft item in the game and checked the storage.yml file, and it was deleted correctly and shows no entries.
Recreated the autocraft and it throws the exception straight away.
This time with a different nodes must be presented.
here's a list from the storage followed by the exception.
My Minecraft id has been removed, but corresponds with all occurrences within the file.
MyMinecraftid :
IBM:
==: AutoCraftingStorage
locationInfo:
- ==: LocationInfo
Location:
==: org.bukkit.Location
world: TheBoys1.18
x: -2944.0
y: 58.0
z: -2953.0
pitch: 0.0
yaw: 0.0
playerUUID: MyMinecraftid
members: null
isPublic: false
recipe:
==: C++Recipe
namespace: minecraft
key: iron_block
identifier: IBM
Exception this time.
[11:37:13 INFO]: [GriefPrevention] (MyMinecraftname) placed a sign @ TheBoys1.18: x-2944, z-2954;[AutoCraft];[IBM]
[11:37:13 WARN]: [ChestsPlusPlus] Plugin ChestsPlusPlus v2.5.1-Release generated an exception while executing task 987
java.lang.NullPointerException: Nodes must be provided.
at org.yaml.snakeyaml.nodes.NodeTuple.(NodeTuple.java:28) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.representer.BaseRepresenter.representMapping(BaseRepresenter.java:164) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.representer.SafeRepresenter$RepresentMap.representData(SafeRepresenter.java:321) ~[snakeyaml-1.30.jar:?]
at org.bukkit.configuration.file.YamlRepresenter$RepresentConfigurationSerializable.representData(YamlRepresenter.java:30) ~[spigot-api-1.18.1-R0.1-SNAPSHOT.jar:?]
at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:95) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.representer.BaseRepresenter.representSequence(BaseRepresenter.java:134) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.representer.SafeRepresenter$RepresentArray.representData(SafeRepresenter.java:219) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:95) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.representer.BaseRepresenter.representMapping(BaseRepresenter.java:157) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.representer.SafeRepresenter$RepresentMap.representData(SafeRepresenter.java:321) ~[snakeyaml-1.30.jar:?]
at org.bukkit.configuration.file.YamlRepresenter$RepresentConfigurationSerializable.representData(YamlRepresenter.java:30) ~[spigot-api-1.18.1-R0.1-SNAPSHOT.jar:?]
at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:95) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.representer.BaseRepresenter.representMapping(BaseRepresenter.java:157) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.representer.SafeRepresenter$RepresentMap.representData(SafeRepresenter.java:321) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:95) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.representer.BaseRepresenter.representMapping(BaseRepresenter.java:157) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.representer.SafeRepresenter$RepresentMap.representData(SafeRepresenter.java:321) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:95) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.representer.BaseRepresenter.representMapping(BaseRepresenter.java:157) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.representer.SafeRepresenter$RepresentMap.representData(SafeRepresenter.java:321) ~[snakeyaml-1.30.jar:?]
at org.bukkit.configuration.file.YamlRepresenter$RepresentConfigurationSerializable.representData(YamlRepresenter.java:30) ~[spigot-api-1.18.1-R0.1-SNAPSHOT.jar:?]
at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepresenter.java:95) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.representer.BaseRepresenter.represent(BaseRepresenter.java:65) ~[snakeyaml-1.30.jar:?]
at org.bukkit.configuration.file.YamlConfiguration.toNodeTree(YamlConfiguration.java:187) ~[spigot-api-1.18.1-R0.1-SNAPSHOT.jar:?]
at org.bukkit.configuration.file.YamlConfiguration.saveToString(YamlConfiguration.java:77) ~[spigot-api-1.18.1-R0.1-SNAPSHOT.jar:?]
at org.bukkit.configuration.file.FileConfiguration.save(FileConfiguration.java:65) ~[spigot-api-1.18.1-R0.1-SNAPSHOT.jar:?]
at com.jamesdpeters.minecraft.chests.serialize.Config.save(Config.java:67) ~[?:?]
at org.bukkit.craftbukkit.v1_18_R1.scheduler.CraftTask.run(CraftTask.java:82) ~[spigot-1.18.1-R0.1-SNAPSHOT.jar:3396-Spigot-f4ff00f-f3828bb]
at org.bukkit.craftbukkit.v1_18_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) [spigot-1.18.1-R0.1-SNAPSHOT.jar:3396-Spigot-f4ff00f-f3828bb]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.lang.Thread.run(Thread.java:833) [?:?]
hope these logs can help.
Just installed the Beta.
It appears to be working correctly now, no Exceptions,
Also the issue of the phantom remaining block has also disappeared,
Ok, sussed the player must not be null Exception.
I have an iron farm in a permanently loaded chunk this feeds into a Linked chest, this is fine.
I have a second linked chest, in a different permanently loaded chunk.
Under that chest I have a hopper and an auto crafting table making Iron blocks.
This also works and crafts the blocks as and when the iron is deposited when i am online.
However as soon as i log off and the chest loads up with Iron, the crafting throws the exception and doesn't craft,
the Iron just stores in the chest which is fine.
Hope this helps.
@Theridgeback can you try the new beta and see if this solves your problem?
https://github.com/JamesPeters98/ChestsPlusPlus/releases/tag/v2.5.2-Beta-4