feat: merge to main #1
@@ -91,5 +91,10 @@ struct Config {
|
||||
int CheckDelay = 30;
|
||||
int Percentage = 50;
|
||||
} VoteClean;
|
||||
|
||||
struct Unload_Actor_Clean {
|
||||
bool Enabled = false;
|
||||
std::vector<std::string> CleanList = {"minecraft:iron_golem", "minecraft:zombie_pigman"};
|
||||
} UnloadActorClean;
|
||||
};
|
||||
} // namespace Cleaner
|
||||
@@ -4,6 +4,9 @@ namespace Cleaner {
|
||||
|
||||
void loadCleaner() {
|
||||
auto& config = Cleaner::Entry::getInstance().getConfig();
|
||||
if(config.UnloadActorClean.Enabled){
|
||||
UnloadActorClean::cleanUnloadActor();
|
||||
}
|
||||
if (config.ScheduleClean.Enabled) {
|
||||
Cleaner::AutoCleanTask(config.ScheduleClean.CleanInterval);
|
||||
}
|
||||
|
||||
@@ -27,3 +27,9 @@ namespace VoteClean {
|
||||
extern void voteCommandExecute(Player* pl);
|
||||
|
||||
}
|
||||
|
||||
namespace UnloadActorClean {
|
||||
|
||||
extern void cleanUnloadActor();
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
#include "Cleaner.h"
|
||||
#include "Global.h"
|
||||
#include "gmlib/mc/world/actor/UnloadedActor.h"
|
||||
|
||||
namespace UnloadActorClean {
|
||||
void cleanUnloadActor() {
|
||||
auto& config = Cleaner::Entry::getInstance().getConfig();
|
||||
gmlib::world::actor::UnloadedActor::foreachUnloadedActor(
|
||||
[config](gmlib::world::actor::UnloadedActor& actor) -> bool {
|
||||
for (auto& actorname : config.UnloadActorClean.CleanList) {
|
||||
if (actor.getTypeName() == actorname) {
|
||||
actor.remove();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
);
|
||||
}
|
||||
} // namespace UnloadActorClean
|
||||
@@ -15,6 +15,7 @@ bool Entry::load() { return true; }
|
||||
bool Entry::enable() {
|
||||
mConfig.emplace();
|
||||
ll::config::loadConfig(*mConfig, getSelf().getConfigDir() / "config.json");
|
||||
|
||||
saveConfig();
|
||||
gmlib::locale::I18nAPI::updateOrCreateLanguageFile(getSelf().getLangDir(), "en_US", en_US);
|
||||
gmlib::locale::I18nAPI::updateOrCreateLanguageFile(getSelf().getLangDir(), "zh_CN", zh_CN);
|
||||
|
||||
Reference in New Issue
Block a user