Buggy code:
public class Flights { private static float getCorrectYawForPlayer ( Player player , Location destination ) { } public static void startFlight ( Player player , String flightname , Boolean checkForStation , boolean sentbyadmin , Player sendingPlayer ) { Player playerToSendMessagesTo ; if ( sentbyadmin ) playerToSendMessagesTo = sendingPlayer ; else playerToSendMessagesTo = player ; Flight flight = dbFlightsHandler . getFlight ( flightname ) ; if ( flight == null ) { if ( sentbyadmin && ( playerToSendMessagesTo == null ) ) System . out . println ( "[DragonTravel]<seq2seq4repair_space>Flight<seq2seq4repair_space>does<seq2seq4repair_space>not<seq2seq4repair_space>exist!" ) ; else playerToSendMessagesTo . sendMessage ( messagesHandler . getMessage ( "Messages.Flights.Error.FlightDoesNotExist" ) ) ; return ; } if ( ( flight . waypoints . get ( 0 ) . world . getName ( ) ) != ( player . getWorld ( ) . getName ( ) ) ) { if ( sentbyadmin && ( playerToSendMessagesTo == null ) ) System . out . println ( "[DragonTravel]<seq2seq4repair_space>The<seq2seq4repair_space>flight<seq2seq4repair_space>is<seq2seq4repair_space>in<seq2seq4repair_space>a<seq2seq4repair_space>different<seq2seq4repair_space>world<seq2seq4repair_space>than<seq2seq4repair_space>the<seq2seq4repair_space>player!" ) ; else playerToSendMessagesTo . sendMessage ( messagesHandler . getMessage ( "Messages.Flights.Error.FlightIsInDifferentWorld" ) ) ; return ; } if ( ! sentbyadmin ) { if ( ( checkForStation && ( config . getBoolean ( "MountingLimit.EnableForFlights" ) ) ) && ( ! ( player . hasPermission ( "dt.ignoreusestations.flights" ) ) ) ) { if ( ! ( dbStationsHandler . checkForStation ( player ) ) ) { player . sendMessage ( messagesHandler . getMessage ( "Messages.Stations.Error.NotAtAStation" ) ) ; return ; } } if ( DragonTravelMain . requireItemFlight ) { if ( ( ! ( player . getInventory ( ) . contains ( requiredItem ) ) ) && ( ! ( player . hasPermission ( "dt.notrequireitem.flight" ) ) ) ) { player . sendMessage ( messagesHandler . getMessage ( "Messages.General.Error.RequiredItemMissing" ) ) ; return ; } } } Location temploc = player . getLocation ( ) ; Location firstwp = new Location ( flight . waypoints . get ( 0 ) . world , flight . waypoints . get ( 0 ) . x , flight . waypoints . get ( 0 ) . y , flight . waypoints . get ( 0 ) . z ) ; temploc . setYaw ( Flights . getCorrectYawForPlayer ( player , firstwp ) ) ; player . teleport ( temploc ) ; <START_BUG> if ( ! ( DragonManagement . mount ( player ) ) ) <END_BUG> return ; if ( ! ( listofDragonriders . containsKey ( player ) ) ) return ; if ( sentbyadmin ) { player . sendMessage ( messagesHandler . getMessage ( "Messages.Flights.Successful.SentPlayer" ) . replace ( "{flightname}" , flight . displayname ) ) ; player . sendMessage ( messagesHandler . getMessage ( "Messages.Flights.Successful.SendingPlayer" ) . replace ( "{playername}" , player . getName ( ) ) . replace ( "{flightname}" , flight . displayname ) ) ; } else player . sendMessage ( messagesHandler . getMessage ( "Messages.Flights.Successful.StartingFlight" ) . replace ( "{flightname}" , flight . displayname ) ) ; RyeDragon dragon = listofDragonriders . get ( player ) ; dragon . startFlight ( flight ) ; } }

Fix:
if ( ! ( DragonManagement . mount ( player , true ) ) )