[1.12] Essentials /tell is broken (uses vanilla /tell instead)
Sikatsu opened this issue ยท 8 comments
When someone messages me with /tell: http://prntscr.com/fhe7zp
When I message someone with /tell: http://prntscr.com/fhe86c
Also nicknames and such don't work, so I guess it uses vanilla /tell.
@SupaHam Hey, are you able to look into this issue perhaps?
Disable the minecraft permission to use /tell
which should be minecraft.command.tell
.
SpigotMC, if not Mojang, has made a breaking change with command aliases. So you'll find /msg
works as expected, but /tell
is an alias of /msg
so it is a lower priority and so Minecraft is allowed to override it. Still thinking of a fix for the problem.
I removed the permission, but still hoping it can be fixed somehow as it seems nearly everyone is used to using /tell.
After much work, I have discovered the change that causes this behaviour.
SpigotMC proceeded to remove some deprecated parts of the Bukkit API. One of those things was Bukkit's built-in equivalent of vanilla commands. Without going into much detail (although commits are below) The pre 1.12 code would make plugin commands a priority over vanilla commands. However, after the removal of this API, and some logic code Minecraft commands are prioritised, but not minecraft command aliases (e.g. /w
, /msg
, etc.)
I've informed the SpigotMC team via IRC of this issue and wait to hear back regarding a fix. Until then, there is not much I can do to solve this issue in a proper manner. I don't believe this was their intention and hope for the same results you do. :)
The API commit removing VanillaCommand
class: link
The CB commit removing usage of VanillaCommand
class: link