feat: add some config

This commit is contained in:
Tsubasa6848
2024-02-15 21:13:44 +08:00
Unverified
parent 87030e34f0
commit bef8d29170
4 changed files with 30 additions and 6 deletions
+20 -3
View File
@@ -133,11 +133,28 @@ void CleanTask() {
auto announce_time = Config->getValue<int>({"Basic", "Notice2"}, 15);
auto time_1 = std::chrono::seconds::duration(time);
auto time_2 = std::chrono::seconds::duration(time - announce_time);
logger.info(tr("cleaner.output.count1", {S(time_1.count())}));
scheduler.add<DelayTask>(time_2, [announce_time] { logger.info(tr("cleaner.output.count2", {S(announce_time)})); });
if (Config->getValue<bool>({"Basic", "ConsoleLog"}, true)) {
logger.info(tr("cleaner.output.count1", {S(time_1.count())}));
}
if (Config->getValue<bool>({"Basic", "SendBroadcast"}, true)) {
TextPacket::createRawMessage(tr("cleaner.output.count1", {S(time_1.count())})).sendToClients();
}
scheduler.add<DelayTask>(time_2, [announce_time] {
if (Config->getValue<bool>({"Basic", "ConsoleLog"}, true)) {
logger.info(tr("cleaner.output.count2", {S(announce_time)}));
}
if (Config->getValue<bool>({"Basic", "SendBroadcast"}, true)) {
TextPacket::createRawMessage(tr("cleaner.output.count2", {S(announce_time)})).sendToClients();
}
});
scheduler.add<DelayTask>(time_1, [] {
auto count = ExecuteClean();
logger.info(tr("cleaner.output.finish", {S(count)}));
if (Config->getValue<bool>({"Basic", "ConsoleLog"}, true)) {
logger.info(tr("cleaner.output.finish", {S(count)}));
}
if (Config->getValue<bool>({"Basic", "SendBroadcast"}, true)) {
TextPacket::createRawMessage(tr("cleaner.output.finish", {S(count)})).sendToClients();
}
auto_clean_triggerred = false;
});
}
+1 -2
View File
@@ -8,8 +8,7 @@ inline std::string defaultConfig = R"({
"Command": "cleaner",
"Notice1": 20,
"Notice2": 5,
"SendBroadcast": true,
"SendToast": false
"SendBroadcast": true
},
"AutoCleanCount": {
"Enabled": true,
+2
View File
@@ -2,12 +2,14 @@
#include "Global.h"
std::string defaultLanguage_zh_CN = R"({
"cleaner.toast.title": "§e§lCleaner",
"cleaner.command.cleaner": "Cleaner管理员命令。",
"cleaner.command.despawnSuccess": "已成功清除了 %1$s 个实体",
"cleaner.command.error.noTarget": "没有与选择器匹配的目标",
"cleaner.command.error.playerOnly": "该命令只能由玩家执行!",
"cleaner.command.tps.output": "当前服务器实时TPS %1$s §r,平均TPS %2$s",
"cleaner.command.mspt.output": "当前服务器实MSPT %1$s",
"cleaner.command.clean.output": "已成功启动清理任务!",
"cleaner.command.voteclean": "发起实体清理投票。",
"cleaner.command.despawntime" : "已成功将物品消失时间设置为 %1$s 游戏刻",
"cleaner.output.count1": "系统将在 %1$s 秒后自动清理服务器实体!",
+7 -1
View File
@@ -33,7 +33,13 @@ void RegCleanerCommand() {
switch (param.action) {
case CleanerParam::Action::clean: {
Cleaner::CleanTask();
return output.success(tr("cleaner.output.opClean"));
if (Config->getValue<bool>({"Basic", "ConsoleLog"}, true)) {
logger.info(tr("cleaner.output.opClean"));
}
if (Config->getValue<bool>({"Basic", "SendBroadcast"}, true)) {
TextPacket::createRawMessage(tr("cleaner.output.opClean")).sendToClients();
}
return output.success(tr("cleaner.command.clean.output"));
}
case CleanerParam::Action::tps: {
return output.success(