This commit is contained in:
Xertis 2026-03-23 00:03:43 +03:00
parent 89a6747c21
commit b035621249
5 changed files with 11 additions and 38 deletions

View file

@ -334,7 +334,7 @@ void ContentLoader::load() {
fixPackIndices();
loadMainScript(*runtime);
loadContentScript(*runtime);
auto folder = pack->folder;
@ -342,8 +342,6 @@ void ContentLoader::load() {
EnginePaths::CONFIG_DEFAULTS.string()
);
scripting::on_content_initialization();
// Load world generators
io::path generatorsDir = folder / "generators";
foreach_file(generatorsDir, [this](const io::path& file) {
@ -466,17 +464,16 @@ void ContentLoader::reloadScript(const Content& content, ItemDef& item) {
load_script(content, item);
}
void ContentLoader::loadMainScript(ContentPackRuntime& runtime) {
void ContentLoader::loadContentScript(ContentPackRuntime& runtime) {
const auto& pack = runtime.getInfo();
const auto& folder = pack.folder;
io::path scriptFile = folder / "scripts/main.lua";
io::path scriptFile = folder / "scripts/content.lua";
if (io::is_regular_file(scriptFile)) {
scripting::load_main_script(
scripting::load_content_script(
runtime.getEnvironment(),
pack.id,
scriptFile,
pack.id + ":scripts/main.lua",
runtime.mainfuncsset
pack.id + ":scripts/content.lua"
);
}
}

View file

@ -58,7 +58,7 @@ public:
void load();
static void loadScripts(Content& content);
static void loadMainScript(ContentPackRuntime& pack);
static void loadContentScript(ContentPackRuntime& pack);
static void loadWorldScript(ContentPackRuntime& pack);
static void reloadScript(const Content& content, Block& block);
static void reloadScript(const Content& content, ItemDef& item);

View file

@ -129,19 +129,12 @@ struct WorldFuncsSet {
bool oninventoryclosed;
};
struct MainFuncsSet {
bool oncontentinitialization;
bool onscriptsloading;
bool oncontentloaded;
};
class ContentPackRuntime {
ContentPack info;
ContentPackStats stats {};
scriptenv env;
public:
WorldFuncsSet worldfuncsset {};
MainFuncsSet mainfuncsset {};
ContentPackRuntime(ContentPack info, scriptenv env);
~ContentPackRuntime();