mirror of
https://github.com/jie65535/gc-openchat-plugin.git
synced 2025-12-05 18:01:38 +08:00
Update save config changes
Add `/serverchat limit <times>` subcommand
This commit is contained in:
@@ -44,13 +44,7 @@ public final class OpenChatPlugin extends Plugin {
|
||||
var configFile = new File(getDataFolder(), "config.json");
|
||||
if (!configFile.exists()) {
|
||||
config = new OpenChatConfig();
|
||||
try (var file = new FileWriter(configFile, StandardCharsets.UTF_8)) {
|
||||
file.write(JsonUtils.encode(config));
|
||||
} catch (IOException e) {
|
||||
getLogger().error("[OpenChat] Unable to write to config file.");
|
||||
} catch (Exception e) {
|
||||
getLogger().error("[OpenChat] Unable to save config file.");
|
||||
}
|
||||
saveConfig();
|
||||
} else {
|
||||
try {
|
||||
config = JsonUtils.loadToClass(configFile.toPath(), OpenChatConfig.class);
|
||||
@@ -60,6 +54,16 @@ public final class OpenChatPlugin extends Plugin {
|
||||
}
|
||||
}
|
||||
}
|
||||
private void saveConfig() {
|
||||
var configFile = new File(getDataFolder(), "config.json");
|
||||
try (var file = new FileWriter(configFile, StandardCharsets.UTF_8)) {
|
||||
file.write(JsonUtils.encode(config));
|
||||
} catch (IOException e) {
|
||||
getLogger().error("[OpenChat] Unable to write to config file.");
|
||||
} catch (Exception e) {
|
||||
getLogger().error("[OpenChat] Unable to save config file.");
|
||||
}
|
||||
}
|
||||
|
||||
private OpenChatData data;
|
||||
public OpenChatData getData() {
|
||||
@@ -119,6 +123,7 @@ public final class OpenChatPlugin extends Plugin {
|
||||
@Override
|
||||
public void onDisable() {
|
||||
saveData();
|
||||
saveConfig();
|
||||
getLogger().info("[OpenChat] Disabled.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ import java.util.List;
|
||||
|
||||
@Command(label = "serverchat",
|
||||
aliases = { "sc" },
|
||||
usage = { "on/off", "unban|unmute @uid", "ban|mute @uid [time(Minutes)]"},
|
||||
usage = { "on/off", "unban|unmute @uid", "ban|mute @uid [time(Minutes)]", "limit <timesPerMinute>" },
|
||||
permission = "server.chat",
|
||||
permissionTargeted = "server.chat.others")
|
||||
public class ChatServerCommands implements CommandHandler {
|
||||
@@ -40,7 +40,7 @@ public class ChatServerCommands implements CommandHandler {
|
||||
var time = new Date(2051190000);
|
||||
if (args.size() == 2) {
|
||||
try {
|
||||
time = new Date(System.currentTimeMillis() / 1000 + Integer.parseInt(args.get(0)) * 60L);
|
||||
time = new Date(System.currentTimeMillis() / 1000 + Integer.parseInt(args.get(1)) * 60L);
|
||||
} catch (NumberFormatException ignored) {
|
||||
CommandHandler.sendTranslatedMessage(sender, "commands.ban.invalid_time");
|
||||
return;
|
||||
@@ -49,6 +49,19 @@ public class ChatServerCommands implements CommandHandler {
|
||||
plugin.getData().banList.put(targetPlayer.getUid(), time);
|
||||
CommandHandler.sendMessage(sender, "OK");
|
||||
}
|
||||
case "limit" -> {
|
||||
var times = 20;
|
||||
if (args.size() == 2) {
|
||||
try {
|
||||
times = Integer.parseInt(args.get(1));
|
||||
} catch (NumberFormatException ignored) {
|
||||
sendUsageMessage(sender);
|
||||
return;
|
||||
}
|
||||
}
|
||||
plugin.getConfig().messageFreLimitPerMinute = times;
|
||||
CommandHandler.sendMessage(sender, "OK");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user