Explicitly log exception from asynchronous tasks.Previously an UnhandledException would be thrown and the stack trace / message would be printed to System.err in the default UncaughtExceptionHandler for ThreadGroup. This was undesirable as it meant that logging frameworks / exception monitors such as Sentry were unable to get the exception. Additionally it would cause the death of the thread in the ExecutorService. This change mimics the beha...
SPIGOT-1903: Only issue player location update after tickPreviously after a player tick, the player's location would be reset back to the location which they had prior to the tick, only to be (hopefully) corrected at a later point, after the client had attempted (and failed) to acknowledge the location change.
SPIGOT-2726: Fix duplicate UUID check not always runningWorld.addEntity(Entity entity) calls addEntity(entity, SpawnReason.DEFAULT), which contains the code that was originally in addEntity (and some event code).
However, WorldServer previously only had addEntity(Entity entity), so if addEntity(Entity entity, SpawnReason spawnreason) was called directly, the UUID check that's found in it (the call to 'i') is skipped. This happens, among other plac...
SPIGOT-2618: Register permissions before plugin enabled.Brings behaviour in line with command registration, and won't affect plugins which don't already error.
SPIGOT-2616: Fix dispensers dispensing TNT making squid soundsThis was caused by the wrong obfuscated sound effect being used, probably due to a merge issue.