From a161b23d55d6fe3dbb0d0f4df2123086a36a0f95 Mon Sep 17 00:00:00 2001 From: Tsubasa6848 <116721335+Tsubasa6848@users.noreply.github.com> Date: Fri, 23 Feb 2024 21:43:39 +0800 Subject: [PATCH] fix: fix config read --- src/Features/Cleaner.h | 2 ++ src/Features/Events.cpp | 12 +++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/Features/Cleaner.h b/src/Features/Cleaner.h index 34155b9..f24067b 100644 --- a/src/Features/Cleaner.h +++ b/src/Features/Cleaner.h @@ -21,6 +21,8 @@ extern void reloadCleaner(); extern void loadCleaner(); extern void unloadCleaner(); +extern bool isMatch(std::string& A, std::string& B); + } // namespace Cleaner namespace VoteClean { diff --git a/src/Features/Events.cpp b/src/Features/Events.cpp index be92567..967f1a6 100644 --- a/src/Features/Events.cpp +++ b/src/Features/Events.cpp @@ -29,7 +29,17 @@ void ListenEvents() { return; } } - item.lifeTime() = ConfigFile::mItemDespawnTicks; + if (Config->getValue({"ItemDespawn", "Enabled"}, true)) { + item.lifeTime() = ConfigFile::mItemDespawnTicks; + auto list = Config->getValue>({"ItemDespawn", "WhiteList"}, {}); + auto type = item.item().getTypeName(); + for (auto& key : list) { + if (isMatch(type, key)) { + return; + } + } + item.lifeTime() = ConfigFile::mItemDespawnTicks; + } } ); // MobTakeItemEvent