mirror of
https://github.com/jie65535/gc-openchat-plugin.git
synced 2025-07-31 18:39:56 +08:00
Fix ban issue
This commit is contained in:
parent
de01151d12
commit
e592572280
@ -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<Integer, Date> banList = new HashMap<>();
|
||||
public HashMap<Integer, Long> banList = new HashMap<>();
|
||||
|
||||
/**
|
||||
* 关闭聊天的玩家集合
|
||||
|
@ -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;
|
||||
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user