diff --git a/Essentials/src/main/java/com/earth2me/essentials/UserData.java b/Essentials/src/main/java/com/earth2me/essentials/UserData.java index 5ae00b5c1..f2128b5ad 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/UserData.java +++ b/Essentials/src/main/java/com/earth2me/essentials/UserData.java @@ -161,6 +161,15 @@ public abstract class UserData extends PlayerExtension implements IConf { return loc != null ? loc.location() : null; } + public boolean hasValidHomes() { + for (final LazyLocation loc : holder.homes().values()) { + if (loc != null && loc.location() != null) { + return true; + } + } + return false; + } + public Location getHome(final Location world) { if (getHomes().isEmpty()) { return null; diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandhome.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandhome.java index 01f83c3bc..2bdec352e 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandhome.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandhome.java @@ -81,7 +81,7 @@ public class Commandhome extends EssentialsCommand { } else { showError(user.getBase(), new Exception(tl("noHomeSetPlayer")), commandLabel); } - } else if (homes.isEmpty() || finalPlayer.getHome(homes.get(0)) == null) { + } else if (homes.isEmpty() || !finalPlayer.hasValidHomes()) { showError(user.getBase(), new Exception(tl("noHomeSetPlayer")), commandLabel); } else if (homes.size() == 1 && finalPlayer.equals(user)) { try {