Fix NPE in region overlap check.

This commit fixes an issue with the new `intersects()` method on ArenaRegion. Instead of blindly assuming that the region points `p1` and `p2` are set when the method is called, we first make sure both regions are properly set.

Fixes #590
This commit is contained in:
Andreas Troelsen
2020-01-03 01:28:33 +01:00
parent b9e1e07a15
commit 3a017b179d
2 changed files with 5 additions and 1 deletions
+1
View File
@@ -11,6 +11,7 @@ These changes will (most likely) be included in the next version.
## [Unreleased] ## [Unreleased]
- Arenas with missing regions no longer cause errors in the region overlap check.
## [0.104.1] - 2019-12-31 ## [0.104.1] - 2019-12-31
- It is no longer necessary to have recurrent waves for an arena to work. MobArena automatically creates a "catch all" recurrent wave in case the arena session reaches a wave number that isn't covered by any other wave definitions. - It is no longer necessary to have recurrent waves for an arena to work. MobArena automatically creates a "catch all" recurrent wave in case the arena session reaches a wave number that isn't covered by any other wave definitions.
@@ -248,7 +248,10 @@ public class ArenaRegion
return true; return true;
} }
} }
return intersects(p1, p2, other.p1, other.p2); if (setup && other.setup) {
return intersects(p1, p2, other.p1, other.p2);
}
return false;
} }
private boolean intersects(Location a1, Location a2, Location b1, Location b2) { private boolean intersects(Location a1, Location a2, Location b1, Location b2) {