SergiFerry / PlayerNPC

PlayerNPC API for Spigot 1.17+
https://www.spigotmc.org/resources/playernpc.93625/
26 stars 6 forks source link

IllegalArgumentException: unknown world #15

Open Rollczi opened 2 years ago

Rollczi commented 2 years ago
[00:31:29 ERROR]: [org.bukkit.configuration.serialization.ConfigurationSerialization] Could not call method 'public static org.bukkit.Location org.bukkit.Location.deserialize(java.util.Map)' of class org.bukkit.Location for deserialization
java.lang.IllegalArgumentException: unknown world
        at org.bukkit.Location.deserialize(Location.java:1139) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
        at org.bukkit.configuration.serialization.ConfigurationSerialization.deserializeViaMethod(ConfigurationSerialization.java:85) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.configuration.serialization.ConfigurationSerialization.deserialize(ConfigurationSerialization.java:127) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.configuration.serialization.ConfigurationSerialization.deserializeObject(ConfigurationSerialization.java:207) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.configuration.file.YamlConstructor$ConstructCustomObject.construct(YamlConstructor.java:48) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
        at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:230) ~[snakeyaml-1.30.jar:?]
        at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:220) ~[snakeyaml-1.30.jar:?]
        at org.bukkit.configuration.file.YamlConstructor.construct(YamlConstructor.java:27) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.configuration.file.YamlConfiguration.fromNodeTree(YamlConfiguration.java:158) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:115) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:160) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:128) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(YamlConfiguration.java:304) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
        at dev.sergiferry.playernpc.api.NPC$Global$PersistentManager.load(NPC.java:1847) ~[PlayerNPC (3).jar:?]
        at dev.sergiferry.playernpc.api.NPCLib$PluginManager.loadPersistentNPCs(NPCLib.java:483) ~[PlayerNPC (3).jar:?]
        at dev.sergiferry.playernpc.api.NPCLib$PluginManager.onEnable(NPCLib.java:466) ~[PlayerNPC (3).jar:?]
        at dev.sergiferry.playernpc.api.NPCLib.onEnable(NPCLib.java:347) ~[PlayerNPC (3).jar:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
        at dev.sergiferry.playernpc.PlayerNPCPlugin.callPrivate(PlayerNPCPlugin.java:88) ~[PlayerNPC (3).jar:?]
        at dev.sergiferry.playernpc.PlayerNPCPlugin.enable(PlayerNPCPlugin.java:59) ~[PlayerNPC (3).jar:?]
        at dev.sergiferry.spigot.SpigotPlugin.onEnable(SpigotPlugin.java:68) ~[PlayerNPC (3).jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:536) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_19_R1.CraftServer.enablePlugin(CraftServer.java:563) ~[paper-1.19.jar:git-Paper-52]
        at org.bukkit.craftbukkit.v1_19_R1.CraftServer.enablePlugins(CraftServer.java:477) ~[paper-1.19.jar:git-Paper-52]
        at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:633) ~[paper-1.19.jar:git-Paper-52]
        at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:419) ~[paper-1.19.jar:git-Paper-52]
        at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:306) ~[paper-1.19.jar:git-Paper-52]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1121) ~[paper-1.19.jar:git-Paper-52]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:302) ~[paper-1.19.jar:git-Paper-52]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
SergiFerry commented 2 years ago

You need to see if in the data.yml of the persistent npc, the location.world, is the name of a loaded world in your server.

El vie, 22 jul 2022 a las 2:35, Norbert Dejlich @.***>) escribió:

