Buggy code:
@ Singleton public class EventListener implements com . andune . minecraft . commonlib . server . api . event . EventListener { private final Logger log = LoggerFactory . getLogger ( EventListener . class ) ; private final Storage storage ; private final StrategyEngine engine ; private final ConfigCore config ; private final Factory factory ; private final MultiverseCore multiverseCore ; private final MultiversePortals multiversePortals ; private final SpawnUtil spawnUtil ; private final BedUtils bedUtil ; private final WarmupManager warmupManager ; private final EffectsManager effectsManager ; private final CooldownManager cooldownManager ; private final DeathManager deathManager ; private Player lastRespawnPlayer ; private Location lastRespawnLocation ; @ Inject public EventListener ( ConfigCore config , Storage storage , StrategyEngine engine , Factory factory , MultiverseCore multiverseCore , MultiversePortals multiversePortals , SpawnUtil spawnUtil , BedUtils bedUtil , WarmupManager warmupManager , EffectsManager effectsManager , CooldownManager cooldownManager , DeathManager deathManager ) { } @ Override public void playerJoin ( PlayerJoinEvent event ) { } @ Override public void playerRespawn ( PlayerRespawnEvent event ) { } @ Override public void playerTeleport ( PlayerTeleportEvent event ) { } @ Override public void observePlayerTeleport ( PlayerTeleportEvent event ) { log . debug ( "ENTER<seq2seq4repair_space>observePlayerTeleport():<seq2seq4repair_space>player={},<seq2seq4repair_space>to={},<seq2seq4repair_space>from={}" , event . getPlayer ( ) , event . getTo ( ) , event . getFrom ( ) ) ; if ( ( config . isRecordLastLocation ( ) ) && ( ! ( event . getTo ( ) . getWorld ( ) . equals ( event . getFrom ( ) . getWorld ( ) ) ) ) ) { PlayerLastLocationDAO dao = storage . getPlayerLastLocationDAO ( ) ; <START_BUG> PlayerLastLocation playerLastLocation = dao . findByWorldAndPlayerName ( event . getPlayer ( ) . getWorld ( ) . getName ( ) , event . getPlayer ( ) . getName ( ) ) ; <END_BUG> if ( playerLastLocation == null ) { playerLastLocation = new PlayerLastLocation ( ) ; playerLastLocation . setPlayerName ( event . getPlayer ( ) . getName ( ) ) ; } playerLastLocation . setLocation ( event . getFrom ( ) ) ; try { dao . save ( playerLastLocation ) ; } catch ( StorageException e ) { log . warn ( "Error<seq2seq4repair_space>writing<seq2seq4repair_space>to<seq2seq4repair_space>database" , e ) ; } log . debug ( "Saved<seq2seq4repair_space>player<seq2seq4repair_space>{}<seq2seq4repair_space>location<seq2seq4repair_space>as<seq2seq4repair_space>{}" , event . getPlayer ( ) , playerLastLocation ) ; } final StrategyContext context = factory . newStrategyContext ( ) ; context . setEventType ( TELEPORT_OBSERVE . toString ( ) ) ; context . setPlayer ( event . getPlayer ( ) ) ; context . setLocation ( event . getTo ( ) ) ; engine . getStrategyResult ( context ) ; effectsManager . doTeleportEffects ( event . getPlayer ( ) ) ; } @ Override public void observeRespawn ( PlayerRespawnEvent event ) { } @ Override public void bedRightClick ( PlayerBedRightClickEvent event ) { } @ Override public void bedEvent ( PlayerBedEnterEvent event ) { } @ Override public void playerQuit ( PlayerQuitEvent event ) { } @ Override public void playerKick ( PlayerKickEvent event ) { } @ Override public void playerDamage ( PlayerDamageEvent event ) { } @ Override public void playerDeath ( PlayerDeathEvent event ) { } }

Fix:
PlayerLastLocation playerLastLocation = dao . findByWorldAndPlayerName ( event . getFrom ( ) . getWorld ( ) . getName ( ) , event . getPlayer ( ) . getName ( ) ) ;