feat: scripts classification
This commit is contained in:
@@ -94,8 +94,9 @@ std::unique_ptr<Content> ContentBuilder::build() {
|
||||
def->rt.surfaceReplacement = content->blocks.require(def->surfaceReplacement).rt.id;
|
||||
if (def->properties == nullptr) {
|
||||
def->properties = dv::object();
|
||||
def->properties["name"] = def->name;
|
||||
}
|
||||
def->properties["name"] = def->name;
|
||||
def->properties["script-file"] = def->scriptFile;
|
||||
}
|
||||
|
||||
for (ItemDef* def : itemDefsIndices) {
|
||||
@@ -104,6 +105,7 @@ std::unique_ptr<Content> ContentBuilder::build() {
|
||||
def->properties = dv::object();
|
||||
}
|
||||
def->properties["name"] = def->name;
|
||||
def->properties["script-file"] = def->scriptFile;
|
||||
}
|
||||
|
||||
for (auto& [name, def] : content->generators.getDefs()) {
|
||||
|
||||
@@ -394,6 +394,7 @@ void ContentLoader::loadBlock(
|
||||
if (def.hidden && def.pickingItem == def.name + BLOCK_ITEM_SUFFIX) {
|
||||
def.pickingItem = CORE_EMPTY;
|
||||
}
|
||||
def.scriptFile = pack->id + ":scripts/" + def.scriptName + ".lua";
|
||||
}
|
||||
|
||||
void ContentLoader::loadItem(
|
||||
@@ -452,6 +453,8 @@ void ContentLoader::loadItem(
|
||||
def.emission[1] = emissionarr[1].asNumber();
|
||||
def.emission[2] = emissionarr[2].asNumber();
|
||||
}
|
||||
|
||||
def.scriptFile = pack->id + ":scripts/" + def.scriptName + ".lua";
|
||||
}
|
||||
|
||||
void ContentLoader::loadEntity(
|
||||
@@ -865,7 +868,7 @@ static void load_scripts(Content& content, ContentUnitDefs<T>& units) {
|
||||
runtime->getEnvironment(),
|
||||
name,
|
||||
scriptfile,
|
||||
pack.id + ":scripts/" + def->scriptName + ".lua",
|
||||
def->scriptFile,
|
||||
def->rt.funcsset
|
||||
);
|
||||
}
|
||||
|
||||
@@ -59,6 +59,8 @@ struct ItemDef {
|
||||
|
||||
std::string modelName = name + ".model";
|
||||
|
||||
std::string scriptFile;
|
||||
|
||||
struct {
|
||||
itemid_t id;
|
||||
blockid_t placingBlock;
|
||||
|
||||
@@ -204,6 +204,8 @@ public:
|
||||
/// @brief Block script name in blocks/ without extension
|
||||
std::string scriptName = name.substr(name.find(':') + 1);
|
||||
|
||||
std::string scriptFile;
|
||||
|
||||
/// @brief Block will be used instead of this if generated on surface
|
||||
std::string surfaceReplacement = name;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user