Use correct disconnect sequence at all times, fixes #119 and events not firing at stop
This commit is contained in:
parent
c44dc7931a
commit
297c8e2c8b
@ -154,22 +154,24 @@ public class UserConnection extends GenericConnection implements ProxiedPlayer
|
|||||||
downBridge.start();
|
downBridge.start();
|
||||||
} catch ( KickException ex )
|
} catch ( KickException ex )
|
||||||
{
|
{
|
||||||
destroySelf( ex.getMessage() );
|
disconnect( ex.getMessage() );
|
||||||
} catch ( Exception ex )
|
} catch ( Exception ex )
|
||||||
{
|
{
|
||||||
destroySelf( "Could not connect to server - " + Util.exception( ex ) );
|
disconnect( "Could not connect to server - " + Util.exception( ex ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private synchronized void destroySelf(String reason)
|
@Override
|
||||||
|
public void disconnect(String reason)
|
||||||
{
|
{
|
||||||
if ( clientConnected )
|
if ( clientConnected )
|
||||||
{
|
{
|
||||||
PlayerDisconnectEvent event = new PlayerDisconnectEvent( this );
|
PlayerDisconnectEvent event = new PlayerDisconnectEvent( this );
|
||||||
ProxyServer.getInstance().getPluginManager().callEvent( event );
|
ProxyServer.getInstance().getPluginManager().callEvent( event );
|
||||||
|
ProxyServer.getInstance().getTabListHandler().onDisconnect( this );
|
||||||
ProxyServer.getInstance().getPlayers().remove( this );
|
ProxyServer.getInstance().getPlayers().remove( this );
|
||||||
|
|
||||||
disconnect( reason );
|
super.disconnect( reason );
|
||||||
if ( server != null )
|
if ( server != null )
|
||||||
{
|
{
|
||||||
server.getInfo().removePlayer( this );
|
server.getInfo().removePlayer( this );
|
||||||
@ -181,13 +183,6 @@ public class UserConnection extends GenericConnection implements ProxiedPlayer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void disconnect(String reason)
|
|
||||||
{
|
|
||||||
ProxyServer.getInstance().getTabListHandler().onDisconnect( this );
|
|
||||||
super.disconnect( reason );
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendMessage(String message)
|
public void sendMessage(String message)
|
||||||
{
|
{
|
||||||
@ -340,10 +335,10 @@ public class UserConnection extends GenericConnection implements ProxiedPlayer
|
|||||||
}
|
}
|
||||||
} catch ( IOException ex )
|
} catch ( IOException ex )
|
||||||
{
|
{
|
||||||
destroySelf( "Reached end of stream" );
|
disconnect( "Reached end of stream" );
|
||||||
} catch ( Exception ex )
|
} catch ( Exception ex )
|
||||||
{
|
{
|
||||||
destroySelf( Util.exception( ex ) );
|
disconnect( Util.exception( ex ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -543,7 +538,7 @@ public class UserConnection extends GenericConnection implements ProxiedPlayer
|
|||||||
}
|
}
|
||||||
} catch ( Exception ex )
|
} catch ( Exception ex )
|
||||||
{
|
{
|
||||||
destroySelf( Util.exception( ex ) );
|
disconnect( Util.exception( ex ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user