mcMMO 2.1.7 doesn't work \ McMMOPlayerProfileLoadEvent also no longer exists
I-Knight-I opened this issue ยท 12 comments
Plugin fails to retrieve player profiles and repeatedly says "Not loaded yet".
In the PlayerListener, there's a task listening for McMMOPlayerProfileLoadEvent - this no longer exists in mcMMO.
On another note, how does the plugin pull data from the players online? It mentions the AsyncChatEvent and uses a hashmap but doesn't seem to provide any data to it? Forgive my ignorance.
Plugin fails to retrieve player profiles and repeatedly says "Not loaded yet".
In the PlayerListener, there's a task listening for McMMOPlayerProfileLoadEvent - this no longer exists in mcMMO.
Do you tried a development from here: https://ci.codemc.io/job/Games647/job/McCombatLevel/?
On another note, how does the plugin pull data from the players online? It mentions the AsyncChatEvent and uses a hashmap but doesn't seem to provide any data to it? Forgive my ignorance.
It loades the data on join and then keeps the data in memory until the player leaves the server.
I built the .jar myself by using the source code from master. I imagine that's more up-to-date than the Jenkins builds, no?
Outside of that, there's definitely no support for the latest mcMMO version. I noticed your dependency is using 2.1.111, the latest is 2.1.7 but your plugin doesn't compile when using that as a dependency.
I noticed your dependency is using 2.1.111, the latest is 2.1.7
The latest is 2.1.112 or do you use mcMMO Classic.
I noticed your dependency is using 2.1.111, the latest is 2.1.7 but your plugin doesn't compile when using that as a dependency.
I thought I should drop support for the older versions and adapt to the newer versions here: 304d8e9
I built the .jar myself by using the source code from master. I imagine that's more up-to-date than the Jenkins builds, no?
They should build immediately once I push any changes here (trigger a new build), but if you know how to compile, it I have no problem with that.
Okay, weirdly the player's level appears next to their name in chat but running /level or /combatlevel says "not loaded yet". Unless the number shown [3] is just a placeholder or inaccurate?
It knows listens to a new event which doesn't exist in the older version.
I've got it. mcMMO has an absolutely awful build-version scheme haha. 2.1.94 < 2.1.112. So we're actually out of date. I also am not sure where I got the 2.1.7 from, maybe the jar hasn't had its version information updated? But yeah, I assumed 2.1.7 was higher than 2.1.111.
Right, we'll update. This issue is probably not valid given this info, so I'll also close it. Cheers mate.
Okay, weirdly the player's level appears next to their name in chat but running /level or /combatlevel says "not loaded yet". Unless the number shown [3] is just a placeholder or inaccurate?
Some more information, apologies:
Could not pass event McMMOPlayerProfileLoadEvent to McCombatLevel v2.1.2
java.lang.IllegalStateException: PlayerCombatLevelChangeEvent may only be triggered synchronously.
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:533) ~[patched_1.14.4.jar:git-Paper-237]
at com.gmail.mrphpfan.mccombatlevel.McCombatLevel.setLevel(McCombatLevel.java:172) ~[?:?]
at com.gmail.mrphpfan.mccombatlevel.McCombatLevel.updateLevel(McCombatLevel.java:187) ~[?:?]
at com.gmail.mrphpfan.mccombatlevel.listener.PlayerListener.onProfileLoaded(PlayerListener.java:37) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor765.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.14.4.jar:git-Paper-237]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[patched_1.14.4.jar:git-Paper-237]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.14.4.jar:git-Paper-237]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:545) ~[patched_1.14.4.jar:git-Paper-237]
at com.gmail.nossr50.util.EventUtils.callPlayerProfileLoadEvent(EventUtils.java:156) ~[?:?]
at com.gmail.nossr50.runnables.player.PlayerProfileLoadingTask.run(PlayerProfileLoadingTask.java:50) ~[?:?]
at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftTask.run(CraftTask.java:84) ~[patched_1.14.4.jar:git-Paper-237]
at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) ~[patched_1.14.4.jar:git-Paper-237]
at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.14.4.jar:git-Paper-237]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
That commit fixed it mate. Cheers. I noticed you didn't close the issue though, do you plan on doing some more testing and development or shall I close it?
Unfortunately, it seems like there's now a new error as a result of commit 395f187.
[McCombatLevel] Plugin McCombatLevel v2.1.2 generated an exception while executing task 159 java.lang.IllegalMonitorStateException: null at java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryRelease(ReentrantReadWriteLock.java:372) ~[?:?] at java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1302) ~[?:?] at java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock(ReentrantReadWriteLock.java:1147) ~[?:?] at com.gmail.mrphpfan.mccombatlevel.task.LeaderboardUpdateTask.run(LeaderboardUpdateTask.java:72) ~[?:?] at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftTask.run(CraftTask.java:84) ~[patched_1.14.4.jar:git-Paper-237] at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) ~[patched_1.14.4.jar:git-Paper-237] at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.14.4.jar:git-Paper-237] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?] at java.lang.Thread.run(Thread.java:834) [?:?]