Skip to content

Commit 426a707

Browse files
committed
ye
1 parent 25e09c0 commit 426a707

File tree

8 files changed

+39
-54
lines changed

8 files changed

+39
-54
lines changed

src/main/java/adhdmc/simplepms/commands/PrivateMessage.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
3131
sender.sendMessage(Resolvers.getInstance().parsePluginPrefix(Message.ERROR_BLANK_MESSAGE.getMessage()));
3232
return true;
3333
}
34-
if (!sender.hasPermission(Perms.SEND_MESSAGE.getPerm())) {
34+
if (!sender.hasPermission(Perm.SEND_MESSAGE.getPerm())) {
3535
sender.sendMessage(Resolvers.getInstance().parsePluginPrefix(Message.ERROR_NO_PERMISSION.getMessage()));
3636
return false;
3737
}
@@ -45,6 +45,10 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
4545
sender.sendMessage(Resolvers.getInstance().parsePluginPrefixAndString(Message.ERROR_RECIPIENT_OFFLINE.getMessage(), "receiver", args[0]));
4646
return false;
4747
}
48+
if (!recipient.hasPermission(Perm.RECEIVE_MESSAGE.getPerm()) && !sender.hasPermission(Perm.RECEIVE_BYPASS.getPerm())) {
49+
sender.sendMessage(Resolvers.getInstance().parsePluginPrefix(Message.ERROR_RECIPIENT_NO_PERMS.getMessage()));
50+
return false;
51+
}
4852
if (sender instanceof Player player){
4953
MessageHandling.getInstance().playerSenderAndReceiver(player, recipient, message);
5054
} else {

src/main/java/adhdmc/simplepms/commands/ReloadCommand.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
package adhdmc.simplepms.commands;
22

33
import adhdmc.simplepms.SimplePMs;
4+
import adhdmc.simplepms.config.LocaleConfig;
45
import adhdmc.simplepms.utils.Message;
5-
import adhdmc.simplepms.utils.Perms;
6+
import adhdmc.simplepms.utils.Perm;
67
import net.kyori.adventure.text.minimessage.MiniMessage;
78
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
89
import org.bukkit.command.Command;
@@ -19,13 +20,12 @@ public class ReloadCommand implements CommandExecutor, TabCompleter {
1920

2021
@Override
2122
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
22-
if (!sender.hasPermission(Perms.RELOAD_CONFIG.getPerm())) {
23+
if (!sender.hasPermission(Perm.RELOAD_CONFIG.getPerm())) {
2324
sender.sendMessage(miniMessage.deserialize(Message.ERROR_NO_PERMISSION.getMessage(),
2425
Placeholder.parsed("plugin_prefix", Message.PLUGIN_PREFIX.getMessage())));
2526
return false;
2627
}
27-
SimplePMs.getInstance().reloadConfig();
28-
Message.reloadMessages();
28+
LocaleConfig.getInstance().reloadLocale();
2929
sender.sendMessage(miniMessage.deserialize(Message.CONFIG_RELOADED.getMessage(),
3030
Placeholder.parsed("plugin_prefix", Message.PLUGIN_PREFIX.getMessage())));
3131
return false;

src/main/java/adhdmc/simplepms/commands/ReplyCommand.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import adhdmc.simplepms.SimplePMs;
44
import adhdmc.simplepms.handling.MessageHandling;
5+
import adhdmc.simplepms.utils.Perm;
56
import adhdmc.simplepms.utils.SPMKey;
67
import adhdmc.simplepms.utils.Message;
78
import adhdmc.simplepms.handling.Resolvers;
@@ -32,26 +33,30 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
3233
}
3334
PersistentDataContainer playerPDC = playerInitiator.getPersistentDataContainer();
3435
String lastMessagedPlayer = playerPDC.getOrDefault(lastMessaged, PersistentDataType.STRING, "");
35-
String message = String.join(" ", Arrays.stream(args).skip(1).collect(Collectors.joining(" ")));
36+
String message = String.join(" ", args);
3637
if (lastMessagedPlayer.equalsIgnoreCase(Message.PDC_CONSOLE.getMessage())) {
3738
MessageHandling.getInstance().playerSenderConsoleReceiver(playerInitiator, message);
3839
return true;
3940
}
4041
Player recipient = Bukkit.getServer().getPlayer(lastMessagedPlayer);
4142
if (recipient == null) {
42-
playerInitiator.sendMessage(Resolvers.getInstance().parsePluginPrefixAndString(Message.ERROR_RECIPIENT_OFFLINE.getMessage(), "receiver", lastMessagedPlayer));
43+
playerInitiator.sendMessage(Resolvers.getInstance().parsePluginPrefixAndString(Message.NO_USER_TO_REPLY.getMessage(), "receiver", lastMessagedPlayer));
4344
return false;
4445
}
4546
if (!recipient.isOnline()) {
4647
playerInitiator.sendMessage(Resolvers.getInstance().parsePluginPrefixAndString(Message.ERROR_RECIPIENT_OFFLINE.getMessage(), "receiver", lastMessagedPlayer));
4748
}
49+
if (!recipient.hasPermission(Perm.RECEIVE_MESSAGE.getPerm()) && !sender.hasPermission(Perm.RECEIVE_BYPASS.getPerm())) {
50+
sender.sendMessage(Resolvers.getInstance().parsePluginPrefix(Message.ERROR_RECIPIENT_NO_PERMS.getMessage()));
51+
return false;
52+
}
4853
MessageHandling.getInstance().playerSenderAndReceiver(playerInitiator, recipient, message);
4954
return true;
5055
}
5156

5257

5358
@Override
5459
public @Nullable List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
55-
return new ArrayList<>();
60+
return null;
5661
}
5762
}

