Blackvein / Quests

Quests mod for Spigot
31 stars 35 forks source link

Quests Plugin 2.7.6 with Citizens Plugin 2.0.7 (1.4.7) #528

Closed Karlos96 closed 7 years ago

Karlos96 commented 7 years ago

Here the summary from my other issue: We are currently running a 1.4.7 Modpack Server with a 1.7.10 Bukkit API, so we can accept Plugins from the version 1.4.7 and 1.7.10. Actually this is not working with citizens, so we are running the 1.4.7 Version but it generates exceptions with the Quests Plugin if the quest is with an citizen. I hope there is a way to solve this problem because i want to use the newer version of quests instead of the very old quests plugin.

Here the Error-Code:

2017-06-15 19:53:15 [WARNING] [Quests] Task #119 for Quests v2.7.6-b${env.BUILD_NUMBER} generated an exception java.lang.NoSuchMethodError: net.citizensnpcs.api.npc.NPC.getEntity()Lorg/bukkit/entity/Entity; at me.blackvein.quests.NpcEffectThread.showEffect_R4(NpcEffectThread.java:940) at me.blackvein.quests.NpcEffectThread.showEffect(NpcEffectThread.java:69) at me.blackvein.quests.NpcEffectThread.run(NpcEffectThread.java:47) at org.bukkit.craftbukkit.v1_4_R1.scheduler.CraftTask.run(CraftTask.java:53) at org.bukkit.craftbukkit.v1_4_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:347) at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:757) at ho.r(DedicatedServer.java:309) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:715) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:602) at fy.run(ThreadMinecraftServer.java:16) 2017-06-15 19:53:16 [WARNING] [Quests] Task #119 for Quests v2.7.6-b${env.BUILD_NUMBER} generated an exception java.lang.NoSuchMethodError: net.citizensnpcs.api.npc.NPC.getEntity()Lorg/bukkit/entity/Entity; at me.blackvein.quests.NpcEffectThread.showEffect_R4(NpcEffectThread.java:940) at me.blackvein.quests.NpcEffectThread.showEffect(NpcEffectThread.java:69) at me.blackvein.quests.NpcEffectThread.run(NpcEffectThread.java:47) at org.bukkit.craftbukkit.v1_4_R1.scheduler.CraftTask.run(CraftTask.java:53) at org.bukkit.craftbukkit.v1_4_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:347) at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:757) at ho.r(DedicatedServer.java:309) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:715) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:602) at fy.run(ThreadMinecraftServer.java:16) 2017-06-15 19:53:17 [WARNING] [Quests] Task #119 for Quests v2.7.6-b${env.BUILD_NUMBER} generated an exception java.lang.NoSuchMethodError: net.citizensnpcs.api.npc.NPC.getEntity()Lorg/bukkit/entity/Entity; at me.blackvein.quests.NpcEffectThread.showEffect_R4(NpcEffectThread.java:940) at me.blackvein.quests.NpcEffectThread.showEffect(NpcEffectThread.java:69) at me.blackvein.quests.NpcEffectThread.run(NpcEffectThread.java:47) at org.bukkit.craftbukkit.v1_4_R1.scheduler.CraftTask.run(CraftTask.java:53) at org.bukkit.craftbukkit.v1_4_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:347) at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:757) at ho.r(DedicatedServer.java:309) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:715) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:602) at fy.run(ThreadMinecraftServer.java:16) 2017-06-15 19:53:18 [WARNING] [Quests] Task #119 for Quests v2.7.6-b${env.BUILD_NUMBER} generated an exception java.lang.NoSuchMethodError: net.citizensnpcs.api.npc.NPC.getEntity()Lorg/bukkit/entity/Entity; at me.blackvein.quests.NpcEffectThread.showEffect_R4(NpcEffectThread.java:940) at me.blackvein.quests.NpcEffectThread.showEffect(NpcEffectThread.java:69) at me.blackvein.quests.NpcEffectThread.run(NpcEffectThread.java:47) at org.bukkit.craftbukkit.v1_4_R1.scheduler.CraftTask.run(CraftTask.java:53) at org.bukkit.craftbukkit.v1_4_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:347) at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:757) at ho.r(DedicatedServer.java:309) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:715) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:602) at fy.run(ThreadMinecraftServer.java:16)

PikaMug commented 7 years ago

Can I ask which version of Citizens you're running? And could you confirm whether or not show-npc-effects is set to 'true' in config.yml?

Karlos96 commented 7 years ago

The version of Citizens is in the title Version 2.0.7 for the Minecraft Version 1.4.7 because Citizens does not work with the Bukkit API with the version 1.7.10. I tested it now but it seems to work if show-npc-effects is set to 'false'.

Karlos96 commented 7 years ago

Now i created a Quest with an NPC but it generates this exception: I tested the quest but it generates an exception, after i got an dc it generates a another exception.

