From b7119d774e0753e73ae36e9312d8bc4b98682913 Mon Sep 17 00:00:00 2001 From: Torrie Fischer Date: Wed, 25 Apr 2012 16:28:49 -0400 Subject: [PATCH] Move distance calculations into the Region object --- src/main/java/us/camin/regions/Region.java | 7 +++++++ src/main/java/us/camin/regions/RegionManager.java | 9 +-------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/us/camin/regions/Region.java b/src/main/java/us/camin/regions/Region.java index 2d34420..9f06ebc 100644 --- a/src/main/java/us/camin/regions/Region.java +++ b/src/main/java/us/camin/regions/Region.java @@ -40,4 +40,11 @@ public class Region { public String name() { return m_name; } + + /** + * An alternative to Location.distance() which doesn't use floating point math. + */ + public int distanceTo(Location loc) { + return Math.abs((m_location.getBlockX()-loc.getBlockX())+Math.abs(m_location.getBlockZ()-loc.getBlockZ())); + } } diff --git a/src/main/java/us/camin/regions/RegionManager.java b/src/main/java/us/camin/regions/RegionManager.java index cacb9a1..c9474cf 100644 --- a/src/main/java/us/camin/regions/RegionManager.java +++ b/src/main/java/us/camin/regions/RegionManager.java @@ -116,7 +116,7 @@ public class RegionManager { Region nearest = null; int minDistance = -1; for(Region r : regions) { - int check = distance(loc, r.location()); + int check = r.distanceTo(loc); if (minDistance == -1 || check < minDistance) { nearest = r; minDistance = check; @@ -186,11 +186,4 @@ public class RegionManager { } } } - - /** - * An alternative to Location.distance() which doesn't use floating point math. - */ - private static int distance(Location l1, Location l2) { - return Math.abs((l1.getBlockX()-l2.getBlockX())+Math.abs(l1.getBlockZ()-l2.getBlockZ())); - } }