mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Detached inventories
This commit is contained in:
parent
96eac87d47
commit
2ac20982e0
12 changed files with 222 additions and 85 deletions
|
@ -4567,6 +4567,9 @@ static int l_get_inventory(lua_State *L)
|
|||
lua_getfield(L, 1, "pos");
|
||||
v3s16 pos = check_v3s16(L, -1);
|
||||
loc.setNodeMeta(pos);
|
||||
} else if(type == "detached"){
|
||||
std::string name = checkstringfield(L, 1, "name");
|
||||
loc.setDetached(name);
|
||||
}
|
||||
|
||||
if(get_server(L)->getInventory(loc) != NULL)
|
||||
|
@ -4576,6 +4579,20 @@ static int l_get_inventory(lua_State *L)
|
|||
return 1;
|
||||
}
|
||||
|
||||
// create_detached_inventory(name)
|
||||
static int l_create_detached_inventory(lua_State *L)
|
||||
{
|
||||
const char *name = luaL_checkstring(L, 1);
|
||||
if(get_server(L)->createDetachedInventory(name) != NULL){
|
||||
InventoryLocation loc;
|
||||
loc.setDetached(name);
|
||||
InvRef::create(L, loc);
|
||||
}else{
|
||||
lua_pushnil(L);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
// get_dig_params(groups, tool_capabilities[, time_from_last_punch])
|
||||
static int l_get_dig_params(lua_State *L)
|
||||
{
|
||||
|
@ -4849,6 +4866,7 @@ static const struct luaL_Reg minetest_f [] = {
|
|||
{"chat_send_player", l_chat_send_player},
|
||||
{"get_player_privs", l_get_player_privs},
|
||||
{"get_inventory", l_get_inventory},
|
||||
{"create_detached_inventory", l_create_detached_inventory},
|
||||
{"get_dig_params", l_get_dig_params},
|
||||
{"get_hit_params", l_get_hit_params},
|
||||
{"get_current_modname", l_get_current_modname},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue