vote_mute #2

Merged
stijn merged 19 commits from vote_mute into main 2025-01-22 20:45:21 +00:00
3 changed files with 12 additions and 6 deletions
Showing only changes of commit c057c69653 - Show all commits

View File

@ -15,11 +15,11 @@ import java.util.concurrent.*;
public class ChatLogHandler { public class ChatLogHandler {
private static ChatLogHandler instance = null; private static ChatLogHandler instance = null;
private final ScheduledExecutorService executorService; private ScheduledExecutorService executorService = null;
public static ChatLogHandler getInstance() { public static ChatLogHandler getInstance(boolean enableLogging) {
if (instance == null) if (instance == null)
instance = new ChatLogHandler(); instance = new ChatLogHandler(enableLogging);
return instance; return instance;
} }
@ -27,7 +27,9 @@ public class ChatLogHandler {
private final Queue<ChatLog> chatLogQueue = new ConcurrentLinkedQueue<>(); private final Queue<ChatLog> chatLogQueue = new ConcurrentLinkedQueue<>();
private final HashMap<UUID, List<ChatLog>> chatLogs = new HashMap<>(); private final HashMap<UUID, List<ChatLog>> chatLogs = new HashMap<>();
public ChatLogHandler() { public ChatLogHandler(boolean enableLogging) {
if (!enableLogging)
return;
Duration deleteThreshold = Duration.ofDays(Config.CHAT_LOG_DELETE_OLDER_THAN_DAYS); Duration deleteThreshold = Duration.ofDays(Config.CHAT_LOG_DELETE_OLDER_THAN_DAYS);
ChatLogQueries.deleteOldMessages(deleteThreshold).thenAccept(success -> { ChatLogQueries.deleteOldMessages(deleteThreshold).thenAccept(success -> {
if (success) { if (success) {
@ -41,6 +43,10 @@ public class ChatLogHandler {
Config.CHAT_LOG_SAVE_DELAY_MINUTES, Config.CHAT_LOG_SAVE_DELAY_MINUTES, TimeUnit.MINUTES); Config.CHAT_LOG_SAVE_DELAY_MINUTES, Config.CHAT_LOG_SAVE_DELAY_MINUTES, TimeUnit.MINUTES);
} }
/**
* Shuts down the executor service and saves the chat logs to the database.
* Will throw an error if called on a ChatLogHandler that was started without logging
*/
public void shutDown() { public void shutDown() {
executorService.shutdown(); executorService.shutdown();
saveToDatabase(true); saveToDatabase(true);

View File

@ -39,7 +39,7 @@ public class ChatPlugin extends JavaPlugin {
chatHandler = new ChatHandler(); chatHandler = new ChatHandler();
DatabaseConnection.initialize(); DatabaseConnection.initialize();
serverConfig = new ServerConfig(Bukkit.getServerName()); serverConfig = new ServerConfig(Bukkit.getServerName());
ChatLogHandler chatLogHandler = ChatLogHandler.getInstance(); ChatLogHandler chatLogHandler = ChatLogHandler.getInstance(true);
registerListener(new PlayerListener(serverConfig), new ChatListener(chatLogHandler), new BookListener(), new ShutdownListener(chatLogHandler)); registerListener(new PlayerListener(serverConfig), new ChatListener(chatLogHandler), new BookListener(), new ShutdownListener(chatLogHandler));
if(serverConfig.GLOBALCHAT) { if(serverConfig.GLOBALCHAT) {
registerCommand("globalchat", new GlobalChat()); registerCommand("globalchat", new GlobalChat());

View File

@ -110,7 +110,7 @@ public class VelocityChat {
} }
public void loadCommands() { public void loadCommands() {
ChatLogHandler instance = ChatLogHandler.getInstance(); //TODO disable logging part ChatLogHandler instance = ChatLogHandler.getInstance(false);
new SilentJoinCommand(server); new SilentJoinCommand(server);
new GlobalAdminChat(server); new GlobalAdminChat(server);
new Reload(server); new Reload(server);