1
0
mirror of https://github.com/moparisthebest/minetest synced 2024-11-15 22:05:07 -05:00

Add staticdata parameter to add_entity (#5009)

* Add staticdata parameter to add_entity
* Add add_entity_with_staticdata to core.features
This commit is contained in:
Rui 2017-01-10 04:39:45 +09:00 committed by Ner'zhul
parent 8e7449e092
commit ec30d49e02
3 changed files with 6 additions and 3 deletions

View File

@ -9,6 +9,7 @@ core.features = {
no_legacy_abms = true, no_legacy_abms = true,
texture_names_parens = true, texture_names_parens = true,
area_store_custom_ids = true, area_store_custom_ids = true,
add_entity_with_staticdata = true,
} }
function core.has_feature(arg) function core.has_feature(arg)

View File

@ -2173,7 +2173,7 @@ and `minetest.auth_reload` call the authetification handler.
* `minetest.get_node_timer(pos)` * `minetest.get_node_timer(pos)`
* Get `NodeTimerRef` * Get `NodeTimerRef`
* `minetest.add_entity(pos, name)`: Spawn Lua-defined entity at position * `minetest.add_entity(pos, name, [staticdata])`: Spawn Lua-defined entity at position
* Returns `ObjectRef`, or `nil` if failed * Returns `ObjectRef`, or `nil` if failed
* `minetest.add_item(pos, item)`: Spawn item * `minetest.add_item(pos, item)`: Spawn item
* Returns `ObjectRef`, or `nil` if failed * Returns `ObjectRef`, or `nil` if failed

View File

@ -440,7 +440,7 @@ int ModApiEnvMod::l_get_node_timer(lua_State *L)
return 1; return 1;
} }
// add_entity(pos, entityname) -> ObjectRef or nil // add_entity(pos, entityname, [staticdata]) -> ObjectRef or nil
// pos = {x=num, y=num, z=num} // pos = {x=num, y=num, z=num}
int ModApiEnvMod::l_add_entity(lua_State *L) int ModApiEnvMod::l_add_entity(lua_State *L)
{ {
@ -450,8 +450,10 @@ int ModApiEnvMod::l_add_entity(lua_State *L)
v3f pos = checkFloatPos(L, 1); v3f pos = checkFloatPos(L, 1);
// content // content
const char *name = luaL_checkstring(L, 2); const char *name = luaL_checkstring(L, 2);
// staticdata
const char *staticdata = luaL_optstring(L, 3, "");
// Do it // Do it
ServerActiveObject *obj = new LuaEntitySAO(env, pos, name, ""); ServerActiveObject *obj = new LuaEntitySAO(env, pos, name, staticdata);
int objectid = env->addActiveObject(obj); int objectid = env->addActiveObject(obj);
// If failed to add, return nothing (reads as nil) // If failed to add, return nothing (reads as nil)
if(objectid == 0) if(objectid == 0)