Removed Bukkit stuff I missed from the general use API
This commit is contained in:
parent
e253894a77
commit
dfcf8de34e
|
|
@ -434,4 +434,30 @@ public class Queries {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getDisplayName(UUID uuid) {
|
||||||
|
String nickname = getNickname(uuid);
|
||||||
|
if (nickname != null) return nickname;
|
||||||
|
|
||||||
|
// View has been created.
|
||||||
|
String query = "SELECT Username FROM utility_users WHERE uuid = ?";
|
||||||
|
|
||||||
|
try {
|
||||||
|
Connection connection = DatabaseConnection.getConnection();
|
||||||
|
|
||||||
|
PreparedStatement statement = connection.prepareStatement(query);
|
||||||
|
|
||||||
|
statement.setString(1, uuid.toString());
|
||||||
|
|
||||||
|
ResultSet resultSet = statement.executeQuery();
|
||||||
|
|
||||||
|
if (resultSet.next()) {
|
||||||
|
return resultSet.getString("Username");
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,16 @@
|
||||||
package com.alttd.chat.managers;
|
package com.alttd.chat.managers;
|
||||||
|
|
||||||
|
import com.alttd.chat.ChatAPI;
|
||||||
import com.alttd.chat.config.RegexConfig;
|
import com.alttd.chat.config.RegexConfig;
|
||||||
import com.alttd.chat.objects.ChatFilter;
|
import com.alttd.chat.objects.ChatFilter;
|
||||||
import com.alttd.chat.util.ALogger;
|
import com.alttd.chat.util.ALogger;
|
||||||
import org.bukkit.Bukkit;
|
import net.luckperms.api.LuckPerms;
|
||||||
import org.bukkit.entity.Player;
|
import net.luckperms.api.cacheddata.CachedPermissionData;
|
||||||
|
import net.luckperms.api.model.user.User;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
|
@ -26,7 +29,13 @@ public class RegexManager {
|
||||||
chatFilters.add(filter);
|
chatFilters.add(filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String replaceText(Player player, String text) { // TODO loop all objects in the list and check if they violate based on the MATCHER
|
public static String replaceText(String playerName, UUID uuid, String text) { // TODO loop all objects in the list and check if they violate based on the MATCHER
|
||||||
|
User user = ChatAPI.get().getLuckPerms().getUserManager().getUser(uuid);
|
||||||
|
if (user == null) {
|
||||||
|
ALogger.warn("Tried to check chat filters for a user who doesn't exist in LuckPerms");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
CachedPermissionData permissionData = user.getCachedData().getPermissionData();
|
||||||
for(ChatFilter chatFilter : chatFilters) {
|
for(ChatFilter chatFilter : chatFilters) {
|
||||||
switch (chatFilter.getType()) {
|
switch (chatFilter.getType()) {
|
||||||
case CHAT:
|
case CHAT:
|
||||||
|
|
@ -35,8 +44,8 @@ public class RegexManager {
|
||||||
text = chatFilter.replaceText(text);
|
text = chatFilter.replaceText(text);
|
||||||
break;
|
break;
|
||||||
case BLOCK:
|
case BLOCK:
|
||||||
if(chatFilter.matches(text) && !player.hasPermission("chat.bypass-filter." + chatFilter.getName())) { // todo find a better way to do this?
|
if(chatFilter.matches(text) && !permissionData.checkPermission("chat.bypass-filter." + chatFilter.getName()).asBoolean()) { // todo find a better way to do this?
|
||||||
ALogger.info(player.getName() + " triggered the chat filter for " + chatFilter.getName() + ".");
|
ALogger.info(playerName + " triggered the chat filter for " + chatFilter.getName() + ".");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,6 @@ package com.alttd.chat.objects;
|
||||||
import com.alttd.chat.database.Queries;
|
import com.alttd.chat.database.Queries;
|
||||||
import com.alttd.chat.util.Utility;
|
import com.alttd.chat.util.Utility;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.OfflinePlayer;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -32,14 +30,9 @@ public class ChatUser {
|
||||||
this.partyId = partyId;
|
this.partyId = partyId;
|
||||||
this.toggledPartyChat = toggledChat;
|
this.toggledPartyChat = toggledChat;
|
||||||
|
|
||||||
name = Queries.getNickname(uuid);
|
name = Queries.getDisplayName(uuid);
|
||||||
if (name == null) {
|
if (name == null) {
|
||||||
OfflinePlayer player = Bukkit.getPlayer(uuid);
|
name = Utility.getDisplayName(uuid, "");
|
||||||
String playerName = "";
|
|
||||||
if (player != null && player.hasPlayedBefore()) {
|
|
||||||
playerName = player.getName();
|
|
||||||
}
|
|
||||||
name = Utility.getDisplayName(uuid, playerName);
|
|
||||||
}
|
}
|
||||||
setDisplayName(name);
|
setDisplayName(name);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ public class ChatHandler {
|
||||||
public void privateMessage(Player player, String target, String message) {
|
public void privateMessage(Player player, String target, String message) {
|
||||||
ChatUser user = ChatUserManager.getChatUser(player.getUniqueId());
|
ChatUser user = ChatUserManager.getChatUser(player.getUniqueId());
|
||||||
user.setReplyTarget(target);
|
user.setReplyTarget(target);
|
||||||
String updatedMessage = RegexManager.replaceText(player, message); // todo a better way for this
|
String updatedMessage = RegexManager.replaceText(player.getName(), player.getUniqueId(), message); // todo a better way for this
|
||||||
if(updatedMessage == null) {
|
if(updatedMessage == null) {
|
||||||
GalaxyUtility.sendBlockedNotification("DM Language", player, message, target);
|
GalaxyUtility.sendBlockedNotification("DM Language", player, message, target);
|
||||||
return; // the message was blocked
|
return; // the message was blocked
|
||||||
|
|
@ -100,7 +100,7 @@ public class ChatHandler {
|
||||||
Component senderName = user.getDisplayName();
|
Component senderName = user.getDisplayName();
|
||||||
Component prefix = user.getPrefix();
|
Component prefix = user.getPrefix();
|
||||||
|
|
||||||
String updatedMessage = RegexManager.replaceText(player, message); // todo a better way for this
|
String updatedMessage = RegexManager.replaceText(player.getName(), player.getUniqueId(), message); // todo a better way for this
|
||||||
if(updatedMessage == null) {
|
if(updatedMessage == null) {
|
||||||
GalaxyUtility.sendBlockedNotification("GC Language", player, message, "");
|
GalaxyUtility.sendBlockedNotification("GC Language", player, message, "");
|
||||||
return; // the message was blocked
|
return; // the message was blocked
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ public class ChatListener implements Listener, ChatRenderer {
|
||||||
|
|
||||||
MiniMessage miniMessage = MiniMessage.get();
|
MiniMessage miniMessage = MiniMessage.get();
|
||||||
|
|
||||||
message = RegexManager.replaceText(event.getPlayer(), message); // todo a better way for this
|
message = RegexManager.replaceText(player.getName(), player.getUniqueId(), message); // todo a better way for this
|
||||||
if(message == null) {
|
if(message == null) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
GalaxyUtility.sendBlockedNotification("Language", player, input, "");
|
GalaxyUtility.sendBlockedNotification("Language", player, input, "");
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import com.alttd.chat.util.GalaxyUtility;
|
||||||
import com.alttd.chat.util.Utility;
|
import com.alttd.chat.util.Utility;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.serializer.plain.PlainComponentSerializer;
|
import net.kyori.adventure.text.serializer.plain.PlainComponentSerializer;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.block.SignChangeEvent;
|
import org.bukkit.event.block.SignChangeEvent;
|
||||||
|
|
@ -41,11 +42,11 @@ public class PlayerListener implements Listener {
|
||||||
Component component = event.line(i);
|
Component component = event.line(i);
|
||||||
if (component != null) {
|
if (component != null) {
|
||||||
String message = PlainComponentSerializer.plain().serialize(component);
|
String message = PlainComponentSerializer.plain().serialize(component);
|
||||||
|
Player player = event.getPlayer();
|
||||||
message = RegexManager.replaceText(event.getPlayer(), message); // todo a better way for this
|
message = RegexManager.replaceText(player.getName(), player.getUniqueId(), message); // todo a better way for this
|
||||||
|
|
||||||
if (message == null) {
|
if (message == null) {
|
||||||
GalaxyUtility.sendBlockedNotification("Sign Language" ,event.getPlayer(), PlainComponentSerializer.plain().serialize(component), "");
|
GalaxyUtility.sendBlockedNotification("Sign Language" , player, PlainComponentSerializer.plain().serialize(component), "");
|
||||||
}
|
}
|
||||||
|
|
||||||
component = message == null ? Component.empty() : Component.text(message);
|
component = message == null ? Component.empty() : Component.text(message);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user