From 5e06f7ea1f50f009a32743c8d82d0ac0f0112e9d Mon Sep 17 00:00:00 2001 From: KHobbits Date: Sat, 12 Jul 2014 16:34:18 +0100 Subject: Prevent users from setting unsafe homes when teleport safety is disabled. --- .../src/com/earth2me/essentials/commands/Commandsethome.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'Essentials') 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)); -- cgit v1.2.3