add generator definition file (.toml)

This commit is contained in:
MihailRis
2024-09-26 22:26:01 +03:00
parent d839da7dab
commit 3d478aef08
12 changed files with 76 additions and 54 deletions
+1 -1
View File
@@ -49,7 +49,7 @@ static void detect_defs(
if (name[0] == '_') {
continue;
}
if (fs::is_regular_file(file) && file.extension() == ".json") {
if (fs::is_regular_file(file) && files::is_data_file(file)) {
detected.push_back(prefix.empty() ? name : prefix + ":" + name);
} else if (fs::is_directory(file)) {
detect_defs(file, name, detected);
+9 -3
View File
@@ -66,14 +66,20 @@ void ContentLoader::loadGenerator(
) {
auto packDir = pack->folder;
auto generatorsDir = packDir / GENERATORS_DIR;
auto folder = generatorsDir / fs::u8path(name);
auto generatorFile = generatorsDir / fs::u8path(name + ".lua");
auto generatorFile = generatorsDir / fs::u8path(name + ".toml");
if (!fs::exists(generatorFile)) {
return;
}
auto map = files::read_toml(generatorsDir / fs::u8path(name + ".toml"));
map.at("biome_parameters").get(def.biomeParameters);
map.at("sea_level").get(def.seaLevel);
auto folder = generatorsDir / fs::u8path(name);
auto scriptFile = folder / fs::u8path("script.lua");
auto structuresFile = folder / STRUCTURES_FILE;
if (fs::exists(structuresFile)) {
load_structures(def, structuresFile);
}
def.script = scripting::load_generator(generatorFile);
def.script = scripting::load_generator(def, scriptFile);
}