Compare commits
3 Commits
+1
-1
Submodule SDK-GMLIB updated: e4f3e2a188...710cc6e4c3
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
"name": "${pluginName}",
|
"name": "${pluginName}",
|
||||||
"entry": "${pluginFile}",
|
"entry": "${pluginFile}",
|
||||||
"type": "native",
|
"type": "native",
|
||||||
"version": "0.12.0",
|
"version": "0.12.3",
|
||||||
"author": "GroupMountain",
|
"author": "GroupMountain",
|
||||||
"description": "Clean Entities",
|
"description": "Clean Entities",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
|
|||||||
+3
-1
@@ -3,7 +3,9 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
struct Config {
|
struct Config {
|
||||||
int version = 1;
|
int version = 2;
|
||||||
|
|
||||||
|
std::string language = "zh_CN";
|
||||||
|
|
||||||
struct basic {
|
struct basic {
|
||||||
std::string Command = "cleaner";
|
std::string Command = "cleaner";
|
||||||
|
|||||||
+15
-15
@@ -15,35 +15,35 @@ void CleanTask() {
|
|||||||
auto time_1 = std::chrono::seconds::duration(time);
|
auto time_1 = std::chrono::seconds::duration(time);
|
||||||
auto time_2 = std::chrono::seconds::duration(time - announce_time);
|
auto time_2 = std::chrono::seconds::duration(time - announce_time);
|
||||||
if (config.Basic.ConsoleLog) {
|
if (config.Basic.ConsoleLog) {
|
||||||
logger.info(I18nAPI::get("cleaner.output.count1", {S(time_1.count())}));
|
logger.info(tr("cleaner.output.count1", {S(time_1.count())}));
|
||||||
}
|
}
|
||||||
if (config.Basic.SendBroadcast) {
|
if (config.Basic.SendBroadcast) {
|
||||||
Helper::broadcastMessage(I18nAPI::get("cleaner.output.count1", {S(time_1.count())}));
|
Helper::broadcastMessage(tr("cleaner.output.count1", {S(time_1.count())}));
|
||||||
}
|
}
|
||||||
if (config.Basic.SendToast) {
|
if (config.Basic.SendToast) {
|
||||||
Helper::broadcastToast(I18nAPI::get("cleaner.output.count2", {S(announce_time)}));
|
Helper::broadcastToast(tr("cleaner.output.count2", {S(announce_time)}));
|
||||||
}
|
}
|
||||||
Cleaner::Entry::getInstance().getScheduler().add<DelayTask>(time_2, [announce_time, &config] {
|
Cleaner::Entry::getInstance().getScheduler().add<DelayTask>(time_2, [announce_time, &config] {
|
||||||
if (config.Basic.ConsoleLog) {
|
if (config.Basic.ConsoleLog) {
|
||||||
logger.info(I18nAPI::get("cleaner.output.count2", {S(announce_time)}));
|
logger.info(tr("cleaner.output.count2", {S(announce_time)}));
|
||||||
}
|
}
|
||||||
if (config.Basic.SendBroadcast) {
|
if (config.Basic.SendBroadcast) {
|
||||||
Helper::broadcastMessage(I18nAPI::get("cleaner.output.count2", {S(announce_time)}));
|
Helper::broadcastMessage(tr("cleaner.output.count2", {S(announce_time)}));
|
||||||
}
|
}
|
||||||
if (config.Basic.SendToast) {
|
if (config.Basic.SendToast) {
|
||||||
Helper::broadcastToast(I18nAPI::get("cleaner.output.count2", {S(announce_time)}));
|
Helper::broadcastToast(tr("cleaner.output.count2", {S(announce_time)}));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
Cleaner::Entry::getInstance().getScheduler().add<DelayTask>(time_1, [&config] {
|
Cleaner::Entry::getInstance().getScheduler().add<DelayTask>(time_1, [&config] {
|
||||||
auto count = ExecuteClean();
|
auto count = ExecuteClean();
|
||||||
if (config.Basic.ConsoleLog) {
|
if (config.Basic.ConsoleLog) {
|
||||||
logger.info(I18nAPI::get("cleaner.output.finish", {S(count)}));
|
logger.info(tr("cleaner.output.finish", {S(count)}));
|
||||||
}
|
}
|
||||||
if (config.Basic.SendBroadcast) {
|
if (config.Basic.SendBroadcast) {
|
||||||
Helper::broadcastMessage(I18nAPI::get("cleaner.output.finish", {S(count)}));
|
Helper::broadcastMessage(tr("cleaner.output.finish", {S(count)}));
|
||||||
}
|
}
|
||||||
if (config.Basic.SendToast) {
|
if (config.Basic.SendToast) {
|
||||||
Helper::broadcastToast(I18nAPI::get("cleaner.output.finish", {S(count)}));
|
Helper::broadcastToast(tr("cleaner.output.finish", {S(count)}));
|
||||||
}
|
}
|
||||||
auto_clean_triggerred = false;
|
auto_clean_triggerred = false;
|
||||||
});
|
});
|
||||||
@@ -62,13 +62,13 @@ void CleanTaskCount(int max_entities) {
|
|||||||
if (count >= max_entities) {
|
if (count >= max_entities) {
|
||||||
auto_clean_triggerred = true;
|
auto_clean_triggerred = true;
|
||||||
if (config.Basic.ConsoleLog) {
|
if (config.Basic.ConsoleLog) {
|
||||||
logger.warn(I18nAPI::get("cleaner.output.triggerAutoCleanCount", {S(count)}));
|
logger.warn(tr("cleaner.output.triggerAutoCleanCount", {S(count)}));
|
||||||
}
|
}
|
||||||
if (config.Basic.SendBroadcast) {
|
if (config.Basic.SendBroadcast) {
|
||||||
Helper::broadcastMessage(I18nAPI::get("cleaner.output.triggerAutoCleanCount", {S(count)}));
|
Helper::broadcastMessage(tr("cleaner.output.triggerAutoCleanCount", {S(count)}));
|
||||||
}
|
}
|
||||||
if (config.Basic.SendToast) {
|
if (config.Basic.SendToast) {
|
||||||
Helper::broadcastToast(I18nAPI::get("cleaner.output.triggerAutoCleanCount", {S(count)}));
|
Helper::broadcastToast(tr("cleaner.output.triggerAutoCleanCount", {S(count)}));
|
||||||
}
|
}
|
||||||
CleanTask();
|
CleanTask();
|
||||||
}
|
}
|
||||||
@@ -84,13 +84,13 @@ void CleanTaskTPS(float min_tps) {
|
|||||||
auto_clean_triggerred = true;
|
auto_clean_triggerred = true;
|
||||||
auto mspt = S(GMLIB_Level::getLevel()->getServerAverageTps());
|
auto mspt = S(GMLIB_Level::getLevel()->getServerAverageTps());
|
||||||
if (config.Basic.ConsoleLog) {
|
if (config.Basic.ConsoleLog) {
|
||||||
logger.warn(I18nAPI::get("cleaner.output.triggerAutoCleanTps", {mspt}));
|
logger.warn(tr("cleaner.output.triggerAutoCleanTps", {mspt}));
|
||||||
}
|
}
|
||||||
if (config.Basic.SendBroadcast) {
|
if (config.Basic.SendBroadcast) {
|
||||||
Helper::broadcastMessage(I18nAPI::get("cleaner.output.triggerAutoCleanTps", {mspt}));
|
Helper::broadcastMessage(tr("cleaner.output.triggerAutoCleanTps", {mspt}));
|
||||||
}
|
}
|
||||||
if (config.Basic.SendToast) {
|
if (config.Basic.SendToast) {
|
||||||
Helper::broadcastToast(I18nAPI::get("cleaner.output.triggerAutoCleanTps", {mspt}));
|
Helper::broadcastToast(tr("cleaner.output.triggerAutoCleanTps", {mspt}));
|
||||||
}
|
}
|
||||||
CleanTask();
|
CleanTask();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,12 @@
|
|||||||
|
|
||||||
namespace Helper {
|
namespace Helper {
|
||||||
|
|
||||||
void broadcastMessage(std::string_view msg) { GMLIB_Level::broadcast(I18nAPI::get("cleaner.info.prefix") + std::string(msg)); }
|
void broadcastMessage(std::string_view msg) {
|
||||||
|
GMLIB_Level::getInstance()->broadcast(tr("cleaner.info.prefix") + std::string(msg));
|
||||||
|
}
|
||||||
|
|
||||||
void broadcastToast(std::string_view msg) { GMLIB_Level::broadcastToast(I18nAPI::get("cleaner.info.prefix"), msg); }
|
void broadcastToast(std::string_view msg) {
|
||||||
|
GMLIB_Level::getInstance()->broadcastToast(tr("cleaner.info.prefix"), msg);
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Helper
|
} // namespace Helper
|
||||||
+20
-20
@@ -24,10 +24,10 @@ int getPlayerCount() {
|
|||||||
|
|
||||||
void sendVoteForm(Player* pl) {
|
void sendVoteForm(Player* pl) {
|
||||||
auto fm = ll::form::ModalForm(
|
auto fm = ll::form::ModalForm(
|
||||||
I18nAPI::get("cleaner.vote.title"),
|
tr("cleaner.vote.title"),
|
||||||
I18nAPI::get("cleaner.vote.subtitle", {pl->getRealName()}),
|
tr("cleaner.vote.subtitle", {pl->getRealName()}),
|
||||||
I18nAPI::get("cleaner.vote.ok"),
|
tr("cleaner.vote.ok"),
|
||||||
I18nAPI::get("cleaner.vote.no")
|
tr("cleaner.vote.no")
|
||||||
);
|
);
|
||||||
ll::service::getLevel()->forEachPlayer([&](Player& pl) -> bool {
|
ll::service::getLevel()->forEachPlayer([&](Player& pl) -> bool {
|
||||||
fm.sendTo(pl, [](Player& player, ll::form::ModalFormResult result, ll::form::FormCancelReason reason) {
|
fm.sendTo(pl, [](Player& player, ll::form::ModalFormResult result, ll::form::FormCancelReason reason) {
|
||||||
@@ -35,12 +35,12 @@ void sendVoteForm(Player* pl) {
|
|||||||
switch (result.value()) {
|
switch (result.value()) {
|
||||||
case ll::form::ModalFormSelectedButton::Upper: {
|
case ll::form::ModalFormSelectedButton::Upper: {
|
||||||
voteList[player.getUuid()] = true;
|
voteList[player.getUuid()] = true;
|
||||||
player.sendMessage(I18nAPI::get("cleaner.vote.accept"));
|
player.sendMessage(tr("cleaner.vote.accept"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
case ll::form::ModalFormSelectedButton::Lower: {
|
case ll::form::ModalFormSelectedButton::Lower: {
|
||||||
voteList[player.getUuid()] = false;
|
voteList[player.getUuid()] = false;
|
||||||
player.sendMessage(I18nAPI::get("cleaner.vote.deny"));
|
player.sendMessage(tr("cleaner.vote.deny"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
@@ -64,18 +64,18 @@ void checkVote() {
|
|||||||
float result = ((float)voteCount) / ((float)playerCount);
|
float result = ((float)voteCount) / ((float)playerCount);
|
||||||
if (result >= percentage) {
|
if (result >= percentage) {
|
||||||
if (config.Basic.SendBroadcast) {
|
if (config.Basic.SendBroadcast) {
|
||||||
Helper::broadcastMessage(I18nAPI::get("cleaner.vote.succeed"));
|
Helper::broadcastMessage(tr("cleaner.vote.succeed"));
|
||||||
}
|
}
|
||||||
if (config.Basic.SendToast) {
|
if (config.Basic.SendToast) {
|
||||||
Helper::broadcastToast(I18nAPI::get("cleaner.vote.succeed"));
|
Helper::broadcastToast(tr("cleaner.vote.succeed"));
|
||||||
}
|
}
|
||||||
Cleaner::CleanTask();
|
Cleaner::CleanTask();
|
||||||
} else {
|
} else {
|
||||||
if (config.Basic.SendBroadcast) {
|
if (config.Basic.SendBroadcast) {
|
||||||
Helper::broadcastMessage(I18nAPI::get("cleaner.vote.failed"));
|
Helper::broadcastMessage(tr("cleaner.vote.failed"));
|
||||||
}
|
}
|
||||||
if (config.Basic.SendToast) {
|
if (config.Basic.SendToast) {
|
||||||
Helper::broadcastToast(I18nAPI::get("cleaner.vote.failed"));
|
Helper::broadcastToast(tr("cleaner.vote.failed"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
hasVote = false;
|
hasVote = false;
|
||||||
@@ -89,10 +89,10 @@ void voteClean(Player* pl) {
|
|||||||
hasVote = true;
|
hasVote = true;
|
||||||
playerCount = getPlayerCount();
|
playerCount = getPlayerCount();
|
||||||
if (config.Basic.SendBroadcast) {
|
if (config.Basic.SendBroadcast) {
|
||||||
Helper::broadcastMessage(I18nAPI::get("cleaner.vote.voteMessage", {pl->getRealName()}));
|
Helper::broadcastMessage(tr("cleaner.vote.voteMessage", {pl->getRealName()}));
|
||||||
}
|
}
|
||||||
if (config.Basic.SendToast) {
|
if (config.Basic.SendToast) {
|
||||||
Helper::broadcastToast(I18nAPI::get("cleaner.vote.voteMessage", {pl->getRealName()}));
|
Helper::broadcastToast(tr("cleaner.vote.voteMessage", {pl->getRealName()}));
|
||||||
}
|
}
|
||||||
sendVoteForm(pl);
|
sendVoteForm(pl);
|
||||||
auto cooldown = std::chrono::seconds::duration(config.VoteClean.Cooldown);
|
auto cooldown = std::chrono::seconds::duration(config.VoteClean.Cooldown);
|
||||||
@@ -103,10 +103,10 @@ void voteClean(Player* pl) {
|
|||||||
|
|
||||||
void confirmForm(Player* pl) {
|
void confirmForm(Player* pl) {
|
||||||
auto fm = ll::form::ModalForm(
|
auto fm = ll::form::ModalForm(
|
||||||
I18nAPI::get("cleaner.vote.title"),
|
tr("cleaner.vote.title"),
|
||||||
I18nAPI::get("cleaner.vote.confirmTubtitle"),
|
tr("cleaner.vote.confirmTubtitle"),
|
||||||
I18nAPI::get("cleaner.vote.confirmOk"),
|
tr("cleaner.vote.confirmOk"),
|
||||||
I18nAPI::get("cleaner.vote.confirmNo")
|
tr("cleaner.vote.confirmNo")
|
||||||
);
|
);
|
||||||
fm.sendTo(*pl, [](Player& player, ll::form::ModalFormResult result, ll::form::FormCancelReason reason) {
|
fm.sendTo(*pl, [](Player& player, ll::form::ModalFormResult result, ll::form::FormCancelReason reason) {
|
||||||
if (result.has_value()) {
|
if (result.has_value()) {
|
||||||
@@ -115,7 +115,7 @@ void confirmForm(Player* pl) {
|
|||||||
return voteClean(&player);
|
return voteClean(&player);
|
||||||
}
|
}
|
||||||
case ll::form::ModalFormSelectedButton::Lower: {
|
case ll::form::ModalFormSelectedButton::Lower: {
|
||||||
return player.sendMessage(I18nAPI::get("cleaner.vote.cancel"));
|
return player.sendMessage(tr("cleaner.vote.cancel"));
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
@@ -129,14 +129,14 @@ void voteCommandExecute(Player* pl) {
|
|||||||
if (canVote) {
|
if (canVote) {
|
||||||
confirmForm(pl);
|
confirmForm(pl);
|
||||||
} else {
|
} else {
|
||||||
pl->sendMessage(I18nAPI::get("cleaner.vote.cooldown"));
|
pl->sendMessage(tr("cleaner.vote.cooldown"));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (voteList.count(pl->getUuid())) {
|
if (voteList.count(pl->getUuid())) {
|
||||||
pl->sendMessage(I18nAPI::get("cleaner.vote.voted"));
|
pl->sendMessage(tr("cleaner.vote.voted"));
|
||||||
} else {
|
} else {
|
||||||
voteList[pl->getUuid()] = true;
|
voteList[pl->getUuid()] = true;
|
||||||
pl->sendMessage(I18nAPI::get("cleaner.vote.accept"));
|
pl->sendMessage(tr("cleaner.vote.accept"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-1
@@ -12,4 +12,6 @@ extern void RegisterCommands();
|
|||||||
namespace Helper {
|
namespace Helper {
|
||||||
extern void broadcastMessage(std::string_view msg);
|
extern void broadcastMessage(std::string_view msg);
|
||||||
extern void broadcastToast(std::string_view msg);
|
extern void broadcastToast(std::string_view msg);
|
||||||
} // namespace Helper
|
} // namespace Helper
|
||||||
|
|
||||||
|
extern std::string tr(std::string const& key, std::vector<std::string> const& params = {});
|
||||||
+5
-1
@@ -44,4 +44,8 @@ ServerTimeScheduler& Entry::getScheduler() { return mScheduler.value(); }
|
|||||||
|
|
||||||
} // namespace Cleaner
|
} // namespace Cleaner
|
||||||
|
|
||||||
LL_REGISTER_PLUGIN(Cleaner::Entry, Cleaner::instance);
|
LL_REGISTER_PLUGIN(Cleaner::Entry, Cleaner::instance);
|
||||||
|
|
||||||
|
std::string tr(std::string const& key, std::vector<std::string> const& params) {
|
||||||
|
return I18nAPI::get(key, params, Cleaner::Entry::getInstance().getConfig().language);
|
||||||
|
}
|
||||||
+13
-13
@@ -13,7 +13,7 @@ void RegCleanerCommand() {
|
|||||||
auto& config = Cleaner::Entry::getInstance().getConfig();
|
auto& config = Cleaner::Entry::getInstance().getConfig();
|
||||||
auto& cmd = ll::command::CommandRegistrar::getInstance().getOrCreateCommand(
|
auto& cmd = ll::command::CommandRegistrar::getInstance().getOrCreateCommand(
|
||||||
config.Basic.Command,
|
config.Basic.Command,
|
||||||
I18nAPI::get("cleaner.command.cleaner"),
|
tr("cleaner.command.cleaner"),
|
||||||
CommandPermissionLevel::GameDirectors
|
CommandPermissionLevel::GameDirectors
|
||||||
);
|
);
|
||||||
cmd.overload<CleanerParam>()
|
cmd.overload<CleanerParam>()
|
||||||
@@ -22,12 +22,12 @@ void RegCleanerCommand() {
|
|||||||
.execute<[&](CommandOrigin const& origin, CommandOutput& output, CleanerParam const& param) {
|
.execute<[&](CommandOrigin const& origin, CommandOutput& output, CleanerParam const& param) {
|
||||||
auto ens = param.entity.results(origin);
|
auto ens = param.entity.results(origin);
|
||||||
if (ens.empty()) {
|
if (ens.empty()) {
|
||||||
return output.error(I18nAPI::get("cleaner.command.error.noTarget"));
|
return output.error(tr("cleaner.command.error.noTarget"));
|
||||||
}
|
}
|
||||||
for (auto en : ens) {
|
for (auto en : ens) {
|
||||||
en->despawn();
|
en->despawn();
|
||||||
}
|
}
|
||||||
return output.success(I18nAPI::get("cleaner.command.despawnSuccess", {S(ens.size())}));
|
return output.success(tr("cleaner.command.despawnSuccess", {S(ens.size())}));
|
||||||
}>();
|
}>();
|
||||||
cmd.overload<CleanerParam>()
|
cmd.overload<CleanerParam>()
|
||||||
.required("action")
|
.required("action")
|
||||||
@@ -36,18 +36,18 @@ void RegCleanerCommand() {
|
|||||||
case CleanerParam::Action::clean: {
|
case CleanerParam::Action::clean: {
|
||||||
Cleaner::CleanTask();
|
Cleaner::CleanTask();
|
||||||
if (Cleaner::Entry::getInstance().getConfig().Basic.ConsoleLog) {
|
if (Cleaner::Entry::getInstance().getConfig().Basic.ConsoleLog) {
|
||||||
logger.info(I18nAPI::get("cleaner.output.opClean"));
|
logger.info(tr("cleaner.output.opClean"));
|
||||||
}
|
}
|
||||||
if (Cleaner::Entry::getInstance().getConfig().Basic.SendBroadcast) {
|
if (Cleaner::Entry::getInstance().getConfig().Basic.SendBroadcast) {
|
||||||
Helper::broadcastMessage(I18nAPI::get("cleaner.output.opClean"));
|
Helper::broadcastMessage(tr("cleaner.output.opClean"));
|
||||||
}
|
}
|
||||||
if (Cleaner::Entry::getInstance().getConfig().Basic.SendToast) {
|
if (Cleaner::Entry::getInstance().getConfig().Basic.SendToast) {
|
||||||
Helper::broadcastToast(I18nAPI::get("cleaner.output.opClean"));
|
Helper::broadcastToast(tr("cleaner.output.opClean"));
|
||||||
}
|
}
|
||||||
return output.success(I18nAPI::get("cleaner.command.clean.output"));
|
return output.success(tr("cleaner.command.clean.output"));
|
||||||
}
|
}
|
||||||
case CleanerParam::Action::tps: {
|
case CleanerParam::Action::tps: {
|
||||||
return output.success(I18nAPI::get(
|
return output.success(tr(
|
||||||
"cleaner.command.tps.output",
|
"cleaner.command.tps.output",
|
||||||
{S(GMLIB_Level::getLevel()->getServerCurrentTps()),
|
{S(GMLIB_Level::getLevel()->getServerCurrentTps()),
|
||||||
S(GMLIB_Level::getLevel()->getServerAverageTps())}
|
S(GMLIB_Level::getLevel()->getServerAverageTps())}
|
||||||
@@ -55,12 +55,12 @@ void RegCleanerCommand() {
|
|||||||
}
|
}
|
||||||
case CleanerParam::Action::mspt: {
|
case CleanerParam::Action::mspt: {
|
||||||
return output.success(
|
return output.success(
|
||||||
I18nAPI::get("cleaner.command.mspt.output", {S(GMLIB_Level::getLevel()->getServerMspt())})
|
tr("cleaner.command.mspt.output", {S(GMLIB_Level::getLevel()->getServerMspt())})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
case CleanerParam::Action::reload: {
|
case CleanerParam::Action::reload: {
|
||||||
Cleaner::reloadCleaner();
|
Cleaner::reloadCleaner();
|
||||||
return output.success(I18nAPI::get("cleaner.output.reload"));
|
return output.success(tr("cleaner.output.reload"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}>();
|
}>();
|
||||||
@@ -70,14 +70,14 @@ void RegCleanerCommand() {
|
|||||||
.execute<[&](CommandOrigin const& origin, CommandOutput& output, CleanerParam const& param) {
|
.execute<[&](CommandOrigin const& origin, CommandOutput& output, CleanerParam const& param) {
|
||||||
Cleaner::Entry::getInstance().getConfig().ItemDespawn.DespawnTime = param.ticks;
|
Cleaner::Entry::getInstance().getConfig().ItemDespawn.DespawnTime = param.ticks;
|
||||||
Cleaner::Entry::getInstance().saveConfig();
|
Cleaner::Entry::getInstance().saveConfig();
|
||||||
return output.success(I18nAPI::get("cleaner.command.despawntime", {S(param.ticks)}));
|
return output.success(tr("cleaner.command.despawntime", {S(param.ticks)}));
|
||||||
}>();
|
}>();
|
||||||
};
|
};
|
||||||
|
|
||||||
void RegVoteCommand() {
|
void RegVoteCommand() {
|
||||||
auto& cmd = ll::command::CommandRegistrar::getInstance().getOrCreateCommand(
|
auto& cmd = ll::command::CommandRegistrar::getInstance().getOrCreateCommand(
|
||||||
Cleaner::Entry::getInstance().getConfig().VoteClean.VoteCleanCommand,
|
Cleaner::Entry::getInstance().getConfig().VoteClean.VoteCleanCommand,
|
||||||
I18nAPI::get("cleaner.command.voteclean"),
|
tr("cleaner.command.voteclean"),
|
||||||
CommandPermissionLevel::Any
|
CommandPermissionLevel::Any
|
||||||
);
|
);
|
||||||
cmd.overload().execute<[&](CommandOrigin const& origin, CommandOutput& output) {
|
cmd.overload().execute<[&](CommandOrigin const& origin, CommandOutput& output) {
|
||||||
@@ -85,7 +85,7 @@ void RegVoteCommand() {
|
|||||||
auto pl = (Player*)origin.getEntity();
|
auto pl = (Player*)origin.getEntity();
|
||||||
return VoteClean::voteCommandExecute(pl);
|
return VoteClean::voteCommandExecute(pl);
|
||||||
}
|
}
|
||||||
return output.error(I18nAPI::get("cleaner.command.error.playerOnly"));
|
return output.error(tr("cleaner.command.error.playerOnly"));
|
||||||
}>();
|
}>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"format_version": 2,
|
"format_version": 2,
|
||||||
"tooth": "github.com/GroupMountain/Cleaner",
|
"tooth": "github.com/GroupMountain/Cleaner",
|
||||||
"version": "0.12.0",
|
"version": "0.12.3",
|
||||||
"info": {
|
"info": {
|
||||||
"name": "Cleaner",
|
"name": "Cleaner",
|
||||||
"description": "A Powerful Entities Cleaning up Plugin for BDS",
|
"description": "A Powerful Entities Cleaning up Plugin for BDS",
|
||||||
@@ -13,9 +13,9 @@
|
|||||||
"gmlib"
|
"gmlib"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"asset_url": "https://github.com/GroupMountain/Cleaner/releases/download/v0.12.0/Cleaner-windows-x64.zip",
|
"asset_url": "https://github.com/GroupMountain/Cleaner/releases/download/v0.12.3/Cleaner-windows-x64.zip",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"github.com/GroupMountain/GMLIB": ">=0.12.1"
|
"github.com/GroupMountain/GMLIB": ">=0.12.4"
|
||||||
},
|
},
|
||||||
"files": {
|
"files": {
|
||||||
"place": [
|
"place": [
|
||||||
|
|||||||
Reference in New Issue
Block a user