Skip to content

Commit 4877426

Browse files
committed
Fix.
1 parent cea8351 commit 4877426

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package com.eternalcode.core.feature.adminchat;
2+
3+
import com.eternalcode.core.injector.annotations.Inject;
4+
import com.eternalcode.core.injector.annotations.component.Controller;
5+
import org.bukkit.entity.Player;
6+
import org.bukkit.event.EventHandler;
7+
import org.bukkit.event.EventPriority;
8+
import org.bukkit.event.Listener;
9+
import org.bukkit.event.player.AsyncPlayerChatEvent;
10+
import org.bukkit.event.player.PlayerQuitEvent;
11+
import org.jetbrains.annotations.NotNull;
12+
13+
@Controller
14+
final class AdminChatChannelController implements Listener {
15+
16+
private final AdminChatService adminChatService;
17+
18+
@Inject
19+
AdminChatChannelController(@NotNull AdminChatService adminChatService) {
20+
this.adminChatService = adminChatService;
21+
}
22+
23+
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
24+
void onPlayerChat(@NotNull AsyncPlayerChatEvent event) {
25+
Player player = event.getPlayer();
26+
27+
if (!this.adminChatService.hasEnabledChat(player.getUniqueId())) {
28+
return;
29+
}
30+
31+
event.setCancelled(true);
32+
33+
this.adminChatService.sendAdminChatMessage(event.getMessage(), player);
34+
}
35+
36+
@EventHandler(priority = EventPriority.MONITOR)
37+
void onPlayerQuit(@NotNull PlayerQuitEvent event) {
38+
Player player = event.getPlayer();
39+
40+
if (this.adminChatService.hasEnabledChat(player.getUniqueId())) {
41+
this.adminChatService.disableChat(player.getUniqueId());
42+
}
43+
}
44+
}

0 commit comments

Comments
 (0)