feat: merge to main #1

Merged
wed150 merged 27 commits from main into develop 2026-07-03 20:29:43 +08:00
5 changed files with 34 additions and 0 deletions
Showing only changes of commit 5bca67d884 - Show all commits
+5
View File
@@ -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
+3
View File
@@ -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);
}
+6
View File
@@ -26,4 +26,10 @@ namespace VoteClean {
extern void voteCommandExecute(Player* pl);
}
namespace UnloadActorClean {
extern void cleanUnloadActor();
}
+19
View File
@@ -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
+1
View File
@@ -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);