mirror of
https://github.com/luanti-org/luanti.git
synced 2025-10-21 20:05:45 +02:00
General code refactoring/improvements in server, treegen and connection
This commit is contained in:
@@ -50,7 +50,7 @@ ServerModManager::ServerModManager(const std::string &worldpath):
|
||||
}
|
||||
|
||||
// This function cannot be currenctly easily tested but it should be ASAP
|
||||
void ServerModManager::loadMods(ServerScripting *script)
|
||||
void ServerModManager::loadMods(ServerScripting &script)
|
||||
{
|
||||
// Print mods
|
||||
infostream << "Server: Loading mods: ";
|
||||
@@ -65,13 +65,13 @@ void ServerModManager::loadMods(ServerScripting *script)
|
||||
|
||||
std::string script_path = mod.path + DIR_DELIM + "init.lua";
|
||||
auto t = porting::getTimeMs();
|
||||
script->loadMod(script_path, mod.name);
|
||||
script.loadMod(script_path, mod.name);
|
||||
infostream << "Mod \"" << mod.name << "\" loaded after "
|
||||
<< (porting::getTimeMs() - t) << " ms" << std::endl;
|
||||
}
|
||||
|
||||
// Run a callback when mods are loaded
|
||||
script->on_mods_loaded();
|
||||
script.on_mods_loaded();
|
||||
}
|
||||
|
||||
const ModSpec *ServerModManager::getModSpec(const std::string &modname) const
|
||||
|
@@ -22,12 +22,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "content/mod_configuration.h"
|
||||
#include <memory>
|
||||
|
||||
class MetricsBackend;
|
||||
class MetricCounter;
|
||||
class ServerScripting;
|
||||
|
||||
/**
|
||||
* Manage server mods
|
||||
* Manages server mods
|
||||
*
|
||||
* All new calls to this class must be tested in test_servermodmanager.cpp
|
||||
*/
|
||||
@@ -36,12 +34,20 @@ class ServerModManager
|
||||
ModConfiguration configuration;
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
* Creates a ServerModManager which targets worldpath
|
||||
* @param worldpath
|
||||
*/
|
||||
ServerModManager(const std::string &worldpath);
|
||||
void loadMods(ServerScripting *script);
|
||||
|
||||
/**
|
||||
* Creates an empty ServerModManager. For testing purposes.
|
||||
* Note: definition looks like this so it isn't accidentally used.
|
||||
*/
|
||||
explicit ServerModManager(std::nullptr_t) {};
|
||||
|
||||
void loadMods(ServerScripting &script);
|
||||
const ModSpec *getModSpec(const std::string &modname) const;
|
||||
void getModNames(std::vector<std::string> &modlist) const;
|
||||
|
||||
|
Reference in New Issue
Block a user