Skip to content

Commit 8b10fd6

Browse files
committed
Add TpaCommand to support ignored players
1 parent d6f1514 commit 8b10fd6

File tree

1 file changed

+21
-9
lines changed
  • eternalcore-core/src/main/java/com/eternalcode/core/feature/teleport/request

1 file changed

+21
-9
lines changed
Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,41 @@
11
package com.eternalcode.core.feature.teleport.request;
22

33
import com.eternalcode.annotations.scan.command.DescriptionDocs;
4+
import com.eternalcode.core.feature.ignore.IgnoreService;
45
import com.eternalcode.core.injector.annotations.Inject;
56
import com.eternalcode.core.notice.NoticeService;
67
import dev.rollczi.litecommands.argument.Arg;
78
import dev.rollczi.litecommands.command.execute.Execute;
89
import dev.rollczi.litecommands.command.permission.Permission;
910
import dev.rollczi.litecommands.command.route.Route;
1011
import org.bukkit.entity.Player;
12+
import panda.std.reactive.Completable;
1113

1214
@Route(name = "tpa")
1315
@Permission("eternalcore.tpa")
1416
class TpaCommand {
1517

1618
private final TeleportRequestService requestService;
19+
private final IgnoreService ignoreService;
1720
private final NoticeService noticeService;
1821

1922
@Inject
20-
TpaCommand(TeleportRequestService requestService, NoticeService noticeService) {
23+
TpaCommand(TeleportRequestService requestService, IgnoreService ignoreService, NoticeService noticeService) {
2124
this.requestService = requestService;
25+
this.ignoreService = ignoreService;
2226
this.noticeService = noticeService;
2327
}
2428

2529
@Execute(required = 1)
2630
@DescriptionDocs(description = "Send teleport request to player", arguments = "<player>")
2731
void execute(Player player, @Arg Player target) {
2832
if (player.equals(target)) {
29-
3033
this.noticeService.player(player.getUniqueId(), translation -> translation.tpa().tpaSelfMessage());
3134

3235
return;
3336
}
3437

3538
if (this.requestService.hasRequest(player.getUniqueId(), target.getUniqueId())) {
36-
3739
this.noticeService.player(player.getUniqueId(), translation -> translation.tpa().tpaAlreadySentMessage());
3840

3941
return;
@@ -46,14 +48,24 @@ void execute(Player player, @Arg Player target) {
4648
.placeholder("{PLAYER}", target.getName())
4749
.send();
4850

49-
this.noticeService
50-
.create()
51-
.player(target.getUniqueId())
52-
.notice(translation -> translation.tpa().tpaReceivedMessage())
53-
.placeholder("{PLAYER}", player.getName())
54-
.send();
51+
this.isIgnoring(target, player).then((isIgnoring) -> {
52+
if (isIgnoring) {
53+
return;
54+
}
55+
56+
this.noticeService
57+
.create()
58+
.player(target.getUniqueId())
59+
.notice(translation -> translation.tpa().tpaReceivedMessage())
60+
.placeholder("{PLAYER}", player.getName())
61+
.send();
62+
});
5563

5664
this.requestService.createRequest(player.getUniqueId(), target.getUniqueId());
5765
}
66+
67+
Completable<Boolean> isIgnoring(Player target, Player sender) {
68+
return this.ignoreService.isIgnored(target.getUniqueId(), sender.getUniqueId());
69+
}
5870
}
5971

0 commit comments

Comments
 (0)