From 2f0d66226faf07fda9f08e6b2a01ce9af8402f51 Mon Sep 17 00:00:00 2001 From: Krakenied Date: Thu, 24 Jul 2025 15:20:57 +0200 Subject: Do not create unnecessary Location object in distancefrom task type --- .../quests/bukkit/tasktype/type/DistancefromTaskType.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'bukkit/src/main/java/com/leonardobishop') diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/DistancefromTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/DistancefromTaskType.java index f150327d..4ffaa126 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/DistancefromTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/DistancefromTaskType.java @@ -8,12 +8,12 @@ import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress; import com.leonardobishop.quests.common.quest.Quest; import com.leonardobishop.quests.common.quest.Task; import org.bukkit.Bukkit; -import org.bukkit.Location; import org.bukkit.World; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.player.PlayerMoveEvent; +import org.bukkit.util.NumberConversions; public final class DistancefromTaskType extends BukkitTaskType { @@ -84,8 +84,7 @@ public final class DistancefromTaskType extends BukkitTaskType { int distance = (int) task.getConfigValue("distance"); int distanceSquared = distance * distance; - Location location = new Location(world, x, y, z); - double playerDistanceSquared = player.getLocation().distanceSquared(location); + double playerDistanceSquared = distanceSquarred(player, x, y, z); super.debug("Player is " + playerDistanceSquared + "m squared away", quest.getId(), task.getId(), player.getUniqueId()); @@ -95,4 +94,10 @@ public final class DistancefromTaskType extends BukkitTaskType { } } } + + private static double distanceSquarred(Player player, int x, int y, int z) { + return NumberConversions.square(player.getX() - x) + + NumberConversions.square(player.getY() - y) + + NumberConversions.square(player.getZ() - z); + } } -- cgit v1.2.3-70-g09d2