Capes were not applying properly to players when added at login (at least as seen by existing connected clients), so a slight delay has been added there to fix it

This commit is contained in:
Brettflan 2011-08-22 23:48:18 -05:00
parent e573895d8a
commit e970c02808

View File

@ -123,8 +123,10 @@ public class FactionsPlayerListener extends PlayerListener{
@Override @Override
public void onPlayerJoin(PlayerJoinEvent event) { public void onPlayerJoin(PlayerJoinEvent event) {
final Player player = event.getPlayer();
// Make sure that all online players do have a fplayer. // Make sure that all online players do have a fplayer.
FPlayer me = FPlayer.get(event.getPlayer()); FPlayer me = FPlayer.get(player);
// Update the lastLoginTime for this fplayer // Update the lastLoginTime for this fplayer
me.setLastLoginTime(System.currentTimeMillis()); me.setLastLoginTime(System.currentTimeMillis());
@ -133,7 +135,12 @@ public class FactionsPlayerListener extends PlayerListener{
FPlayer.autoLeaveOnInactivityRoutine(); FPlayer.autoLeaveOnInactivityRoutine();
FPlayer.autoLeaveOnInactivityRoutine(); FPlayer.autoLeaveOnInactivityRoutine();
SpoutFeatures.updateAppearances(event.getPlayer()); // Appearance updates which are run when a player joins don't apply properly for other clients, so they need to be delayed slightly
Factions.instance.getServer().getScheduler().scheduleSyncDelayedTask(Factions.instance, new Runnable() {
public void run() {
SpoutFeatures.updateAppearances(player);
}
});
} }
@Override @Override