Make PluginMonitor not try to run non-lua files

This commit is contained in:
Tixx 2025-04-13 13:14:25 +02:00
parent 6c3174ac08
commit 10ea0cf59e
No known key found for this signature in database
GPG Key ID: EC6E7A2BAABF0B8C

View File

@ -57,6 +57,7 @@ void TPluginMonitor::operator()() {
mFileTimes[Pair.first] = CurrentTime;
// grandparent of the path should be Resources/Server
if (fs::equivalent(fs::path(Pair.first).parent_path().parent_path(), mPath)) {
if (fs::path(Pair.first).extension() == ".lua") {
beammp_infof("File \"{}\" changed, reloading", Pair.first);
// is in root folder, so reload
std::ifstream FileStream(Pair.first, std::ios::in | std::ios::binary);
@ -74,6 +75,10 @@ void TPluginMonitor::operator()() {
mEngine->ReportErrors(mEngine->TriggerLocalEvent(StateID, "onInit"));
mEngine->ReportErrors(mEngine->TriggerEvent("onFileChanged", "", Pair.first));
}
} else {
beammp_debugf("File \"{}\" changed, not reloading because it's not a lua file. Triggering 'onFileChanged' event instead", Pair.first);
mEngine->ReportErrors(mEngine->TriggerEvent("onFileChanged", "", Pair.first));
}
} else {
// is in subfolder, dont reload, just trigger an event
beammp_debugf("File \"{}\" changed, not reloading because it's in a subdirectory. Triggering 'onFileChanged' event instead", Pair.first);