src/main/java/adhdmc/simplepms/commands/SocialSpyCommand.java

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package adhdmc.simplepms.commands;
22

33
import adhdmc.simplepms.SimplePMs;
4+
import adhdmc.simplepms.handling.Resolvers;
45
import adhdmc.simplepms.utils.SPMKey;
56
import adhdmc.simplepms.utils.Message;
6-
import adhdmc.simplepms.utils.Perms;
7+
import adhdmc.simplepms.utils.Perm;
78
import net.kyori.adventure.text.minimessage.MiniMessage;
89
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
910
import org.bukkit.NamespacedKey;
@@ -24,21 +25,13 @@ public class SocialSpyCommand implements CommandExecutor, TabCompleter {
2425

2526
private final HashSet<Player> spyingPlayers = SimplePMs.getSpyingPlayers();
2627
private final NamespacedKey spyToggle = SPMKey.SPY_TOGGLE.getKey();
27-
private final MiniMessage miniMessage = SimplePMs.getMiniMessage();
2828

2929

3030
@Override
3131
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
32-
//Check permissions
33-
if (!sender.hasPermission(Perms.SOCIAL_SPY_TOGGLE.getPerm())) {
34-
sender.sendMessage(miniMessage.deserialize(Message.ERROR_NO_PERMISSION.getMessage(),
35-
Placeholder.parsed("plugin_prefix", Message.PLUGIN_PREFIX.getMessage())));
36-
return false;
37-
}
3832
//Console cannot toggle social spy
3933
if (!(sender instanceof Player player)) {
40-
sender.sendMessage(miniMessage.deserialize(Message.ERROR_PLAYER_COMMAND.getMessage(),
41-
Placeholder.parsed("plugin_prefix", Message.PLUGIN_PREFIX.getMessage())));
34+
sender.sendMessage(Resolvers.
4235
return false;
4336
}
4437
PersistentDataContainer playerPDC = player.getPersistentDataContainer();

src/main/java/adhdmc/simplepms/handling/MessageHandling.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import adhdmc.simplepms.SimplePMs;
44
import adhdmc.simplepms.events.PrivateMessageEvent;
55
import adhdmc.simplepms.utils.Message;
6-
import adhdmc.simplepms.utils.Perms;
6+
import adhdmc.simplepms.utils.Perm;
77
import adhdmc.simplepms.utils.SPMKey;
88
import net.kyori.adventure.text.Component;
99
import org.bukkit.Bukkit;
@@ -24,8 +24,8 @@ public static MessageHandling getInstance() {
2424
}
2525
HashSet<Player> spyingPlayers = SimplePMs.getSpyingPlayers();
2626
NamespacedKey lastMessaged = SPMKey.LAST_MESSAGED.getKey();
27-
Component consoleComponent = SimplePMs.getMiniMessage().deserialize(Message.CONSOLE_FORMAT.getMessage());
28-
27+
Component consoleChatComponent = SimplePMs.getMiniMessage().deserialize(Message.CONSOLE_FORMAT.getMessage());
28+
Component consoleSpyComponent = SimplePMs.getMiniMessage().deserialize(Message.CONSOLE_FORMAT_SPY.getMessage());
2929
public void playerSenderAndReceiver(Player initiator, Player recipient, String messageContent) {
3030
// Calls private message event so other plugins can interact with this
3131
PrivateMessageEvent event = new PrivateMessageEvent(initiator, recipient, messageContent, spyingPlayers);
@@ -46,13 +46,13 @@ public void consoleSenderPlayerReceiver(CommandSender initiator, Player recipien
4646
PrivateMessageEvent event = new PrivateMessageEvent(initiator, recipient, messageContent, spyingPlayers);
4747
Bukkit.getServer().getPluginManager().callEvent(event);
4848
recipient.getPersistentDataContainer().set(lastMessaged, PersistentDataType.STRING, Message.PDC_CONSOLE.getMessage());
49-
recipient.sendMessage(Resolvers.getInstance().parseMessageConsoleToPlayer(Message.RECEIVING_FORMAT.getMessage(), consoleComponent, recipient, messageContent));
50-
initiator.sendMessage(Resolvers.getInstance().parseMessageConsoleToPlayer(Message.SENDING_FORMAT.getMessage(), consoleComponent, recipient, messageContent));
49+
recipient.sendMessage(Resolvers.getInstance().parseMessageConsoleToPlayer(Message.RECEIVING_FORMAT.getMessage(), consoleChatComponent, recipient, messageContent));
50+
initiator.sendMessage(Resolvers.getInstance().parseMessageConsoleToPlayer(Message.SENDING_FORMAT.getMessage(), consoleChatComponent, recipient, messageContent));
5151
for (Player spy : spyingPlayers) {
5252
if (!spy.isOnline()) continue;
5353
if (spy.equals(initiator) || spy.equals(recipient)) continue;
54-
if (!spy.hasPermission(Perms.CONSOLE_MESSAGE_SPY.getPerm())) continue;
55-
spy.sendMessage(Resolvers.getInstance().parseMessageConsoleToPlayer(Message.SPY_FORMAT.getMessage(), consoleComponent, recipient, messageContent));
54+
if (!spy.hasPermission(Perm.CONSOLE_MESSAGE_SPY.getPerm())) continue;
55+
spy.sendMessage(Resolvers.getInstance().parseMessageConsoleToPlayer(Message.SPY_FORMAT.getMessage(), consoleSpyComponent, recipient, messageContent));
5656
}
5757
}
5858

@@ -66,12 +66,12 @@ public void playerSenderConsoleReceiver(CommandSender initiator, String messageC
6666
PrivateMessageEvent event = new PrivateMessageEvent(initiator, Bukkit.getConsoleSender(), messageContent, spyingPlayers);
6767
Bukkit.getServer().getPluginManager().callEvent(event);
6868
initiatingPlayer.getPersistentDataContainer().set(lastMessaged, PersistentDataType.STRING, Message.PDC_CONSOLE.getMessage());
69-
initiatingPlayer.sendMessage(Resolvers.getInstance().parseMessagePlayerToConsole(Message.SENDING_FORMAT.getMessage(), initiatingPlayer, consoleComponent, messageContent));
69+
initiatingPlayer.sendMessage(Resolvers.getInstance().parseMessagePlayerToConsole(Message.SENDING_FORMAT.getMessage(), initiatingPlayer, consoleChatComponent, messageContent));
7070
for (Player spy : spyingPlayers) {
7171
if (!spy.isOnline()) continue;
7272
if (spy.equals(initiator)) continue;
73-
if (!spy.hasPermission(Perms.CONSOLE_MESSAGE_SPY.getPerm())) continue;
74-
spy.sendMessage(Resolvers.getInstance().parseMessagePlayerToConsole(Message.SPY_FORMAT.getMessage(),initiatingPlayer, consoleComponent, messageContent));
73+
if (!spy.hasPermission(Perm.CONSOLE_MESSAGE_SPY.getPerm())) continue;
74+
spy.sendMessage(Resolvers.getInstance().parseMessagePlayerToConsole(Message.SPY_FORMAT.getMessage(),initiatingPlayer, consoleSpyComponent, messageContent));
7575
}
7676
}
7777
}

src/main/java/adhdmc/simplepms/listeners/LoginListener.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import adhdmc.simplepms.SimplePMs;
44
import adhdmc.simplepms.utils.SPMKey;
5-
import adhdmc.simplepms.utils.Perms;
5+
import adhdmc.simplepms.utils.Perm;
66
import org.bukkit.Bukkit;
77
import org.bukkit.NamespacedKey;
88
import org.bukkit.entity.Player;
@@ -24,7 +24,7 @@ public void onPlayerLogin(PlayerLoginEvent loginEvent) {
2424
Player player = loginEvent.getPlayer();
2525
PersistentDataContainer playerPDC = player.getPersistentDataContainer();
2626
if ((playerPDC.getOrDefault(spyToggle, PersistentDataType.BYTE, (byte)0) == (byte)1) &&
27-
player.hasPermission(Perms.SOCIAL_SPY_TOGGLE.getPerm())) {
27+
player.hasPermission(Perm.SOCIAL_SPY_TOGGLE.getPerm())) {
2828
spyingPlayers.add(player);
2929
}
3030
},4);

src/main/java/adhdmc/simplepms/utils/Message.java

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public enum Message {
1414
ERROR_NO_RECIPIENT_PROVIDED("<plugin_prefix> <red>You must provide a valid recipient for your message"),
1515
ERROR_RECIPIENT_OFFLINE("<plugin_prefix> There are no players online by the name of <target>"),
1616
ERROR_BLANK_MESSAGE("<plugin_prefix> You cannot send someone a blank message"),
17-
ERROR_RECIPIENT_BLOCKED("<plugin_prefix> Looks like <target> isn't accepting PMs from you at this time"),
17+
ERROR_RECIPIENT_NO_PERMS("<plugin_prefix> Sorry, looks like that player cannot receive messages right now"),
1818
ERROR_PLAYER_COMMAND("<plugin_prefix> <red>You must be a player to execute this command."),
1919
ERROR_PAPI_NEEDS_ARGUMENT("papi tag requires an argument"),
2020
//basic
@@ -43,23 +43,4 @@ public void setMessage(String message) {
4343
this.message = message;
4444
}
4545

46-
public static void reloadMessages(){
47-
FileConfiguration config = SimplePMs.getInstance().getConfig();
48-
PLUGIN_PREFIX.setMessage(config.getString("plugin-prefix"));
49-
CONSOLE_FORMAT.setMessage(config.getString("console-format"));
50-
CONSOLE_FORMAT_SPY.setMessage(config.getString("console-format-spy"));
51-
CONFIG_RELOADED.setMessage(config.getString("config-reloaded"));
52-
ERROR_NO_PERMISSION.setMessage(config.getString("error-no-permission"));
53-
ERROR_NO_RECIPIENT_PROVIDED.setMessage(config.getString("error-no-recipient-provided"));
54-
ERROR_RECIPIENT_OFFLINE.setMessage(config.getString("error-recipient-offline"));
55-
ERROR_BLANK_MESSAGE.setMessage(config.getString("error-blank-message"));
56-
ERROR_RECIPIENT_BLOCKED.setMessage(config.getString("error-recipient-blocked"));
57-
ERROR_PLAYER_COMMAND.setMessage(config.getString("error-player-command"));
58-
SENDING_FORMAT.setMessage(config.getString("sending-format"));
59-
RECEIVING_FORMAT.setMessage(config.getString("receiving-format"));
60-
NO_USER_TO_REPLY.setMessage(config.getString("no-user-to-reply"));
61-
SPY_FORMAT.setMessage(config.getString("spy-format"));
62-
SPY_ENABLED.setMessage(config.getString("spy-enabled"));
63-
SPY_DISABLED.setMessage(config.getString("spy-disabled"));
64-
}
6546
}

src/main/java/adhdmc/simplepms/utils/Perms.java renamed to src/main/java/adhdmc/simplepms/utils/Perm.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,19 @@
22

33
import org.bukkit.permissions.Permission;
44

5-
public enum Perms {
5+
public enum Perm {
66
SOCIAL_SPY(new Permission("spm.socialspy")),
77
SOCIAL_SPY_TOGGLE(new Permission("spm.socialspy.toggle")),
88
CONSOLE_MESSAGE_SPY(new Permission("spm.consolespy")),
9+
RECEIVE_BYPASS(new Permission("spm.bypass.recipient")),
910
RELOAD_CONFIG(new Permission("spm.reload")),
10-
SEND_MESSAGE(new Permission("spm.send")),
11-
RECEIVE_MESSAGE(new Permission("spm.receive"));
11+
MESSAGE_BASE(new Permission("spm.message")),
12+
SEND_MESSAGE(new Permission("spm.message.send")),
13+
RECEIVE_MESSAGE(new Permission("spm.message.receive"));
1214

1315
final Permission perm;
1416

15-
Perms(Permission perm) {
17+
Perm(Permission perm) {
1618
this.perm = perm;
1719
}
1820
public Permission getPerm(){

0 commit comments

Comments
 (0)