Skip to content

Commit 4647e0f

Browse files
committed
a little optimization
1 parent 68a3669 commit 4647e0f

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

src/Oneblock/IslandCoordinateCalculator.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,26 @@ public static int findNearestRegionId(Location loc) {
1212
int locZ = loc.getBlockZ();
1313
int size = PlayerInfo.size();
1414

15-
int halfStoSquared = (Oneblock.offset / 2) * (Oneblock.offset / 2);
15+
int offset = Oneblock.offset;
16+
int halfRadiusSquared = (offset * offset) >> 2;
1617

18+
int x = Oneblock.x, z = Oneblock.z;
1719
int X = 0, Z = 0;
20+
boolean CircleMode = Oneblock.CircleMode;
1821

1922
for (int i = 0; i < size; i++) {
20-
int dx = (X * Oneblock.offset + Oneblock.x) - locX;
21-
int dz = (Z * Oneblock.offset + Oneblock.z) - locZ;
23+
int dx = (X * offset + x) - locX;
24+
int dz = (Z * offset + z) - locZ;
2225
int distSq = dx * dx + dz * dz;
2326

2427
if (distSq < minDistSq) {
2528
minDistSq = distSq;
2629
nearestId = i;
2730

28-
if (minDistSq <= halfStoSquared) break;
31+
if (minDistSq <= halfRadiusSquared) break;
2932
}
3033

31-
if (Oneblock.CircleMode) {
34+
if (CircleMode) {
3235
if (X > Z)
3336
if (X > -Z)
3437
Z--;
@@ -39,7 +42,7 @@ else if (-X > Z || X == Z && Z < 0)
3942
else
4043
X++;
4144
}
42-
else X = i + 1;
45+
else X++;
4346
}
4447
return nearestId;
4548
}

0 commit comments

Comments
 (0)