Try to use consistent UUIDs and not rely on Bukkit lookup while saving.

This commit is contained in:
KHobbits 2014-06-07 15:45:57 +01:00
parent 9d9af25c7f
commit 7e9328bd25
4 changed files with 38 additions and 25 deletions

View file

@ -50,7 +50,10 @@ public abstract class UserData extends PlayerExtension implements IConf
{
config.forceSave();
config.getFile().delete();
ess.getUserMap().removeUser(this.getBase().getName());
if (config.username != null)
{
ess.getUserMap().removeUser(config.username);
}
}
public final void cleanup()
@ -838,7 +841,7 @@ public abstract class UserData extends PlayerExtension implements IConf
this.lastAccountName = lastAccountName;
config.setProperty("lastAccountName", lastAccountName);
config.save();
ess.getUserMap().trackUUID(base.getUniqueId(), lastAccountName);
ess.getUserMap().trackUUID(getConfigUUID(), lastAccountName);
}
public void setNPC(boolean set)
@ -968,6 +971,11 @@ public abstract class UserData extends PlayerExtension implements IConf
return new HashMap<String, Object>();
}
public UUID getConfigUUID()
{
return config.uuid;
}
public void save()
{
config.save();