[00:31:29 ERROR]: [org.bukkit.configuration.serialization.ConfigurationSerialization] Could not call method 'public static org.bukkit.Location org.bukkit.Location.deserialize(java.util.Map)' of class org.bukkit.Location for deserialization java.lang.IllegalArgumentException: unknown world at org.bukkit.Location.deserialize(Location.java:1139) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] at org.bukkit.configuration.serialization.ConfigurationSerialization.deserializeViaMethod(ConfigurationSerialization.java:85) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?] at org.bukkit.configuration.serialization.ConfigurationSerialization.deserialize(ConfigurationSerialization.java:127) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?] at org.bukkit.configuration.serialization.ConfigurationSerialization.deserializeObject(ConfigurationSerialization.java:207) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?] at org.bukkit.configuration.file.YamlConstructor$ConstructCustomObject.construct(YamlConstructor.java:48) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?] at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:230) ~[snakeyaml-1.30.jar:?] at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:220) ~[snakeyaml-1.30.jar:?] at org.bukkit.configuration.file.YamlConstructor.construct(YamlConstructor.java:27) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?] at org.bukkit.configuration.file.YamlConfiguration.fromNodeTree(YamlConfiguration.java:158) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?] at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:115) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?] at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:160) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?] at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:128) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?] at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(YamlConfiguration.java:304) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?] at dev.sergiferry.playernpc.api.NPC$Global$PersistentManager.load(NPC.java:1847) ~[PlayerNPC (3).jar:?] at dev.sergiferry.playernpc.api.NPCLib$PluginManager.loadPersistentNPCs(NPCLib.java:483) ~[PlayerNPC (3).jar:?] at dev.sergiferry.playernpc.api.NPCLib$PluginManager.onEnable(NPCLib.java:466) ~[PlayerNPC (3).jar:?] at dev.sergiferry.playernpc.api.NPCLib.onEnable(NPCLib.java:347) ~[PlayerNPC (3).jar:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] at dev.sergiferry.playernpc.PlayerNPCPlugin.callPrivate(PlayerNPCPlugin.java:88) ~[PlayerNPC (3).jar:?] at dev.sergiferry.playernpc.PlayerNPCPlugin.enable(PlayerNPCPlugin.java:59) ~[PlayerNPC (3).jar:?] at dev.sergiferry.spigot.SpigotPlugin.onEnable(SpigotPlugin.java:68) ~[PlayerNPC (3).jar:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:536) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_19_R1.CraftServer.enablePlugin(CraftServer.java:563) ~[paper-1.19.jar:git-Paper-52] at org.bukkit.craftbukkit.v1_19_R1.CraftServer.enablePlugins(CraftServer.java:477) ~[paper-1.19.jar:git-Paper-52] at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:633) ~[paper-1.19.jar:git-Paper-52] at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:419) ~[paper-1.19.jar:git-Paper-52] at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:306) ~[paper-1.19.jar:git-Paper-52] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1121) ~[paper-1.19.jar:git-Paper-52] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:302) ~[paper-1.19.jar:git-Paper-52] at java.lang.Thread.run(Thread.java:833) ~[?:?]



—
Reply to this email directly, view it on GitHub
<https://github.com/SergiFerry/PlayerNPC/issues/15>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AVGYYCV7DAI4HC6YXIMKHDDVVHUEHANCNFSM54JOIUSA>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
SirArkimedes commented 1 year ago

Hello, @SergiFerry! We're currently running into this issue too.

It looks like PlayerNPC loads before Multiverse which loads its worlds after it enables. So any Multiverse worlds where persistent NPCs are don't re-enable after server restart? It looks like this is also the same issue as #21.

Would adding a loads-after: world, or something to that extent, help solve this issue?

SergiFerry commented 1 year ago

On the next version, Multiverse is set to load before PlayerNPC. Thanks for reporting the bug.

El vie, 3 feb 2023 a las 3:46, Andrew Robinson @.***>) escribió:

Hello, @SergiFerry https://github.com/SergiFerry! We're currently running into this issue too.

It looks like PlayerNPC loads before Multiverse which loads its worlds after it enables. So any Multiverse worlds where persistent NPCs are don't re-enable after server restart? It looks like this is also the same issue as #21 https://github.com/SergiFerry/PlayerNPC/issues/21.

Would adding a loads-after: world, or something to that extent, help solve this issue?

— Reply to this email directly, view it on GitHub https://github.com/SergiFerry/PlayerNPC/issues/15#issuecomment-1414727739, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVGYYCX5INGM77NT5D7HGGLWVRWRTANCNFSM54JOIUSA . You are receiving this because you were mentioned.Message ID: @.***>

SergiFerry commented 1 year ago

Until I release the next version i recommend you to add - Multiverse-Core on the softdepend section on plugin.yml

El sáb, 4 feb 2023 a las 5:03, Sergi Ferré Janer @.***>) escribió:

On the next version, Multiverse is set to load before PlayerNPC. Thanks for reporting the bug.

El vie, 3 feb 2023 a las 3:46, Andrew Robinson @.***>) escribió:

