actually bruh
This commit is contained in:
+9
-6
@@ -9,10 +9,11 @@ StaffPlugin (entry)
|
||||
| +-- PunishmentRepository SQL CRUD
|
||||
| +-- MuteCache in-memory map of active mutes for online players
|
||||
+-- StaffChatService cross-server staff chat over MessageBus
|
||||
+-- PlayerSeenTracker writes to players_seen on join/leave
|
||||
+-- StaffChatToggleService in-memory toggle of which players have chat-to-staff mode on
|
||||
+-- PlayerSeenTracker writes to players_seen on join/leave; clears toggle on disconnect
|
||||
| +-- PlayerSeenRepository SQL CRUD
|
||||
+-- BanEnforcer cancels PlayerSetupConnectEvent if banned
|
||||
+-- ChatEnforcer cancels PlayerChatEvent if muted
|
||||
+-- ChatEnforcer cancels PlayerChatEvent if muted; routes to staff chat if toggle is on
|
||||
```
|
||||
|
||||
External dependencies:
|
||||
@@ -28,7 +29,8 @@ External dependencies:
|
||||
|---|---|
|
||||
| [StaffPlugin.java](../src/main/java/net/kewwbec/staff/StaffPlugin.java) | Plugin entry. Reads NetworkCore services, bootstraps schema, registers everything. |
|
||||
| [config/StaffConfig.java](../src/main/java/net/kewwbec/staff/config/StaffConfig.java) | Default config shape. |
|
||||
| [util/StaffPermissions.java](../src/main/java/net/kewwbec/staff/util/StaffPermissions.java) | `isStaff(uuid)` / `isAdmin(uuid)` checks. |
|
||||
| [util/StaffPermissions.java](../src/main/java/net/kewwbec/staff/util/StaffPermissions.java) | Thin wrapper for `PermissionsModule.get().hasPermission(uuid, node)`. Just `has(ref, node)`. |
|
||||
| [StaffPermissionsNodes.java](../src/main/java/net/kewwbec/staff/StaffPermissionsNodes.java) | String constants for every `networkstaff.*` node. |
|
||||
| [util/PlayerResolver.java](../src/main/java/net/kewwbec/staff/util/PlayerResolver.java) | Name -> UUID, looks at online players first, then players_seen. |
|
||||
| [util/DurationParser.java](../src/main/java/net/kewwbec/staff/util/DurationParser.java) | Parse "30m", "2h" etc.; format milliseconds back to human strings. |
|
||||
| [model/Punishment.java](../src/main/java/net/kewwbec/staff/model/Punishment.java), [PunishmentType.java](../src/main/java/net/kewwbec/staff/model/PunishmentType.java), [PlayerSeen.java](../src/main/java/net/kewwbec/staff/model/PlayerSeen.java) | Record types. |
|
||||
@@ -38,12 +40,13 @@ External dependencies:
|
||||
| [service/PunishmentService.java](../src/main/java/net/kewwbec/staff/service/PunishmentService.java) | Issuing/revoking + cross-server broadcast + applying remote actions locally. |
|
||||
| [service/MuteCache.java](../src/main/java/net/kewwbec/staff/service/MuteCache.java) | Per-server hot cache of active mutes for online players. |
|
||||
| [service/StaffChatService.java](../src/main/java/net/kewwbec/staff/service/StaffChatService.java) | Cross-server staff chat over MessageBus. |
|
||||
| [service/StaffChatToggleService.java](../src/main/java/net/kewwbec/staff/service/StaffChatToggleService.java) | In-memory set of players whose chat is currently being routed to staff chat. |
|
||||
| [service/PunishmentBroadcast.java](../src/main/java/net/kewwbec/staff/service/PunishmentBroadcast.java), [StaffChatPayload.java](../src/main/java/net/kewwbec/staff/service/StaffChatPayload.java) | Wire payloads. |
|
||||
| [listener/BanEnforcer.java](../src/main/java/net/kewwbec/staff/listener/BanEnforcer.java) | `PlayerSetupConnectEvent` -> cancel + set reason if banned. |
|
||||
| [listener/ChatEnforcer.java](../src/main/java/net/kewwbec/staff/listener/ChatEnforcer.java) | `PlayerChatEvent` -> cancel if muted. |
|
||||
| [listener/PlayerSeenTracker.java](../src/main/java/net/kewwbec/staff/listener/PlayerSeenTracker.java) | Connect/disconnect -> update players_seen, load/clear mute cache. |
|
||||
| [listener/ChatEnforcer.java](../src/main/java/net/kewwbec/staff/listener/ChatEnforcer.java) | `PlayerChatEvent` -> cancel if muted; otherwise route to staff chat if toggle is on. |
|
||||
| [listener/PlayerSeenTracker.java](../src/main/java/net/kewwbec/staff/listener/PlayerSeenTracker.java) | Connect/disconnect -> update players_seen, load/clear mute cache, clear staff-chat toggle. |
|
||||
| [command/punish/PunishmentCommands.java](../src/main/java/net/kewwbec/staff/command/punish/PunishmentCommands.java) | All 8 punishment commands as nested classes. |
|
||||
| [command/chat/StaffChatCommand.java](../src/main/java/net/kewwbec/staff/command/chat/StaffChatCommand.java) | `/sc`. |
|
||||
| [command/chat/StaffChatCommand.java](../src/main/java/net/kewwbec/staff/command/chat/StaffChatCommand.java) | `/sc` - toggles staff-chat-mode for the caller. |
|
||||
| [command/lookup/LookupCommand.java](../src/main/java/net/kewwbec/staff/command/lookup/LookupCommand.java), [HistoryCommand.java](../src/main/java/net/kewwbec/staff/command/lookup/HistoryCommand.java) | `/lookup`, `/history`. |
|
||||
|
||||
## Why the design is this shape
|
||||
|
||||
Reference in New Issue
Block a user