diff --git a/EXILED/Exiled.API/Features/Room.cs b/EXILED/Exiled.API/Features/Room.cs
index dc880fe69c..9fde18957c 100644
--- a/EXILED/Exiled.API/Features/Room.cs
+++ b/EXILED/Exiled.API/Features/Room.cs
@@ -132,7 +132,16 @@ public class Room : MonoBehaviour, IWorldSpace
///
/// Gets a of around the .
///
- public IReadOnlyList NearestRooms { get; private set; }
+ public IReadOnlyList NearestRooms
+ {
+ get
+ {
+ if (NearestRoomsValue.Count == 0 && Identifier.ConnectedRooms.Count > 0)
+ NearestRoomsValue.AddRange(Identifier.ConnectedRooms.Select(Get));
+
+ return NearestRoomsValue;
+ }
+ }
///
/// Gets a of in the .
@@ -438,7 +447,6 @@ internal void InternalCreate()
Windows = WindowsValue.AsReadOnly();
Doors = DoorsValue.AsReadOnly();
- NearestRooms = NearestRoomsValue.AsReadOnly();
Speakers = SpeakersValue.AsReadOnly();
Cameras = CamerasValue.AsReadOnly();
}
diff --git a/EXILED/Exiled.Events/Patches/Generic/DoorList.cs b/EXILED/Exiled.Events/Patches/Generic/DoorList.cs
index 8ae6a40910..2057bbd0f5 100644
--- a/EXILED/Exiled.Events/Patches/Generic/DoorList.cs
+++ b/EXILED/Exiled.Events/Patches/Generic/DoorList.cs
@@ -76,7 +76,6 @@ private static void InitDoor(DoorVariant doorVariant)
foreach (Room room in rooms)
{
room.DoorsValue.Add(door);
- room.NearestRoomsValue.AddRange(rooms.Except(new List() { room }));
}
if (door.Is(out CheckpointDoor checkpoint))