mirror of
https://github.com/Aust1n46/VentureChat.git
synced 2025-05-22 18:09:06 +00:00
Refactory filter method naming
This commit is contained in:
parent
d36fca277d
commit
62d8c28c5b
@ -32,7 +32,7 @@ public class Me extends UniversalCommand {
|
||||
if (args[x].length() > 0)
|
||||
msg += " " + args[x];
|
||||
if (sender instanceof Player && playerApiService.getOnlineMineverseChatPlayer((Player) sender).isFilter()) {
|
||||
msg = formatService.FilterChat(msg);
|
||||
msg = formatService.filterChat(msg);
|
||||
}
|
||||
if (sender.hasPermission("venturechat.color.legacy")) {
|
||||
msg = FormatUtils.FormatStringLegacyColor(msg);
|
||||
|
@ -83,7 +83,7 @@ public class Message extends PlayerCommand {
|
||||
msg += " " + args[r];
|
||||
}
|
||||
if (mcp.isFilter()) {
|
||||
msg = formatService.FilterChat(msg);
|
||||
msg = formatService.filterChat(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = FormatUtils.FormatStringLegacyColor(msg);
|
||||
@ -182,7 +182,7 @@ public class Message extends PlayerCommand {
|
||||
}
|
||||
String msg = msgBuilder.toString();
|
||||
if (mcp.isFilter()) {
|
||||
msg = formatService.FilterChat(msg);
|
||||
msg = formatService.filterChat(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = FormatUtils.FormatStringLegacyColor(msg);
|
||||
|
@ -249,7 +249,7 @@ public class Party extends PlayerCommand {
|
||||
msg += " " + args[x];
|
||||
}
|
||||
if (mcp.isFilter()) {
|
||||
msg = formatService.FilterChat(msg);
|
||||
msg = formatService.filterChat(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = FormatUtils.FormatStringLegacyColor(msg);
|
||||
|
@ -71,7 +71,7 @@ public class Reply extends PlayerCommand {
|
||||
for (int r = 0; r < args.length; r++)
|
||||
msg += " " + args[r];
|
||||
if (mcp.isFilter()) {
|
||||
msg = formatService.FilterChat(msg);
|
||||
msg = formatService.filterChat(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = FormatUtils.FormatStringLegacyColor(msg);
|
||||
@ -128,7 +128,7 @@ public class Reply extends PlayerCommand {
|
||||
}
|
||||
String msg = msgBuilder.toString();
|
||||
if (mcp.isFilter()) {
|
||||
msg = formatService.FilterChat(msg);
|
||||
msg = formatService.filterChat(msg);
|
||||
}
|
||||
if (mcp.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
msg = FormatUtils.FormatStringLegacyColor(msg);
|
||||
|
@ -100,7 +100,7 @@ public class ChatListener implements Listener {
|
||||
String send = "";
|
||||
String spy = "";
|
||||
if (ventureChatPlayer.isFilter()) {
|
||||
filtered = formatService.FilterChat(filtered);
|
||||
filtered = formatService.filterChat(filtered);
|
||||
}
|
||||
if (ventureChatPlayer.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
filtered = FormatUtils.FormatStringLegacyColor(filtered);
|
||||
@ -155,7 +155,7 @@ public class ChatListener implements Listener {
|
||||
if ((p.hasParty() && p.getParty().toString().equals(ventureChatPlayer.getParty().toString()) || p.isSpy())) {
|
||||
String filtered = chat;
|
||||
if (ventureChatPlayer.isFilter()) {
|
||||
filtered = formatService.FilterChat(filtered);
|
||||
filtered = formatService.filterChat(filtered);
|
||||
}
|
||||
if (ventureChatPlayer.getPlayer().hasPermission("venturechat.color.legacy")) {
|
||||
filtered = FormatUtils.FormatStringLegacyColor(filtered);
|
||||
@ -332,7 +332,7 @@ public class ChatListener implements Listener {
|
||||
format = FormatUtils.FormatStringAll(eventChannel.getFormat());
|
||||
|
||||
if (eventChannel.isFiltered() && mcp.isFilter()) {
|
||||
chat = formatService.FilterChat(chat);
|
||||
chat = formatService.filterChat(chat);
|
||||
}
|
||||
PluginManager pluginManager = plugin.getServer().getPluginManager();
|
||||
Set<Player> recipients = event.getRecipients();
|
||||
|
17
src/main/java/venture/Aust1n46/chat/model/Filter.java
Normal file
17
src/main/java/venture/Aust1n46/chat/model/Filter.java
Normal file
@ -0,0 +1,17 @@
|
||||
package venture.Aust1n46.chat.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class Filter {
|
||||
private String matcher;
|
||||
private String replacer;
|
||||
}
|
@ -12,6 +12,7 @@ import org.bukkit.entity.Player;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
@ -27,6 +28,7 @@ import lombok.ToString;
|
||||
@ToString
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class VentureChatPlayer {
|
||||
@Setter(value = AccessLevel.NONE)
|
||||
private UUID uuid;
|
||||
|
@ -11,10 +11,12 @@ import org.bukkit.configuration.ConfigurationSection;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
import lombok.Getter;
|
||||
import venture.Aust1n46.chat.initiators.application.VentureChat;
|
||||
import venture.Aust1n46.chat.model.Alias;
|
||||
import venture.Aust1n46.chat.model.ChatChannel;
|
||||
import venture.Aust1n46.chat.model.ClickAction;
|
||||
import venture.Aust1n46.chat.model.Filter;
|
||||
import venture.Aust1n46.chat.model.GuiSlot;
|
||||
import venture.Aust1n46.chat.model.JsonAttribute;
|
||||
import venture.Aust1n46.chat.model.JsonFormat;
|
||||
@ -33,6 +35,9 @@ public class ConfigService {
|
||||
private boolean aliasesRegisteredAsCommands;
|
||||
private ChatChannel defaultChatChannel;
|
||||
private String defaultColor;
|
||||
|
||||
@Getter
|
||||
private List<Filter> filters;
|
||||
|
||||
@Inject
|
||||
public void postConstruct() {
|
||||
@ -113,6 +118,12 @@ public class ConfigService {
|
||||
int slot = cs.getInt(key + ".slot");
|
||||
guiSlots.add(new GuiSlot(name, icon, durability, text, permission, command, slot));
|
||||
}
|
||||
|
||||
filters = plugin.getConfig().getStringList("filters")
|
||||
.stream()
|
||||
.map(x -> x.split(","))
|
||||
.map(x -> new Filter(x[0], x[1]))
|
||||
.toList();
|
||||
}
|
||||
|
||||
public boolean areAliasesRegisteredAsCommands() {
|
||||
|
@ -9,7 +9,6 @@ import static venture.Aust1n46.chat.utilities.FormatUtils.HEX_COLOR_CODE_PREFIX;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
@ -30,6 +29,7 @@ import com.google.inject.Singleton;
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import venture.Aust1n46.chat.initiators.application.VentureChat;
|
||||
import venture.Aust1n46.chat.model.ClickAction;
|
||||
import venture.Aust1n46.chat.model.Filter;
|
||||
import venture.Aust1n46.chat.model.JsonAttribute;
|
||||
import venture.Aust1n46.chat.model.JsonFormat;
|
||||
import venture.Aust1n46.chat.model.VentureChatPlayer;
|
||||
@ -631,24 +631,13 @@ public class FormatService {
|
||||
}
|
||||
}
|
||||
|
||||
public String FilterChat(String msg) {
|
||||
int t = 0;
|
||||
List<String> filters = plugin.getConfig().getStringList("filters");
|
||||
for (String s : filters) {
|
||||
t = 0;
|
||||
String[] pparse = new String[2];
|
||||
pparse[0] = " ";
|
||||
pparse[1] = " ";
|
||||
StringTokenizer st = new StringTokenizer(s, ",");
|
||||
while (st.hasMoreTokens()) {
|
||||
if (t < 2) {
|
||||
pparse[t++] = st.nextToken();
|
||||
}
|
||||
}
|
||||
// (?i) = case insensitive
|
||||
msg = msg.replaceAll("(?i)" + pparse[0], pparse[1]);
|
||||
public String filterChat(final String message) {
|
||||
String filteredMessage = message;
|
||||
final List<Filter> filters = configService.getFilters();
|
||||
for (final Filter filter : filters) {
|
||||
filteredMessage = filteredMessage.replaceAll("(?i)" + filter.getMatcher(), filter.getReplacer()); // (?i) = case insensitive
|
||||
}
|
||||
return msg;
|
||||
return filteredMessage;
|
||||
}
|
||||
|
||||
public String underlineURLs() {
|
||||
|
@ -1,80 +1,87 @@
|
||||
package venture.Aust1n46.chat.xcut;
|
||||
|
||||
import com.comphenix.protocol.utility.MinecraftVersion;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
@Singleton
|
||||
public class VersionService {
|
||||
public static final MinecraftVersion SERVER_VERSION = MinecraftVersion.getCurrentVersion();
|
||||
private static final MinecraftVersion MC1_19 = new MinecraftVersion(1, 19, 0);
|
||||
private static final MinecraftVersion MC1_19_1 = new MinecraftVersion(1, 19, 1);
|
||||
private static final MinecraftVersion MC1_20_4 = new MinecraftVersion(1, 20, 4);
|
||||
|
||||
private MinecraftVersion serverVersion;
|
||||
|
||||
@Inject
|
||||
public void postConstruct() {
|
||||
serverVersion = MinecraftVersion.getCurrentVersion();
|
||||
}
|
||||
|
||||
public boolean is1_7() {
|
||||
return SERVER_VERSION.getMinor() == 7 && SERVER_VERSION.getMajor() == 1;
|
||||
return serverVersion.getMinor() == 7 && serverVersion.getMajor() == 1;
|
||||
}
|
||||
|
||||
public boolean is1_8() {
|
||||
return SERVER_VERSION.getMinor() == 8 && SERVER_VERSION.getMajor() == 1;
|
||||
return serverVersion.getMinor() == 8 && serverVersion.getMajor() == 1;
|
||||
}
|
||||
|
||||
public boolean is1_9() {
|
||||
return SERVER_VERSION.getMinor() == 9 && SERVER_VERSION.getMajor() == 1;
|
||||
return serverVersion.getMinor() == 9 && serverVersion.getMajor() == 1;
|
||||
}
|
||||
|
||||
public boolean is1_10() {
|
||||
return SERVER_VERSION.getMinor() == 10 && SERVER_VERSION.getMajor() == 1;
|
||||
return serverVersion.getMinor() == 10 && serverVersion.getMajor() == 1;
|
||||
}
|
||||
|
||||
public boolean is1_11() {
|
||||
return SERVER_VERSION.getMinor() == 11 && SERVER_VERSION.getMajor() == 1;
|
||||
return serverVersion.getMinor() == 11 && serverVersion.getMajor() == 1;
|
||||
}
|
||||
|
||||
public boolean is1_12() {
|
||||
return SERVER_VERSION.getMinor() == 12 && SERVER_VERSION.getMajor() == 1;
|
||||
return serverVersion.getMinor() == 12 && serverVersion.getMajor() == 1;
|
||||
}
|
||||
|
||||
public boolean is1_13() {
|
||||
return SERVER_VERSION.getMinor() == 13 && SERVER_VERSION.getMajor() == 1;
|
||||
return serverVersion.getMinor() == 13 && serverVersion.getMajor() == 1;
|
||||
}
|
||||
|
||||
public boolean is1_14() {
|
||||
return SERVER_VERSION.getBuild() != 4 && SERVER_VERSION.getMinor() == 14 && SERVER_VERSION.getMajor() == 1;
|
||||
return serverVersion.getBuild() != 4 && serverVersion.getMinor() == 14 && serverVersion.getMajor() == 1;
|
||||
}
|
||||
|
||||
public boolean is1_14_4() {
|
||||
return SERVER_VERSION.getBuild() == 4 && SERVER_VERSION.getMinor() == 14 && SERVER_VERSION.getMajor() == 1;
|
||||
return serverVersion.getBuild() == 4 && serverVersion.getMinor() == 14 && serverVersion.getMajor() == 1;
|
||||
}
|
||||
|
||||
public boolean is1_15() {
|
||||
return SERVER_VERSION.getMinor() == 15 && SERVER_VERSION.getMajor() == 1;
|
||||
return serverVersion.getMinor() == 15 && serverVersion.getMajor() == 1;
|
||||
}
|
||||
|
||||
public boolean is1_16() {
|
||||
return SERVER_VERSION.getMinor() == 16 && SERVER_VERSION.getMajor() == 1;
|
||||
return serverVersion.getMinor() == 16 && serverVersion.getMajor() == 1;
|
||||
}
|
||||
|
||||
public boolean is1_17() {
|
||||
return SERVER_VERSION.getMinor() == 17 && SERVER_VERSION.getMajor() == 1;
|
||||
return serverVersion.getMinor() == 17 && serverVersion.getMajor() == 1;
|
||||
}
|
||||
|
||||
public boolean is1_18() {
|
||||
return SERVER_VERSION.getMinor() == 18 && SERVER_VERSION.getMajor() == 1;
|
||||
return serverVersion.getMinor() == 18 && serverVersion.getMajor() == 1;
|
||||
}
|
||||
|
||||
public boolean is1_19() {
|
||||
return SERVER_VERSION.getBuild() == 0 && SERVER_VERSION.getMinor() == 19 && SERVER_VERSION.getMajor() == 1;
|
||||
return serverVersion.getBuild() == 0 && serverVersion.getMinor() == 19 && serverVersion.getMajor() == 1;
|
||||
}
|
||||
|
||||
public boolean isUnder_1_19() {
|
||||
return !SERVER_VERSION.isAtLeast(MC1_19);
|
||||
return !serverVersion.isAtLeast(MC1_19);
|
||||
}
|
||||
|
||||
public boolean isAbove_1_19() {
|
||||
return SERVER_VERSION.isAtLeast(MC1_19_1);
|
||||
return serverVersion.isAtLeast(MC1_19_1);
|
||||
}
|
||||
|
||||
public boolean isAtLeast_1_20_4() {
|
||||
return SERVER_VERSION.isAtLeast(MC1_20_4);
|
||||
return serverVersion.isAtLeast(MC1_20_4);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,41 @@
|
||||
package venture.Aust1n46.chat.service;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
|
||||
import venture.Aust1n46.chat.initiators.application.VentureChat;
|
||||
import venture.Aust1n46.chat.model.Filter;
|
||||
import venture.Aust1n46.chat.xcut.VersionService;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
public class FormatServiceTest {
|
||||
@Mock
|
||||
private VentureChat plugin;
|
||||
@Mock
|
||||
private PlayerApiService playerApiService;
|
||||
@Mock
|
||||
private ConfigService configService;
|
||||
@Mock
|
||||
private VersionService versionService;
|
||||
@InjectMocks
|
||||
private FormatService formatService;
|
||||
|
||||
private static final List<Filter> FILTERS = List.of(new Filter("(b[i1]a?tch(es)?)", "puppy"));
|
||||
|
||||
@Test
|
||||
public void testFilter() {
|
||||
when(configService.getFilters()).thenReturn(FILTERS);
|
||||
final String input = "You are a bitch!";
|
||||
final String expected = "You are a puppy!";
|
||||
final String actual = formatService.filterChat(input);
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user