Pass ContentFeatures as reference to read_content_features (#10464)

This commit is contained in:
JosiahWI 2020-10-13 10:36:01 -05:00 committed by GitHub
parent d671102546
commit 11f3deb9c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 6 deletions

@ -491,13 +491,11 @@ TileDef read_tiledef(lua_State *L, int index, u8 drawtype)
}
/******************************************************************************/
ContentFeatures read_content_features(lua_State *L, int index)
void read_content_features(lua_State *L, ContentFeatures &f, int index)
{
if(index < 0)
index = lua_gettop(L) + 1 + index;
ContentFeatures f;
/* Cache existence of some callbacks */
lua_getfield(L, index, "on_construct");
if(!lua_isnil(L, -1)) f.has_on_construct = true;
@ -800,7 +798,6 @@ ContentFeatures read_content_features(lua_State *L, int index)
getstringfield(L, index, "node_dig_prediction",
f.node_dig_prediction);
return f;
}
void push_content_features(lua_State *L, const ContentFeatures &c)

@ -67,7 +67,8 @@ struct collisionMoveResult;
extern struct EnumString es_TileAnimationType[];
ContentFeatures read_content_features (lua_State *L, int index);
void read_content_features (lua_State *L, ContentFeatures &f,
int index);
void push_content_features (lua_State *L,
const ContentFeatures &c);

@ -570,7 +570,8 @@ int ModApiItemMod::l_register_item_raw(lua_State *L)
// Read the node definition (content features) and register it
if (def.type == ITEM_NODE) {
ContentFeatures f = read_content_features(L, table);
ContentFeatures f;
read_content_features(L, f, table);
// when a mod reregisters ignore, only texture changes and such should
// be done
if (f.name == "ignore")