Added null checks.

This commit is contained in:
tastybento 2021-07-24 14:20:24 -07:00
parent df24beac7d
commit b897a71cd2
2 changed files with 10 additions and 3 deletions

View File

@ -33,7 +33,7 @@ public class PlaceholdersManager {
* @return string of advancement count
*/
public String getCountByLocation(User user) {
if (user == null || user.getUniqueId() == null) return "";
if (user == null || user.getUniqueId() == null || user.getLocation() == null) return "";
return addon.getIslands().getIslandAt(user.getLocation())
.map(i -> String.valueOf(addon.getAdvManager().getIsland(i).getAdvancements().size())).orElse("");
}

View File

@ -77,20 +77,27 @@ public class AdvancementListener implements Listener {
e.getAdvancement().getCriteria().forEach(c ->
e.getPlayer().getAdvancementProgress(e.getAdvancement()).revokeCriteria(c));
User u = User.getInstance(e.getPlayer());
u.notify("boxed.adv-disallowed", TextVariables.NAME, e.getPlayer().getName(), TextVariables.DESCRIPTION, this.keyToString(u, e.getAdvancement().getKey()));
if (u != null) {
u.notify("boxed.adv-disallowed", TextVariables.NAME, e.getPlayer().getName(), TextVariables.DESCRIPTION, this.keyToString(u, e.getAdvancement().getKey()));
}
return;
}
int score = addon.getAdvManager().addAdvancement(e.getPlayer(), e.getAdvancement());
if (score != 0) {
User user = User.getInstance(e.getPlayer());
Bukkit.getScheduler().runTask(addon.getPlugin(), () -> tellTeam(user, e.getAdvancement().getKey(), score));
if (user != null) {
Bukkit.getScheduler().runTask(addon.getPlugin(), () -> tellTeam(user, e.getAdvancement().getKey(), score));
}
}
}
}
private void tellTeam(User user, NamespacedKey key, int score) {
Island island = addon.getIslands().getIsland(addon.getOverWorld(), user);
if (island == null) {
return;
}
island.getMemberSet(RanksManager.MEMBER_RANK).stream()
.map(User::getInstance)
.filter(User::isOnline)