2017-06-16 10:22:58 [SEVERE] Exception in thread "Connection #2 read thread" 2017-06-16 10:22:58 [SEVERE] java.lang.NoSuchMethodError: net.citizensnpcs.api.npc.NPC.getStoredLocation()Lorg/bukkit/Location; 2017-06-16 10:22:58 [SEVERE] at me.blackvein.quests.Quests.getNPCLocation(Quests.java:5146) 2017-06-16 10:22:58 [SEVERE] at me.blackvein.quests.Quest.updateCompass(Quest.java:187) 2017-06-16 10:22:58 [SEVERE] at me.blackvein.quests.Quester.takeQuest(Quester.java:398) 2017-06-16 10:22:58 [SEVERE] at me.blackvein.quests.Quests$QuestPrompt.acceptInput(Quests.java:497) 2017-06-16 10:22:58 [SEVERE] at org.bukkit.conversations.Conversation.acceptInput(Conversation.java:228) 2017-06-16 10:22:58 [SEVERE] at org.bukkit.craftbukkit.v1_4_R1.conversations.ConversationTracker.acceptConversationInput(ConversationTracker.java:52) 2017-06-16 10:22:58 [SEVERE] at org.bukkit.craftbukkit.v1_4_R1.entity.CraftPlayer.acceptConversationInput(CraftPlayer.java:894) 2017-06-16 10:22:58 [SEVERE] at iv.chat(NetServerHandler.java:1258) 2017-06-16 10:22:58 [SEVERE] at iv.a(NetServerHandler.java:1188) 2017-06-16 10:22:58 [SEVERE] at cu.a(Packet3Chat.java:59) 2017-06-16 10:22:58 [SEVERE] at cg.i(TcpConnection.java:348) 2017-06-16 10:22:58 [SEVERE] at cg.c(TcpConnection.java:553) 2017-06-16 10:22:58 [SEVERE] at ch.run(TcpReaderThread.java:23) 2017-06-16 10:23:59 [INFO] dafafdd lost connection: disconnect.timeout 2017-06-16 10:23:59 [WARNING] [ProtocolLib] [NetworkServerInjector] Unable to find 'disconnected' field. Assuming public boolean iv.c 2017-06-16 10:23:59 [INFO] Unloading Player: dafafdd 2017-06-16 10:25:02 [WARNING] [CraftBook] ȣWarning! You have no mechanics enabled, the plugin will appear to do nothing until a feature is enabled! 2017-06-16 10:25:31 [INFO] dafafdd[/127.0.0.1:53622] logged in with entity id 1367 at ([world] -84.31662212354573, 84.36595648282415, 298.32033950607166) with UUID: 4e229012-a315-4056-9cdc-69b0a96e915f 2017-06-16 10:25:31 [INFO] [VanishNoPacket] dafafdd disappeared. 2017-06-16 10:25:31 [SEVERE] Could not pass event PlayerJoinEvent to Quests v2.7.6-b${env.BUILD_NUMBER} org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:351) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) at gm.c(ServerConfigurationManager.java:237) at gm.a(ServerConfigurationManager.java:148) at it.completeConnection(NetLoginHandler.java:229) at cpw.mods.fml.common.network.FMLNetworkHandler.handleClientConnection(FMLNetworkHandler.java:157) at cpw.mods.fml.common.network.FMLNetworkHandler.onConnectionReceivedFromClient(FMLNetworkHandler.java:111) at it.d(NetLoginHandler.java:205) at it.c(NetLoginHandler.java:75) at hu.a(ServerListenThread.java:58) at ht.b(DedicatedServerListenThread.java:33) at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:839) at ho.r(DedicatedServer.java:309) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:715) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:602) at fy.run(ThreadMinecraftServer.java:16) Caused by: java.lang.NoSuchMethodError: net.citizensnpcs.api.npc.NPC.getStoredLocation()Lorg/bukkit/Location; at me.blackvein.quests.Quests.getNPCLocation(Quests.java:5146) at me.blackvein.quests.Quest.updateCompass(Quest.java:187) at me.blackvein.quests.Quester.checkQuest(Quester.java:3462) at me.blackvein.quests.PlayerListener.onPlayerJoin(PlayerListener.java:923) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:349) ... 17 more 2017-06-16 10:25:31 [INFO] Loading Player: dafafdd 2017-06-16 10:25:31 [INFO] Sending serverside check to: dafafdd 2017-06-16 10:25:37 [INFO] dafafdd issued an AuthMe command! 2017-06-16 10:25:37 [INFO] [AuthMe] dafafddȲ logged in! 2017-06-16 10:25:40 [SEVERE] Could not pass event NPCRightClickEvent to Quests v2.7.6-b${env.BUILD_NUMBER} org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:351) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) at net.citizensnpcs.EventListen.onPlayerInteractEntity(EventListen.java:227) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:349) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) at iv.a(NetServerHandler.java:1560) at dp.a(Packet7UseEntity.java:57) at cg.b(TcpConnection.java:467) at iv.d(NetServerHandler.java:220) at iw.b(NetworkListenThread.java:57) at ht.b(DedicatedServerListenThread.java:34) at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:839) at ho.r(DedicatedServer.java:309) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:715) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:602) at fy.run(ThreadMinecraftServer.java:16) Caused by: java.lang.NoSuchMethodError: net.citizensnpcs.api.npc.NPC.getStoredLocation()Lorg/bukkit/Location; at me.blackvein.quests.Quests.getNPCLocation(Quests.java:5146) at me.blackvein.quests.Quest.updateCompass(Quest.java:187) at me.blackvein.quests.Quester.findCompassTarget(Quester.java:3719) at me.blackvein.quests.Quest.nextStage(Quest.java:94) at me.blackvein.quests.Quester.finishObjective(Quester.java:1609) at me.blackvein.quests.Quester.interactWithNPC(Quester.java:1287) at me.blackvein.quests.NpcListener.onNPCRightClick(NpcListener.java:128) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:349) ... 23 more

PikaMug commented 7 years ago

@Karlos96 Thank you. Unfortunately, I have bad news.

This commit is the culprit - https://github.com/CitizensDev/CitizensAPI/commit/225ac8e275de0e77b571d029828f83c9a633ac0f

Quests is trying to find the getEntity() function from Citizens, which was called getBukkitEntity() up until Citizens 2.0.10-SNAPSHOT. Sadly there is no easy fix for this beyond updating to at least 2.0.10. The same goes for your new error. I understand this is not ideal for your server, but seeing as Quests does not support forks/modpacks, I'm afraid I cannot further assist you (not that I'd be able to anyway).

I will make a note of the minimum version requirement on the Spigot main page.