feat: add UnloadActorClean
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -26,4 +26,10 @@ 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
|
||||
Reference in New Issue
Block a user