diff --git a/Server/src/main/java/core/game/node/entity/skill/construction/HouseManager.java b/Server/src/main/java/core/game/node/entity/skill/construction/HouseManager.java index 0584a6559..ed39f3893 100644 --- a/Server/src/main/java/core/game/node/entity/skill/construction/HouseManager.java +++ b/Server/src/main/java/core/game/node/entity/skill/construction/HouseManager.java @@ -267,16 +267,10 @@ 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(); - DynamicRegion dr = region; - DynamicRegion dd = dungeon; - RegionManager.getRegionCache().remove(dr); - RegionManager.getRegionCache().remove(dd); region = null; dungeon = null; enter(player, buildingMode, false); player.getProperties().setTeleportLocation((player.getViewport().getRegion() == dungeon ? dungeon : region).getBaseLocation().transform(diffX, diffY, diffZ)); - dr.flagInactive(); - dd.flagInactive(); } /** diff --git a/Server/src/main/java/core/game/world/map/Region.java b/Server/src/main/java/core/game/world/map/Region.java index 1f381729b..5d894d57d 100644 --- a/Server/src/main/java/core/game/world/map/Region.java +++ b/Server/src/main/java/core/game/world/map/Region.java @@ -315,31 +315,22 @@ public class Region { } } - /** - * Unloads a region - compatibility method for older uses - */ - private static void unload(Region r){ - unload(r, false); - } - /** * Unloads a region. * @param r The region. */ - private static void unload(Region r, boolean force) { - if(!force){ - if (r.isViewed()) { - SystemLogger.logErr("Players viewing region!"); + private static void unload(Region r) { + if (r.isViewed()) { + SystemLogger.logErr("Players viewing region!"); + r.flagActive(); + return; + } + for (RegionPlane p : r.planes) { + if (!p.getPlayers().isEmpty()) { + SystemLogger.logErr("Players still in region!"); r.flagActive(); return; } - for (RegionPlane p : r.planes) { - if (!p.getPlayers().isEmpty()) { - SystemLogger.logErr("Players still in region!"); - r.flagActive(); - return; - } - } } for (RegionPlane p : r.planes) { p.clear();