From ca0738b6ed4184a0f2b11b929847d7ed79b71c36 Mon Sep 17 00:00:00 2001 From: FatBoy-DOTC Date: Sat, 22 Feb 2025 23:07:40 -0600 Subject: [PATCH] region heights issue resolved --- src/engine/objects/AbstractWorldObject.java | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/engine/objects/AbstractWorldObject.java b/src/engine/objects/AbstractWorldObject.java index 3cb086e7..fced8cae 100644 --- a/src/engine/objects/AbstractWorldObject.java +++ b/src/engine/objects/AbstractWorldObject.java @@ -176,11 +176,11 @@ public abstract class AbstractWorldObject extends AbstractGameObject { } //set players new altitude to region lerp altitude. - if (region != null) - if (region.center.y == region.highLerp.y) - worldObject.loc = worldObject.loc.setY(region.center.y + worldObject.getAltitude()); - else - worldObject.loc = worldObject.loc.setY(region.lerpY(worldObject) + worldObject.getAltitude()); + //if (region != null) + // if (region.center.y == region.highLerp.y) + // worldObject.loc = worldObject.loc.setY(region.center.y + worldObject.getAltitude()); + // else + // worldObject.loc = worldObject.loc.setY(region.lerpY(worldObject) + worldObject.getAltitude()); return region; } @@ -506,7 +506,7 @@ public abstract class AbstractWorldObject extends AbstractGameObject { float worldHeight = HeightMap.getWorldHeight(loc); Zone zone = ZoneManager.findSmallestZone(loc); if(zone != null && zone.isPlayerCity()){ - worldHeight = zone.absY; + worldHeight = zone.getWorldAltitude(); } if(this.region != null){ float regionAlt = this.region.lerpY(this); @@ -515,9 +515,13 @@ public abstract class AbstractWorldObject extends AbstractGameObject { }else{ y = HeightMap.getWorldHeight(loc) + this.getAltitude(); } - loc.setY(y); + Vector3fImmutable newLoc = new Vector3fImmutable(loc.x,y,loc.z); + this.loc = newLoc; + WorldGrid.addObject(this, newLoc.x, newLoc.z); + return; + }else{ + this.loc = loc; } - this.loc = loc; //this.loc = this.loc.setY(HeightMap.getWorldHeight(this) + this.getAltitude()); //lets not add mob to world grid if he is currently despawned.