Move distance calculations into the Region object
This commit is contained in:
parent
3421a6e267
commit
b7119d774e
@ -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()));
|
||||
}
|
||||
}
|
||||
|
@ -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()));
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user