Skip to content
This repository has been archived by the owner on May 13, 2024. It is now read-only.

Commit

Permalink
[ci-skip] Switch to using uuids where it makes sense to
Browse files Browse the repository at this point in the history
  • Loading branch information
ryderbelserion committed Apr 6, 2023
1 parent c5ff165 commit 64368c0
Show file tree
Hide file tree
Showing 11 changed files with 87 additions and 66 deletions.
5 changes: 5 additions & 0 deletions build.gradle.kts
Expand Up @@ -67,6 +67,11 @@ webhook {
» Removed 1.8.8-1.18.2 support, It will be moved into another github branch.
» Expect that the branch likely won't be maintained after a period of time.
» Likely will only be supporting https://papermc.io from this point on.
API:
» All methods handling data in the features has been moved to **com.ryderbelserion.chatmanager.api**
» It can be accessed via our static instance of the plugin i.e ChatManager.getPlugin().api().whateveryouwanttouse
» Warning: It likely will change in the future so don't get to comfy with it.
""".trimIndent())
}
}
Expand Down
24 changes: 15 additions & 9 deletions paper/src/main/java/me/h1dd3nxn1nja/chatmanager/Methods.java
@@ -1,13 +1,12 @@
package me.h1dd3nxn1nja.chatmanager;

import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import me.h1dd3nxn1nja.chatmanager.support.PluginSupport;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import me.clip.placeholderapi.PlaceholderAPI;
import me.h1dd3nxn1nja.chatmanager.commands.CommandMuteChat;
import me.h1dd3nxn1nja.chatmanager.listeners.ListenerCaps;
import net.md_5.bungee.api.ChatColor;

public class Methods {
Expand All @@ -30,14 +29,16 @@ public static String color(String message) {
return ChatColor.translateAlternateColorCodes('&', matcher.appendTail(buffer).toString());
}

public static String color(Player player, String message) {
public static String color(UUID uuid, String message) {
Matcher matcher = HEX_PATTERN.matcher(message);
StringBuilder buffer = new StringBuilder();

while (matcher.find()) {
matcher.appendReplacement(buffer, net.md_5.bungee.api.ChatColor.of(matcher.group()).toString());
}

Player player = plugin.getServer().getPlayer(uuid);

return PluginSupport.PLACEHOLDERAPI.isPluginEnabled() ? ChatColor.translateAlternateColorCodes('&', PlaceholderAPI.setPlaceholders(player, matcher.appendTail(buffer).toString())) : ChatColor.translateAlternateColorCodes('&', matcher.appendTail(buffer).toString());
}

Expand Down Expand Up @@ -68,16 +69,22 @@ public static void tellConsole(String message, boolean prefix) {
sendMessage(plugin.getServer().getConsoleSender(), message, false);
}

public static boolean inRange(Player player, Player receiver, int radius) {
if (receiver.getLocation().getWorld().equals(player.getLocation().getWorld())) {
return receiver.getLocation().distanceSquared(player.getLocation()) <= radius * radius;
public static boolean inRange(UUID uuid, UUID receiver, int radius) {
Player player = plugin.getServer().getPlayer(uuid);
Player other = plugin.getServer().getPlayer(receiver);

if (other.getLocation().getWorld().equals(player.getLocation().getWorld())) {
return other.getLocation().distanceSquared(player.getLocation()) <= radius * radius;
}

return false;
}

public static boolean inWorld(Player player, Player receiver) {
return receiver.getLocation().getWorld().equals(player.getLocation().getWorld());
public static boolean inWorld(UUID uuid, UUID receiver) {
Player player = plugin.getServer().getPlayer(uuid);
Player other = plugin.getServer().getPlayer(receiver);

return other.getLocation().getWorld().equals(player.getLocation().getWorld());
}

public static void sendMessage(CommandSender commandSender, String message, boolean prefixToggle) {
Expand All @@ -86,7 +93,6 @@ public static void sendMessage(CommandSender commandSender, String message, bool
String prefix = getPrefix();

if (commandSender instanceof Player player) {

if (!prefix.isEmpty() && prefixToggle) player.sendMessage(color(message.replace("{Prefix}", prefix))); else player.sendMessage(color(message));

return;
Expand Down
Expand Up @@ -10,6 +10,7 @@
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import java.util.List;
import java.util.UUID;

public class CommandAntiSwear implements CommandExecutor {

Expand All @@ -21,12 +22,12 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @N
FileConfiguration bannedWords = settingsManager.getBannedWords();
FileConfiguration messages = settingsManager.getMessages();

if (!(sender instanceof Player)) {
if (!(sender instanceof Player player)) {
Methods.sendMessage(sender, "&cError: You can only use that command in-game", true);
return true;
}
Player player = (Player) sender;

UUID uuid = player.getUniqueId();

if (cmd.getName().equalsIgnoreCase("AntiSwear")) {
if (player.hasPermission("chatmanager.antiswear")) {
Expand Down Expand Up @@ -87,9 +88,9 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @N
bannedWords.set("Banned-Words", swearWords);
settingsManager.saveBannedWords();
settingsManager.reloadBannedWords();
player.sendMessage(Methods.color(player, messages.getString("Anti_Swear.Blacklisted_Word.Added").replace("{word}", args[2]).replace("{Prefix}", messages.getString("Message.Prefix"))));
player.sendMessage(Methods.color(uuid, messages.getString("Anti_Swear.Blacklisted_Word.Added").replace("{word}", args[2]).replace("{Prefix}", messages.getString("Message.Prefix"))));
} else {
player.sendMessage(Methods.color(player, messages.getString("Anti_Swear.Blacklisted_Word.Exists").replace("{word}", args[2]).replace("{Prefix}", messages.getString("Message.Prefix"))));
player.sendMessage(Methods.color(uuid, messages.getString("Anti_Swear.Blacklisted_Word.Exists").replace("{word}", args[2]).replace("{Prefix}", messages.getString("Message.Prefix"))));
}
} else {
player.sendMessage(Methods.color("&cCommand Usage: &7/Antiswear add blacklist <word>"));
Expand All @@ -108,9 +109,9 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @N
bannedWords.set("Whitelisted_Words", swearWords);
settingsManager.saveBannedWords();
settingsManager.reloadBannedWords();
player.sendMessage(Methods.color(player, messages.getString("Anti_Swear.Whitelisted_Word.Added").replace("{word}", args[2]).replace("{Prefix}", messages.getString("Message.Prefix"))));
player.sendMessage(Methods.color(uuid, messages.getString("Anti_Swear.Whitelisted_Word.Added").replace("{word}", args[2]).replace("{Prefix}", messages.getString("Message.Prefix"))));
} else {
player.sendMessage(Methods.color(player, messages.getString("Anti_Swear.Whitelisted_Word.Exists").replace("{word}", args[2]).replace("{Prefix}", messages.getString("Message.Prefix"))));
player.sendMessage(Methods.color(uuid, messages.getString("Anti_Swear.Whitelisted_Word.Exists").replace("{word}", args[2]).replace("{Prefix}", messages.getString("Message.Prefix"))));
}
} else {
player.sendMessage(Methods.color("&cCommand Usage: &7/Antiswear add whitelist <word>"));
Expand Down Expand Up @@ -141,9 +142,9 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @N
bannedWords.set("Banned-Words", list);
settingsManager.saveBannedWords();
settingsManager.reloadBannedWords();
player.sendMessage(Methods.color(player, messages.getString("Anti_Swear.Blacklisted_Word.Removed").replace("{word}", args[2]).replace("{Prefix}", messages.getString("Message.Prefix"))));
player.sendMessage(Methods.color(uuid, messages.getString("Anti_Swear.Blacklisted_Word.Removed").replace("{word}", args[2]).replace("{Prefix}", messages.getString("Message.Prefix"))));
} else {
player.sendMessage(Methods.color(player, messages.getString("Anti_Swear.Blacklisted_Word.Not_Found").replace("{word}", args[2]).replace("{Prefix}", messages.getString("Message.Prefix"))));
player.sendMessage(Methods.color(uuid, messages.getString("Anti_Swear.Blacklisted_Word.Not_Found").replace("{word}", args[2]).replace("{Prefix}", messages.getString("Message.Prefix"))));
}
} else {
player.sendMessage(Methods.color("&cCommand Usage: &7/Antiswear remove blacklist <word>"));
Expand All @@ -162,9 +163,9 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @N
bannedWords.set("Whitelisted_Words", list);
settingsManager.saveBannedWords();
settingsManager.reloadBannedWords();
player.sendMessage(Methods.color(player, messages.getString("Anti_Swear.Whitelisted_Word.Removed").replace("{word}", args[2]).replace("{Prefix}", messages.getString("Message.Prefix"))));
player.sendMessage(Methods.color(uuid, messages.getString("Anti_Swear.Whitelisted_Word.Removed").replace("{word}", args[2]).replace("{Prefix}", messages.getString("Message.Prefix"))));
} else {
player.sendMessage(Methods.color(player, messages.getString("Anti_Swear.Whitelisted_Word.Not_Found").replace("{word}", args[2]).replace("{Prefix}", messages.getString("Message.Prefix"))));
player.sendMessage(Methods.color(uuid, messages.getString("Anti_Swear.Whitelisted_Word.Not_Found").replace("{word}", args[2]).replace("{Prefix}", messages.getString("Message.Prefix"))));
}
} else {
player.sendMessage(Methods.color("&cCommand Usage: &7/Antiswear remove whitelist <word>"));
Expand Down
Expand Up @@ -160,7 +160,7 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @N
Methods.sendMessage(player, messages.getString("Auto_Broadcast.List").replace("{section}", key), true);

for (String bcmsg : autobroadcast.getStringList("Auto_Broadcast.Per_World_Messages.Messages." + key)) {
if (broadcast != null) player.sendMessage(Methods.color(player, "&7 - " + bcmsg.replace("{Prefix}", broadcast)));
if (broadcast != null) player.sendMessage(Methods.color(player.getUniqueId(), "&7 - " + bcmsg.replace("{Prefix}", broadcast)));
}

Methods.sendMessage(player, "", true);
Expand Down
Expand Up @@ -42,7 +42,7 @@ public void antiSpamChat(AsyncPlayerChatEvent event) {
String msg = plugin.api().getPreviousMsgData().getMessage(player.getUniqueId());

if (message.equalsIgnoreCase(msg)) {
player.sendMessage(Methods.color(player, messages.getString("Anti_Spam.Chat.Repetitive_Message").replace("{Prefix}", messages.getString("Message.Prefix"))));
player.sendMessage(Methods.color(player.getUniqueId(), messages.getString("Anti_Spam.Chat.Repetitive_Message").replace("{Prefix}", messages.getString("Message.Prefix"))));
event.setCancelled(true);
}
}
Expand Down
Expand Up @@ -44,7 +44,7 @@ public void onChat(AsyncPlayerChatEvent event) {
if (matcher.find()) return;

event.setCancelled(true);
player.sendMessage(Methods.color(player, messages.getString("Anti_Unicode.Message").replace("{Prefix}", messages.getString("Message.Prefix"))));
player.sendMessage(Methods.color(player.getUniqueId(), messages.getString("Anti_Unicode.Message").replace("{Prefix}", messages.getString("Message.Prefix"))));

if (config.getBoolean("Anti_Unicode.Notify_Staff")) {
for (Player staff : plugin.getServer().getOnlinePlayers()) {
Expand Down
Expand Up @@ -54,7 +54,7 @@ public void onChat(AsyncPlayerChatEvent event) {
if (plugin.api().getToggleChatData().containsUser(target.getUniqueId())) return;

if (config.getBoolean("Chat_Radius.Enable")) {
if ((!Methods.inRange(target, player, config.getInt("Chat_Radius.Block_Distance"))) || (!Methods.inWorld(target, player))) return;
if ((!Methods.inRange(target.getUniqueId(), player.getUniqueId(), config.getInt("Chat_Radius.Block_Distance"))) || (!Methods.inWorld(target.getUniqueId(), player.getUniqueId()))) return;
}

if (plugin.api().getToggleMentionsData().containsUser(target.getUniqueId())) {
Expand Down
@@ -1,6 +1,8 @@
package me.h1dd3nxn1nja.chatmanager.listeners;

import java.util.Set;
import java.util.UUID;

import me.h1dd3nxn1nja.chatmanager.SettingsManager;
import org.bukkit.ChatColor;
import org.bukkit.configuration.file.FileConfiguration;
Expand All @@ -25,21 +27,23 @@ public void onPlayerChat(AsyncPlayerChatEvent event) {
String message = event.getMessage();
Set<Player> recipients = event.getRecipients();

UUID uuid = player.getUniqueId();

String localOverrideChar = config.getString("Chat_Radius.Local_Chat.Override_Symbol");
String globalOverrideChar = config.getString("Chat_Radius.Global_Chat.Override_Symbol");
String worldOverrideChar = config.getString("Chat_Radius.World_Chat.Override_Symbol");

int radius = settingsManager.getConfig().getInt("Chat_Radius.Block_Distance");

if (!config.getBoolean("Chat_Radius.Enable") || plugin.api().getStaffChatData().containsUser(player.getUniqueId())) return;
if (!config.getBoolean("Chat_Radius.Enable") || plugin.api().getStaffChatData().containsUser(uuid)) return;

if (player.hasPermission("chatmanager.chatradius.global.override")) {
assert globalOverrideChar != null;
if (!globalOverrideChar.equals("")) {
if (ChatColor.stripColor(message).charAt(0) == globalOverrideChar.charAt(0)) {
plugin.api().getWorldChatData().removeUser(player.getUniqueId());
plugin.api().getLocalChatData().removeUser(player.getUniqueId());
plugin.api().getGlobalChatData().addUser(player.getUniqueId());
plugin.api().getWorldChatData().removeUser(uuid);
plugin.api().getLocalChatData().removeUser(uuid);
plugin.api().getGlobalChatData().addUser(uuid);
return;
}
}
Expand All @@ -50,9 +54,9 @@ public void onPlayerChat(AsyncPlayerChatEvent event) {

if (!localOverrideChar.equals("")) {
if (ChatColor.stripColor(message).charAt(0) == localOverrideChar.charAt(0)) {
plugin.api().getWorldChatData().removeUser(player.getUniqueId());
plugin.api().getGlobalChatData().removeUser(player.getUniqueId());
plugin.api().getLocalChatData().addUser(player.getUniqueId());
plugin.api().getWorldChatData().removeUser(uuid);
plugin.api().getGlobalChatData().removeUser(uuid);
plugin.api().getLocalChatData().addUser(uuid);
event.setMessage(message);
return;
}
Expand All @@ -63,20 +67,20 @@ public void onPlayerChat(AsyncPlayerChatEvent event) {
assert worldOverrideChar != null;
if (!worldOverrideChar.equals("")) {
if (ChatColor.stripColor(message).charAt(0) == worldOverrideChar.charAt(0)) {
plugin.api().getGlobalChatData().removeUser(player.getUniqueId());
plugin.api().getLocalChatData().removeUser(player.getUniqueId());
plugin.api().getWorldChatData().addUser(player.getUniqueId());
plugin.api().getGlobalChatData().removeUser(uuid);
plugin.api().getLocalChatData().removeUser(uuid);
plugin.api().getWorldChatData().addUser(uuid);
event.setMessage(message);
return;
}
}
}

if (plugin.api().getLocalChatData().containsUser(player.getUniqueId())) {
if (plugin.api().getLocalChatData().containsUser(uuid)) {
for (Player receiver : plugin.getServer().getOnlinePlayers()) {
recipients.remove(receiver);

if (Methods.inRange(player, receiver, radius)) {
if (Methods.inRange(uuid, receiver.getUniqueId(), radius)) {
recipients.add(player);
recipients.add(receiver);
}
Expand All @@ -85,11 +89,11 @@ public void onPlayerChat(AsyncPlayerChatEvent event) {
}
}

if (plugin.api().getWorldChatData().containsUser(player.getUniqueId())) {
if (plugin.api().getWorldChatData().containsUser(uuid)) {
for (Player receiver : plugin.getServer().getOnlinePlayers()) {
recipients.remove(receiver);

if (Methods.inWorld(player, receiver)) {
if (Methods.inWorld(uuid, receiver.getUniqueId())) {
recipients.add(player);
recipients.add(receiver);
}
Expand Down
Expand Up @@ -16,6 +16,7 @@
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.UUID;

public class ListenerSwear implements Listener {

Expand Down Expand Up @@ -66,7 +67,7 @@ public void onSwear(AsyncPlayerChatEvent event) {
private boolean curseMessageContains(AsyncPlayerChatEvent event, FileConfiguration config, FileConfiguration messages, Player player, String message, Date time, String curseMessage, String blockedWords) {
if (!curseMessage.contains(blockedWords)) return false;

player.sendMessage(Methods.color(player, messages.getString("Anti_Swear.Chat.Message").replace("{Prefix}", messages.getString("Message.Prefix"))));
player.sendMessage(Methods.color(player.getUniqueId(), messages.getString("Anti_Swear.Chat.Message").replace("{Prefix}", messages.getString("Message.Prefix"))));

if (config.getBoolean("Anti_Swear.Chat.Block_Message")) event.setCancelled(true);

Expand Down Expand Up @@ -117,6 +118,8 @@ public void onSwearCommand(PlayerCommandPreprocessEvent event) {
String message = event.getMessage();
Date time = Calendar.getInstance().getTime();

UUID uuid = player.getUniqueId();

List<String> whitelisted = bannedWords.getStringList("Whitelisted_Words");
List<String> whitelistedCommands = config.getStringList("Anti_Swear.Commands.Whitelisted_Commands");
List<String> blockedWordsList = bannedWords.getStringList("Banned-Words");
Expand All @@ -132,7 +135,7 @@ public void onSwearCommand(PlayerCommandPreprocessEvent event) {
}

if (sensitiveMessage.contains(blockedWords)) {
player.sendMessage(Methods.color(player, messages.getString("Anti_Swear.Commands.Message").replace("{Prefix}", messages.getString("Message.Prefix"))));
player.sendMessage(Methods.color(uuid, messages.getString("Anti_Swear.Commands.Message").replace("{Prefix}", messages.getString("Message.Prefix"))));
if (config.getBoolean("Anti_Swear.Commands.Block_Command")) event.setCancelled(true);

if (config.getBoolean("Anti_Swear.Commands.Notify_Staff")) {
Expand All @@ -156,7 +159,7 @@ public void onSwearCommand(PlayerCommandPreprocessEvent event) {
if (!config.getBoolean("Anti_Swear.Commands.Increase_Sensitivity")) {
for (String blockedWords : blockedWordsList) {
if (curseMessage.contains(blockedWords)) {
player.sendMessage(Methods.color(player, messages.getString("Anti_Swear.Commands.Message").replace("{Prefix}", messages.getString("Message.Prefix"))));
player.sendMessage(Methods.color(player.getUniqueId(), messages.getString("Anti_Swear.Commands.Message").replace("{Prefix}", messages.getString("Message.Prefix"))));

if (config.getBoolean("Anti_Swear.Commands.Block_Command")) event.setCancelled(true);

Expand Down Expand Up @@ -220,6 +223,8 @@ public void onSwearSign(SignChangeEvent event) {
Player player = event.getPlayer();
Date time = Calendar.getInstance().getTime();

UUID uuid = player.getUniqueId();

List<String> whitelisted = bannedWords.getStringList("Whitelisted_Words");
List<String> blockedWordsList = bannedWords.getStringList("Banned-Words");

Expand All @@ -237,7 +242,7 @@ public void onSwearSign(SignChangeEvent event) {
}

if (curseMessage.contains(blockedWords)) {
player.sendMessage(Methods.color(player, messages.getString("Anti_Swear.Signs.Message").replace("{Prefix}", messages.getString("Message.Prefix"))));
player.sendMessage(Methods.color(uuid, messages.getString("Anti_Swear.Signs.Message").replace("{Prefix}", messages.getString("Message.Prefix"))));
if (config.getBoolean("Anti_Swear.Signs.Block_Sign")) event.setCancelled(true);

if (config.getBoolean("Anti_Swear.Signs.Notify_Staff")) {
Expand All @@ -264,7 +269,7 @@ public void onSwearSign(SignChangeEvent event) {
for (String curseMessages : message.toLowerCase().split(" ")) {
if (!player.hasPermission("chatmanager.bypass.antiswear")) {
if (bannedWords.getStringList("Banned-Words").contains(curseMessages)) {
player.sendMessage(Methods.color(player, messages.getString("Anti_Swear.Signs.Message").replace("{Prefix}", messages.getString("Message.Prefix"))));
player.sendMessage(Methods.color(uuid, messages.getString("Anti_Swear.Signs.Message").replace("{Prefix}", messages.getString("Message.Prefix"))));

if (config.getBoolean("Anti_Swear.Signs.Block_Sign")) event.setCancelled(true);

Expand Down

0 comments on commit 64368c0

Please sign in to comment.