fix: npe on name change only
This commit is contained in:
parent
93efcd2536
commit
451e1c4c95
3 changed files with 11 additions and 8 deletions
|
@ -59,10 +59,10 @@ public class AnvilManager {
|
||||||
} else {
|
} else {
|
||||||
appearanceManager.setName(response);
|
appearanceManager.setName(response);
|
||||||
final UpdateResult updateResult = appearanceManager.updatePlayer(false);
|
final UpdateResult updateResult = appearanceManager.updatePlayer(false);
|
||||||
if (updateResult.isError()) {
|
if (!updateResult.isError()) {
|
||||||
player.sendMessage(I18N.translate(player, I18NDict.Event.DISGUISE_SUCCESS));
|
player.sendMessage(I18N.translate(player, I18NDict.Event.DISGUISE_SUCCESS));
|
||||||
} else {
|
} else {
|
||||||
player.sendMessage(I18N.translate(player, I18NDict.Event.DISGUISE_FAIL));
|
player.sendMessage(I18N.translate(player, I18NDict.Event.DISGUISE_FAIL, updateResult.getErrorMessage()));
|
||||||
}
|
}
|
||||||
return AnvilGUI.Response.close();
|
return AnvilGUI.Response.close();
|
||||||
}
|
}
|
||||||
|
@ -83,7 +83,7 @@ public class AnvilManager {
|
||||||
if (!updateResult.isError()) {
|
if (!updateResult.isError()) {
|
||||||
player.sendMessage(I18N.translate(player, I18NDict.Event.DISGUISE_SUCCESS));
|
player.sendMessage(I18N.translate(player, I18NDict.Event.DISGUISE_SUCCESS));
|
||||||
} else {
|
} else {
|
||||||
player.sendMessage(I18N.translate(player, I18NDict.Event.DISGUISE_FAIL));
|
player.sendMessage(I18N.translate(player, I18NDict.Event.DISGUISE_FAIL, updateResult.getErrorMessage()));
|
||||||
}
|
}
|
||||||
return AnvilGUI.Response.close();
|
return AnvilGUI.Response.close();
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,6 +43,10 @@ public class AppearanceManager {
|
||||||
return profile.getSkin();
|
return profile.getSkin();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean needsASkinChange() {
|
||||||
|
return profile.getSkin() != null && !profile.getSkin().equals(player.getName());
|
||||||
|
}
|
||||||
|
|
||||||
public void setName(String name) {
|
public void setName(String name) {
|
||||||
profile.setName(name);
|
profile.setName(name);
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,12 +20,11 @@ public class PlayerJoinListener implements Listener {
|
||||||
final AppearanceManager appearanceManager = AppearanceManager.get(player);
|
final AppearanceManager appearanceManager = AppearanceManager.get(player);
|
||||||
|
|
||||||
if (appearanceManager.hasData()) {
|
if (appearanceManager.hasData()) {
|
||||||
final boolean skinChange = !player.getName().equals(appearanceManager.getSkin());
|
final UpdateResult updateResult = appearanceManager.updatePlayer(appearanceManager.needsASkinChange());
|
||||||
final UpdateResult updateResult = appearanceManager.updatePlayer(skinChange);
|
if (!updateResult.isError()) {
|
||||||
if (updateResult.isError()) {
|
|
||||||
player.sendMessage(I18N.translate(player, I18NDict.Event.PREVIOUS_SKIN_APPLY_FAIL, I18N.translate(player, updateResult.getErrorMessage())));
|
|
||||||
} else {
|
|
||||||
player.sendMessage(I18N.translate(player, I18NDict.Event.PREVIOUS_SKIN_APPLIED));
|
player.sendMessage(I18N.translate(player, I18NDict.Event.PREVIOUS_SKIN_APPLIED));
|
||||||
|
} else {
|
||||||
|
player.sendMessage(I18N.translate(player, I18NDict.Event.PREVIOUS_SKIN_APPLY_FAIL, I18N.translate(player, updateResult.getErrorMessage())));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, 20L);
|
}, 20L);
|
||||||
|
|
Loading…
Reference in a new issue