From b5976a52e0ec8e85d7846143abd95dffb7ea7c7c Mon Sep 17 00:00:00 2001 From: KHobbits Date: Sat, 12 Jul 2014 16:34:18 +0100 Subject: [PATCH] Prevent users from setting unsafe homes when teleport safety is disabled. --- .../com/earth2me/essentials/commands/Commandsethome.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandsethome.java b/Essentials/src/com/earth2me/essentials/commands/Commandsethome.java index 6a432d660..866a15c1e 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandsethome.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandsethome.java @@ -2,6 +2,7 @@ package com.earth2me.essentials.commands; import static com.earth2me.essentials.I18n.tl; import com.earth2me.essentials.User; +import com.earth2me.essentials.utils.LocationUtil; import com.earth2me.essentials.utils.NumberUtil; import java.util.Locale; import org.bukkit.Location; @@ -44,7 +45,7 @@ public class Commandsethome extends EssentialsCommand if (usersHome == null) { throw new PlayerNotFoundException(); - } + } } } } @@ -56,6 +57,12 @@ public class Commandsethome extends EssentialsCommand { throw new NoSuchFieldException(tl("invalidHomeName")); } + + if (!ess.getSettings().isTeleportSafetyEnabled() && LocationUtil.isBlockUnsafeForUser(usersHome, location.getWorld(), location.getBlockX(), location.getBlockY(), location.getBlockZ())) + { + throw new Exception(tl("unsafeTeleportDestination", location.getWorld().getName(), location.getBlockX(), location.getBlockY(), location.getBlockZ())); + } + usersHome.setHome(name, location); user.sendMessage(tl("homeSet", user.getLocation().getWorld().getName(), user.getLocation().getBlockX(), user.getLocation().getBlockY(), user.getLocation().getBlockZ(), name));