diff --git a/EXILED/Exiled.API/Extensions/MirrorExtensions.cs b/EXILED/Exiled.API/Extensions/MirrorExtensions.cs
index 8b4350b5b0..e23172b6fa 100644
--- a/EXILED/Exiled.API/Extensions/MirrorExtensions.cs
+++ b/EXILED/Exiled.API/Extensions/MirrorExtensions.cs
@@ -356,6 +356,24 @@ public static void MessageTranslated(this Player player, string words, string tr
}
}
+ ///
+ /// Moves object for the player.
+ ///
+ /// Target to send.
+ /// The to move.
+ /// The position to change.
+ public static void MoveNetworkIdentityObject(this Player player, NetworkIdentity identity, Vector3 pos)
+ {
+ identity.gameObject.transform.position = pos;
+ ObjectDestroyMessage objectDestroyMessage = new()
+ {
+ netId = identity.netId,
+ };
+
+ player.Connection.Send(objectDestroyMessage, 0);
+ SendSpawnMessageMethodInfo?.Invoke(null, new object[] { identity, player.Connection });
+ }
+
///
/// Sends to the player a Fake Change Scene.
///
@@ -403,6 +421,26 @@ public static void ScaleNetworkIdentityObject(this Player player, NetworkIdentit
SendSpawnMessageMethodInfo?.Invoke(null, new object[] { identity, player.Connection });
}
+ ///
+ /// Moves object for all the players.
+ ///
+ /// The to move.
+ /// The position to change.
+ public static void MoveNetworkIdentityObject(this NetworkIdentity identity, Vector3 pos)
+ {
+ identity.gameObject.transform.position = pos;
+ ObjectDestroyMessage objectDestroyMessage = new()
+ {
+ netId = identity.netId,
+ };
+
+ foreach (Player ply in Player.List)
+ {
+ ply.Connection.Send(objectDestroyMessage, 0);
+ SendSpawnMessageMethodInfo?.Invoke(null, new object[] { identity, ply.Connection });
+ }
+ }
+
///
/// Scales an object for all players.
///