Another potential fix for construction

This commit is contained in:
ceikry
2021-07-03 23:02:22 -05:00
parent c859acde28
commit 368ad16469
2 changed files with 11 additions and 1 deletions
@@ -267,6 +267,9 @@ public final class HouseManager {
int diffX = player.getLocation().getX() - r.getBaseLocation().getX();
int diffY = player.getLocation().getY() - r.getBaseLocation().getY();
int diffZ = player.getLocation().getZ() - r.getBaseLocation().getZ();
RegionManager.getRegionCache().remove(r);
region.flagInactive();
dungeon.flagInactive();
region = null;
dungeon = null;
enter(player, buildingMode, false);
@@ -378,7 +381,8 @@ public final class HouseManager {
Region.load(from, true);
RegionChunk defaultChunk = from.getPlanes()[style.getPlane()].getRegionChunk(1, 0);
ZoneBorders borders = DynamicRegion.reserveArea(8, 8);
region = new DynamicRegion(-1, borders.getSouthWestX() >> 6, borders.getSouthWestY() >> 6);
//region = DynamicRegion.create(from.getRegionId());
region = new DynamicRegion(from.getRegionId(), borders.getSouthWestX() >> 6, borders.getSouthWestY() >> 6);
region.setBorders(borders);
region.setUpdateAllPlanes(true);
RegionManager.addRegion(region.getId(), region);
@@ -3,6 +3,7 @@ package core.game.node.entity.skill.construction;
import core.game.node.entity.Entity;
import core.game.node.entity.player.Player;
import core.game.world.map.RegionManager;
import core.game.world.map.zone.MapZone;
import core.game.world.map.zone.ZoneRestriction;
@@ -70,6 +71,11 @@ public final class HouseZone extends MapZone {
if (e instanceof Player) {
Player p = (Player) e;
HouseManager.leave(p);
if(house.getRegion() == p.getHouseManager().getRegion()){
house.getRegion().flagActive();
house.getDungeonRegion().flagActive();
RegionManager.getRegionCache().remove(house.getRegion());
}
return true;
}
}