Hey there!
I just downloaded the latest build from Jenkins and encountered the following error on startup:
[14:17:45 WARN]: [Citizens] Task #32 for Citizens v2.0.43-SNAPSHOT (build 4208) generated an exception
java.lang.ExceptionInInitializerError
at Citizens-2.0.43-b4208.jar//net.citizensnpcs.npc.ai.CitizensNavigator.<init>(CitizensNavigator.java:84) ~[?:?]
at Citizens-2.0.43-b4208.jar//net.citizensnpcs.npc.CitizensNPC.<init>(CitizensNPC.java:71) ~[?:?]
at Citizens-2.0.43-b4208.jar//net.citizensnpcs.npc.CitizensNPCRegistry.createNPC(CitizensNPCRegistry.java:70) ~[?:?]
at Citizens-2.0.43-b4208.jar//net.citizensnpcs.api.npc.SimpleNPCDataStore.loadInto(SimpleNPCDataStore.java:77) ~[?:?]
at Citizens-2.0.43-b4208.jar//net.citizensnpcs.Citizens$CitizensLoadTask.run(Citizens.java:688) ~[?:?]
at org.bukkit.craftbukkit.scheduler.CraftTask.run(CraftTask.java:78) ~[paper-26.2.jar:26.2-24-1e3ffb9]
at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:474) ~[paper-26.2.jar:26.2-24-1e3ffb9]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1304) ~[paper-26.2.jar:26.2-24-1e3ffb9]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:302) ~[paper-26.2.jar:26.2-24-1e3ffb9]
at java.base/java.lang.Thread.run(Thread.java:1474) ~[?:?]
Caused by: java.lang.IllegalArgumentException: Provided material must be a block
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:141) ~[guava-33.6.0-jre.jar:?]
at org.bukkit.craftbukkit.CraftServer.createBlockData(CraftServer.java:2545) ~[paper-26.2.jar:26.2-24-1e3ffb9]
at org.bukkit.craftbukkit.CraftServer.createBlockData(CraftServer.java:2518) ~[paper-26.2.jar:26.2-24-1e3ffb9]
at org.bukkit.Bukkit.createBlockData(Bukkit.java:2490) ~[paper-api-26.2.build.24-alpha.jar:?]
at org.bukkit.Material.createBlockData(Material.java:2951) ~[paper-api-26.2.build.24-alpha.jar:?]
at Citizens-2.0.43-b4208.jar//net.citizensnpcs.api.astar.pathfinder.MinecraftBlockExaminer.<clinit>(MinecraftBlockExaminer.java:354) ~[?:?]
... 10 more
Looks like the plugin is trying to instantiate block-data for non-block types (i.e. items) - a simple Material#isBlock-check should fix it. Couldn't yet give it a shot, as I'm encountering build-errors locally and don't have time to fix them.
--- a/src/main/java/net/citizensnpcs/api/astar/pathfinder/MinecraftBlockExaminer.java
+++ b/src/main/java/net/citizensnpcs/api/astar/pathfinder/MinecraftBlockExaminer.java
@@ -351,6 +351,8 @@ public class MinecraftBlockExaminer implements BlockExaminer {
for (Material mat : Material.values()) {
if (mat.name().startsWith("LEGACY"))
continue;
+ if (!mat.isBlock())
+ continue;
if (mat.createBlockData() instanceof Wall || mat.createBlockData() instanceof Fence) {
NOT_JUMPABLE.add(mat);
}
Hey there!
I just downloaded the latest build from Jenkins and encountered the following error on startup:
Looks like the plugin is trying to instantiate block-data for non-block types (i.e. items) - a simple
Material#isBlock-check should fix it. Couldn't yet give it a shot, as I'm encountering build-errors locally and don't have time to fix them.