main commit

This commit is contained in:
2026-06-21 11:27:44 +02:00
commit f45e5197a4
44 changed files with 4511 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
import { OnPlayerJoined, OnPlayerQuit } from "@common/shared/modding/players";
import { Modding, OnStart } from "@flamework/core";
import { Players } from "@rbxts/services";
/**
* This Service Manage some player event with modding.
*/
export class PlayerEventsService implements OnStart {
/**
* @inheritdoc
*/
onStart() {
const playerJoinListener = new Set<OnPlayerJoined>();
const playerQuitListener = new Set<OnPlayerQuit>();
Modding.onListenerAdded<OnPlayerJoined>((object) => playerJoinListener.add(object));
Modding.onListenerRemoved<OnPlayerJoined>((object) => playerJoinListener.delete(object));
Modding.onListenerAdded<OnPlayerQuit>((object) => playerQuitListener.add(object));
Modding.onListenerRemoved<OnPlayerQuit>((object) => playerQuitListener.delete(object));
Players.PlayerAdded.Connect((player) => {
for (const listener of playerJoinListener) {
task.spawn(() => listener.onPlayerJoined(player));
}
});
Players.PlayerRemoving.Connect((player) => {
for (const listener of playerQuitListener) {
task.spawn(() => listener.onPlayerQuit(player));
}
});
for (const player of Players.GetPlayers()) {
for (const listener of playerJoinListener) {
task.spawn(() => listener.onPlayerJoined(player));
}
}
}
}