From e5925722805803d465252f2c033ddd45d79804bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=AD=B1=E5=82=91?= Date: Thu, 12 Jan 2023 22:16:03 +0800 Subject: [PATCH] Fix ban issue --- .../com/github/jie65535/openchat/OpenChatData.java | 3 +-- .../com/github/jie65535/openchat/OpenChatSystem.java | 4 +--- .../jie65535/openchat/commands/ChatServerCommands.java | 10 +++++++--- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/github/jie65535/openchat/OpenChatData.java b/src/main/java/com/github/jie65535/openchat/OpenChatData.java index 8b3c69f..d719af1 100644 --- a/src/main/java/com/github/jie65535/openchat/OpenChatData.java +++ b/src/main/java/com/github/jie65535/openchat/OpenChatData.java @@ -17,7 +17,6 @@ */ package com.github.jie65535.openchat; -import java.util.Date; import java.util.HashMap; import java.util.HashSet; @@ -28,7 +27,7 @@ public class OpenChatData { * Key: Uid * Value: End time */ - public HashMap banList = new HashMap<>(); + public HashMap banList = new HashMap<>(); /** * 关闭聊天的玩家集合 diff --git a/src/main/java/com/github/jie65535/openchat/OpenChatSystem.java b/src/main/java/com/github/jie65535/openchat/OpenChatSystem.java index 7de83b3..88d63e8 100644 --- a/src/main/java/com/github/jie65535/openchat/OpenChatSystem.java +++ b/src/main/java/com/github/jie65535/openchat/OpenChatSystem.java @@ -7,8 +7,6 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; import it.unimi.dsi.fastutil.longs.LongArrayFIFOQueue; -import java.util.Date; - public class OpenChatSystem extends ChatSystem { private final OpenChatPlugin plugin; public OpenChatSystem(OpenChatPlugin plugin) { @@ -93,7 +91,7 @@ public class OpenChatSystem extends ChatSystem { var banList = plugin.getData().banList; // 检测是否正在禁言中 if (banList.containsKey(player.getUid())) { - if (banList.get(player.getUid()).before(new Date())) { + if (banList.get(player.getUid()) < System.currentTimeMillis()) { banList.remove(player.getUid()); } else { return true; diff --git a/src/main/java/com/github/jie65535/openchat/commands/ChatServerCommands.java b/src/main/java/com/github/jie65535/openchat/commands/ChatServerCommands.java index 7524050..6610ced 100644 --- a/src/main/java/com/github/jie65535/openchat/commands/ChatServerCommands.java +++ b/src/main/java/com/github/jie65535/openchat/commands/ChatServerCommands.java @@ -5,7 +5,6 @@ import emu.grasscutter.command.Command; import emu.grasscutter.command.CommandHandler; import emu.grasscutter.game.player.Player; -import java.sql.Date; import java.util.List; @Command(label = "serverchat", @@ -26,21 +25,24 @@ public class ChatServerCommands implements CommandHandler { switch (subCommand) { case "on" -> { plugin.getConfig().serverChatEnabled = true; + plugin.saveConfig(); CommandHandler.sendMessage(sender, "OK"); } case "off" -> { plugin.getConfig().serverChatEnabled = false; + plugin.saveConfig(); CommandHandler.sendMessage(sender, "OK"); } case "unban", "unmute" -> { plugin.getData().banList.remove(targetPlayer.getUid()); + plugin.saveData(); CommandHandler.sendMessage(sender, "OK"); } case "ban", "mute" -> { - var time = new Date(2051190000); + var time = 2051190000L; if (args.size() == 2) { try { - time = new Date(System.currentTimeMillis() + Integer.parseInt(args.get(1)) * 60_000L); + time = System.currentTimeMillis() + Integer.parseInt(args.get(1)) * 60_000L; } catch (NumberFormatException ignored) { CommandHandler.sendTranslatedMessage(sender, "commands.ban.invalid_time"); return; @@ -50,6 +52,7 @@ public class ChatServerCommands implements CommandHandler { sendUsageMessage(sender); } else { plugin.getData().banList.put(targetPlayer.getUid(), time); + plugin.saveData(); CommandHandler.sendMessage(sender, "OK"); } } @@ -64,6 +67,7 @@ public class ChatServerCommands implements CommandHandler { } } plugin.getConfig().messageFreLimitPerMinute = times; + plugin.saveConfig(); CommandHandler.sendMessage(sender, "OK"); } }