The issue I am seeing is GroupManager unable to look up players that have changed their username when their old username is passed as a parameter, this used to work fine. In my situation buycraft is attempting to change the players rank using the username they signed up to buycraft with but since the players changed their username its failing to do the lookup/change from their old username to their current one.
Im not sure if this broke in 1.9.2, or when I moved to Paper, To get GroupManager working, I had to run it through Special Source, I ran it through Spigots SpecialSource as I am not aware if Paper has its own version.
I am not looking to be told to move to Pex, I am looking to find a fix for GroupManager.
2016-05-10 11:48:09 | This server is running Paper version git-Paper-727 (MC: 1.9.2)
[18:30:35] [Server thread/ERROR]: [BuycraftX] Could not dispatch command 'manuadd Shay___ sailor' for player 'Shay___'. This is typically a plugin error, not an issue with BuycraftX.
org.bukkit.command.CommandException: Unhandled exception executing command 'manuadd' in plugin GroupManager v2.1.31 (Phoenix)
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[patched_1.9.2.jar:git-Paper-716]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:146) ~[patched_1.9.2.jar:git-Paper-716]
at org.bukkit.craftbukkit.v1_9_R1.CraftServer.dispatchCommand(CraftServer.java:664) ~[patched_1.9.2.jar:git-Paper-716]
at org.bukkit.Bukkit.dispatchCommand(Bukkit.java:596) ~[patched_1.9.2.jar:git-Paper-716]
at net.buycraft.plugin.bukkit.BukkitBuycraftPlatform.dispatchCommand(BukkitBuycraftPlatform.java:38) [BuycraftX.jar:?]
at net.buycraft.plugin.execution.strategy.QueuedCommandExecutor.run(QueuedCommandExecutor.java:49) [BuycraftX.jar:?]
at org.bukkit.craftbukkit.v1_9_R1.scheduler.CraftTask.run(CraftTask.java:58) [patched_1.9.2.jar:git-Paper-716]
at org.bukkit.craftbukkit.v1_9_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:352) [patched_1.9.2.jar:git-Paper-716]
at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:822) [patched_1.9.2.jar:git-Paper-716]
at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:404) [patched_1.9.2.jar:git-Paper-716]
at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:723) [patched_1.9.2.jar:git-Paper-716]
at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:622) [patched_1.9.2.jar:git-Paper-716]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_91]
Caused by: java.lang.NullPointerException
at org.anjocaido.groupmanager.GroupManager.validatePlayer(GroupManager.java:2215) ~[?:?]
at org.anjocaido.groupmanager.GroupManager.onCommand(GroupManager.java:517) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[patched_1.9.2.jar:git-Paper-716]
... 12 more
Last I checked, GroupManager was dead/no longer supported.
Maybe try a different permission plugin such as zPermissions or PermissionsEx. (which should both support name changes).
This doesn't appear to be related to Paper directly, rather it was likely one of the many changes in 1.9/.2 and GM's age.
@willies952002 I specifically said, I am not looking to be told to move to Pex, your post was completely unnecessary and just irritating at best.
@Zbob750 Thanks man, Just wanted to know if it was a bug with Paper or just 1.9 in general.
GroupManager is crap, this is due to its crapy code.
Please don't use crapy code.
For example this code completely violates thread safety.
Even if you don't consider its thread safety issues, it has other problems.
Users are represented by a string id, which might either be a string representation of uuid _or a name_.
GroupManager also checks _all permissions_ for the user in an O(N) manner to determine permissions (horrendesly slow).
@Techcable "Crappy Code" it Was designed from the ground up to work even even after minecraft upgrades; this is why it was such a fantastic plugin, it wasnt crappy code, it was just made in a different time. The code is fantastic as its stood the test of time. unlike horsecrap like Pex that has to be updated every time something minor changes in the minecraft main codebase, now that is crappy code design.
Although that breakdown is a decent technical approach to tell me why its breaking, it does sound like its something that could be fixed quite easily! You should fork and fix it! It is such a shame that such a solid plugin was left to die, im absolutely astounded that its still possible to use.
Most helpful comment
@Techcable "Crappy Code" it Was designed from the ground up to work even even after minecraft upgrades; this is why it was such a fantastic plugin, it wasnt crappy code, it was just made in a different time. The code is fantastic as its stood the test of time. unlike horsecrap like Pex that has to be updated every time something minor changes in the minecraft main codebase, now that is crappy code design.
Although that breakdown is a decent technical approach to tell me why its breaking, it does sound like its something that could be fixed quite easily! You should fork and fix it! It is such a shame that such a solid plugin was left to die, im absolutely astounded that its still possible to use.