Bounds must be set before setting parent.

This commit is contained in:
2023-09-17 23:46:00 -04:00
parent 913a2601d5
commit 80f2db794f
2 changed files with 5 additions and 8 deletions
+1 -1
View File
@@ -208,7 +208,7 @@ public class HeightMap {
Zone heightMapZone;
Zone parentZone;
float worldHeight;
float interpolatedParentTerrainHeight;
// Seafloor is rather flat.
+4 -7
View File
@@ -84,9 +84,11 @@ public class Zone extends AbstractGameObject {
this.minLvl = rs.getInt("minLvl");
this.maxLvl = rs.getInt("maxLvl");
//this needs to be here specifically for new zones created after server boot (e.g. player city zones)
Zone parentZone = ZoneManager.getZoneByUUID(parentZoneID);
this.setBounds();
//this needs to be here specifically for new zones created after server boot (e.g. player city zones)
Zone parentZone = ZoneManager.getZoneByUUID(parentZoneID);
this.setParent(parentZone);
if (this.minLvl == 0 && parentZone != null) {
@@ -238,8 +240,6 @@ public class Zone extends AbstractGameObject {
this.parent = value;
this.parentZoneID = (this.parent != null) ? this.parent.getObjectUUID() : 0;
// Zone AABB is set here as it's coordinate space is world requiring a parent.
// Seafloor
if (this.parent == null) {
@@ -247,7 +247,6 @@ public class Zone extends AbstractGameObject {
this.absY = MBServerStatics.SEA_FLOOR_ALTITUDE;
this.absZ = this.zCoord;
this.seaLevel = 0;
this.setBounds();
return;
}
@@ -262,8 +261,6 @@ public class Zone extends AbstractGameObject {
this.worldAltitude = ZoneManager.caclulateWorldAltitude(this);
this.setBounds();
if (this.getParent() == null) {
this.seaLevel = MBServerStatics.SEA_FLOOR_ALTITUDE;
return;