Hello, @SergiFerry https://github.com/SergiFerry! We're currently running into this issue too.

It looks like PlayerNPC loads before Multiverse which loads its worlds after it enables. So any Multiverse worlds where persistent NPCs are don't re-enable after server restart? It looks like this is also the same issue as #21 https://github.com/SergiFerry/PlayerNPC/issues/21.

Would adding a loads-after: world, or something to that extent, help solve this issue?

— Reply to this email directly, view it on GitHub https://github.com/SergiFerry/PlayerNPC/issues/15#issuecomment-1414727739, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVGYYCX5INGM77NT5D7HGGLWVRWRTANCNFSM54JOIUSA . You are receiving this because you were mentioned.Message ID: @.***>

SirArkimedes commented 1 year ago

Until I release the next version i recommend you to add - Multiverse-Core on the softdepend section on plugin.yml El sáb, 4 feb 2023 a las 5:03, Sergi Ferré Janer @.>) escribió: On the next version, Multiverse is set to load before PlayerNPC. Thanks for reporting the bug. El vie, 3 feb 2023 a las 3:46, Andrew Robinson @.>) escribió: > Hello, @SergiFerry https://github.com/SergiFerry! We're currently > running into this issue too. > > It looks like PlayerNPC loads before Multiverse which loads its worlds > after it enables. So any Multiverse worlds where persistent NPCs are don't > re-enable after server restart? It looks like this is also the same issue > as #21 <#21>. > > Would adding a loads-after: world, or something to that extent, help > solve this issue? > > — > Reply to this email directly, view it on GitHub > <#15 (comment)>, > or unsubscribe > https://github.com/notifications/unsubscribe-auth/AVGYYCX5INGM77NT5D7HGGLWVRWRTANCNFSM54JOIUSA > . > You are receiving this because you were mentioned.Message ID: > @.***> >

Wait a second. Where is the plugin.yml? I don't see that in this repository. Am I missing something?

SergiFerry commented 1 year ago

just open PlayerNPC.jar with WinRAR and modify the plugin.yml file

El sáb, 4 feb 2023 a las 5:06, Andrew Robinson @.***>) escribió:

Until I release the next version i recommend you to add - Multiverse-Core on the softdepend section on plugin.yml El sáb, 4 feb 2023 a las 5:03, Sergi Ferré Janer @.

>) escribió: … <#m7660098593484739862> On the next version, Multiverse is set to load before PlayerNPC. Thanks for reporting the bug. El vie, 3 feb 2023 a las 3:46, Andrew Robinson @.>) escribió: > Hello, @SergiFerry https://github.com/SergiFerry https://github.com/SergiFerry! We're currently > running into this issue too. > > It looks like PlayerNPC loads before Multiverse which loads its worlds > after it enables. So any Multiverse worlds where persistent NPCs are don't > re-enable after server restart? It looks like this is also the same issue > as #21 https://github.com/SergiFerry/PlayerNPC/issues/21 <#21 https://github.com/SergiFerry/PlayerNPC/issues/21>. > > Would adding a loads-after: world, or something to that extent, help > solve this issue? >

— > Reply to this email directly, view it on GitHub > <#15 (comment) https://github.com/SergiFerry/PlayerNPC/issues/15#issuecomment-1414727739>, or unsubscribe > https://github.com/notifications/unsubscribe-auth/AVGYYCX5INGM77NT5D7HGGLWVRWRTANCNFSM54JOIUSA . > You are receiving this because you were mentioned.Message ID: > @.***>

Wait a second. Where is the plugin.yml? I don't see that in this repository. Am I missing something?

— Reply to this email directly, view it on GitHub https://github.com/SergiFerry/PlayerNPC/issues/15#issuecomment-1416654374, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVGYYCU57RJPCM5E2OT54X3WVXIT5ANCNFSM54JOIUSA . You are receiving this because you were mentioned.Message ID: @.***>

RedcodesDev commented 1 year ago

We could use the bukkit timings to start spawning the NPC's when all worlds are loaded. Most of the world management systems load their worlds before the bukkit timings start (usually indicated by the "Done (x seconds)! For help, type help" message). You could schedule a sync delayed task with a delay of 0 and it should run when all worlds are loaded. I am currently having the same issue and this could be a solution without needing to modify the PlayerNPC plugin.