11using LabExtended . API ;
2+
23using LabExtended . Extensions ;
34
45using LabExtended . Events . Player ;
@@ -20,16 +21,46 @@ public static class ExPlayerEvents
2021 /// </summary>
2122 public static event Action < ExPlayer > ? Joined ;
2223
24+ /// <summary>
25+ /// Gets called when a new NPC joins the server.
26+ /// </summary>
27+ public static event Action < ExPlayer > ? NpcJoined ;
28+
29+ /// <summary>
30+ /// Gets called when the local server player joins the server.
31+ /// </summary>
32+ public static event Action < ExPlayer > ? HostJoined ;
33+
2334 /// <summary>
2435 /// Gets called when a player finishes authentification.
2536 /// </summary>
26- public static event Action < ExPlayer > ? Verified ;
37+ public static event Action < ExPlayer > ? Verified ;
38+
39+ /// <summary>
40+ /// Gets called when an NPC player finishes authentification.
41+ /// </summary>
42+ public static event Action < ExPlayer > ? NpcVerified ;
43+
44+ /// <summary>
45+ /// Gets called when the local server player finishes authentification.
46+ /// </summary>
47+ public static event Action < ExPlayer > ? HostVerified ;
2748
2849 /// <summary>
2950 /// Gets called after the player's object is destroyed.
3051 /// </summary>
31- public static event Action < ExPlayer > ? Left ;
32-
52+ public static event Action < ExPlayer > ? Left ;
53+
54+ /// <summary>
55+ /// Gets called after an NPC player's object is destroyed.
56+ /// </summary>
57+ public static event Action < ExPlayer > ? NpcLeft ;
58+
59+ /// <summary>
60+ /// Gets called after the local server player's object is destroyed.
61+ /// </summary>
62+ public static event Action < ExPlayer > ? HostLeft ;
63+
3364 /// <inheritdoc cref="PlayerLeavingEventArgs"/>
3465 public static event Action < PlayerLeavingEventArgs > ? Leaving ;
3566 #endregion
@@ -139,21 +170,63 @@ public static class ExPlayerEvents
139170 /// <param name="player">Player who joined.</param>
140171 public static void OnJoined ( ExPlayer player )
141172 => Joined . InvokeSafe ( player ) ;
142-
173+
174+ /// <summary>
175+ /// Invokes the <see cref="NpcJoined"/> event.
176+ /// </summary>
177+ /// <param name="player">Player who joined.</param>
178+ public static void OnNpcJoined ( ExPlayer player )
179+ => NpcJoined . InvokeSafe ( player ) ;
180+
181+ /// <summary>
182+ /// Invokes the <see cref="HostJoined"/> event.
183+ /// </summary>
184+ /// <param name="player">Player who joined.</param>
185+ public static void OnHostJoined ( ExPlayer player )
186+ => HostJoined . InvokeSafe ( player ) ;
187+
143188 /// <summary>
144189 /// Invokes the <see cref="Verified"/> event.
145190 /// </summary>
146191 /// <param name="player">The player who just verified.</param>
147192 public static void OnVerified ( ExPlayer player )
148193 => Verified . InvokeSafe ( player ) ;
149-
194+
195+ /// <summary>
196+ /// Invokes the <see cref="NpcVerified"/> event.
197+ /// </summary>
198+ /// <param name="player">Player who joined.</param>
199+ public static void OnNpcVerified ( ExPlayer player )
200+ => NpcJoined . InvokeSafe ( player ) ;
201+
202+ /// <summary>
203+ /// Invokes the <see cref="HostVerified"/> event.
204+ /// </summary>
205+ /// <param name="player">Player who joined.</param>
206+ public static void OnHostVerified ( ExPlayer player )
207+ => HostJoined . InvokeSafe ( player ) ;
208+
150209 /// <summary>
151210 /// Invokes the <see cref="Left"/> event.
152211 /// </summary>
153212 /// <param name="player">Player who left.</param>
154213 public static void OnLeft ( ExPlayer player )
155214 => Left . InvokeSafe ( player ) ;
156215
216+ /// <summary>
217+ /// Invokes the <see cref="NpcLeft"/> event.
218+ /// </summary>
219+ /// <param name="player">Player who left.</param>
220+ public static void OnNpcLeft ( ExPlayer player )
221+ => NpcLeft . InvokeSafe ( player ) ;
222+
223+ /// <summary>
224+ /// Invokes the <see cref="HostLeft"/> event.
225+ /// </summary>
226+ /// <param name="player">Player who left.</param>
227+ public static void OnHostLeft ( ExPlayer player )
228+ => HostLeft . InvokeSafe ( player ) ;
229+
157230 /// <summary>
158231 /// Invokes the <see cref="Leaving"/> event.
159232 /// </summary>
0 commit comments