Skip to content

Commit ca2eec2

Browse files
committed
Check if recipient can receive private messages if recipient does not have bypass permission throw an error
1 parent d42b7f0 commit ca2eec2

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

src/main/java/pro/cloudnode/smp/cloudnodemsg/command/MessageCommand.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import pro.cloudnode.smp.cloudnodemsg.error.MessageYourselfError;
1111
import pro.cloudnode.smp.cloudnodemsg.error.NoPermissionError;
1212
import pro.cloudnode.smp.cloudnodemsg.error.PlayerNotFoundError;
13+
import pro.cloudnode.smp.cloudnodemsg.error.PlayerHasIncomingDisabledError;
1314
import pro.cloudnode.smp.cloudnodemsg.message.Message;
1415

1516
import java.util.ArrayList;
@@ -32,6 +33,7 @@ public boolean run(final @NotNull CommandSender sender, final @NotNull String la
3233
if (recipient.isEmpty() || (CloudnodeMSG.isVanished(recipient.get()) && !sender.hasPermission(Permission.SEND_VANISHED))) return new PlayerNotFoundError(args[0]).send(sender);
3334
if (sender instanceof final @NotNull Player player && recipient.get().getUniqueId().equals(player.getUniqueId()))
3435
return new MessageYourselfError().send(sender);
36+
if (!Message.isIncomeEnabled(recipient.get()) && !sender.hasPermission(Permission.TOGGLE_BYPASS)) return new PlayerHasIncomingDisabledError(recipient.get().getName()).send(sender);
3537

3638
try {
3739
new Message(Message.offlinePlayer(sender), recipient.get(), String.join(" ", Arrays.copyOfRange(args, 1, args.length))).send();

src/main/java/pro/cloudnode/smp/cloudnodemsg/command/ReplyCommand.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@
55
import org.jetbrains.annotations.NotNull;
66
import pro.cloudnode.smp.cloudnodemsg.CloudnodeMSG;
77
import pro.cloudnode.smp.cloudnodemsg.Permission;
8-
import pro.cloudnode.smp.cloudnodemsg.error.InvalidPlayerError;
9-
import pro.cloudnode.smp.cloudnodemsg.error.NoPermissionError;
10-
import pro.cloudnode.smp.cloudnodemsg.error.NobodyReplyError;
11-
import pro.cloudnode.smp.cloudnodemsg.error.ReplyOfflineError;
8+
import pro.cloudnode.smp.cloudnodemsg.error.*;
129
import pro.cloudnode.smp.cloudnodemsg.message.Message;
1310

1411
import java.util.ArrayList;
@@ -26,6 +23,7 @@ public boolean run(final @NotNull CommandSender sender, final @NotNull String la
2623

2724
final @NotNull Optional<@NotNull OfflinePlayer> recipient = Message.getReplyTo(Message.offlinePlayer(sender));
2825
if (recipient.isEmpty()) return new NobodyReplyError().send(sender);
26+
if (!Message.isIncomeEnabled(Objects.requireNonNull(recipient.get().getPlayer())) && !sender.hasPermission(Permission.TOGGLE_BYPASS)) return new PlayerHasIncomingDisabledError(Objects.requireNonNull(recipient.get().getName())).send(sender);
2927
if (
3028
!recipient.get().getUniqueId().equals(Message.console.getUniqueId())
3129
&& (

0 commit comments

Comments
 (0)