From ef5e2c08aaafa84e4c0e0b954da5b2c9761cc167 Mon Sep 17 00:00:00 2001 From: "Lukas Rieger (Blue)" Date: Fri, 3 Jun 2022 18:57:43 +0200 Subject: [PATCH] Fix possible int-overflow on radius-update --- .../bluemap/common/rendermanager/MapUpdateTask.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BlueMapCommon/src/main/java/de/bluecolored/bluemap/common/rendermanager/MapUpdateTask.java b/BlueMapCommon/src/main/java/de/bluecolored/bluemap/common/rendermanager/MapUpdateTask.java index a67e060d..928a847b 100644 --- a/BlueMapCommon/src/main/java/de/bluecolored/bluemap/common/rendermanager/MapUpdateTask.java +++ b/BlueMapCommon/src/main/java/de/bluecolored/bluemap/common/rendermanager/MapUpdateTask.java @@ -100,13 +100,13 @@ private static List getRegions(World world, Vector2i center, int radiu Grid regionGrid = world.getRegionGrid(); Vector2i halfCell = regionGrid.getGridSize().div(2); - int increasedRadiusSquared = (int) Math.pow(radius + Math.ceil(halfCell.length()), 2); + long increasedRadiusSquared = (long) Math.pow(radius + Math.ceil(halfCell.length()), 2); for (Vector2i region : world.listRegions()) { Vector2i min = regionGrid.getCellMin(region); Vector2i regionCenter = min.add(halfCell); - if (regionCenter.distanceSquared(center) <= increasedRadiusSquared) + if (regionCenter.toLong().distanceSquared(center.toLong()) <= increasedRadiusSquared) regions.add(region); }