diff options
author | Elias Fleckenstein <eliasfleckenstein@web.de> | 2020-08-22 15:45:06 +0200 |
---|---|---|
committer | Elias Fleckenstein <eliasfleckenstein@web.de> | 2020-08-22 15:45:06 +0200 |
commit | 9b1030cac4409b262dca73d2f0741fe78d4998ee (patch) | |
tree | 4815f2122fd6b9778d0cc0f2cedb10389157f580 /src/script/common/c_content.cpp | |
parent | 2321e3da4c7f29ae06400e91e4e031777c6a5d9a (diff) | |
download | dragonfireclient-9b1030cac4409b262dca73d2f0741fe78d4998ee.tar.xz |
Added minetest.get_inventory(location)
Diffstat (limited to 'src/script/common/c_content.cpp')
-rw-r--r-- | src/script/common/c_content.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/script/common/c_content.cpp b/src/script/common/c_content.cpp index 44b638ba7..9efa2c57f 100644 --- a/src/script/common/c_content.cpp +++ b/src/script/common/c_content.cpp @@ -1307,6 +1307,20 @@ void push_tool_capabilities(lua_State *L, } /******************************************************************************/ +void push_inventory(lua_State *L, Inventory *inventory) +{ + std::vector<const InventoryList*> lists = inventory->getLists(); + std::vector<const InventoryList*>::iterator iter = lists.begin(); + lua_createtable(L, 0, lists.size()); + for (; iter != lists.end(); iter++) { + const char* name = (*iter)->getName().c_str(); + lua_pushstring(L, name); + push_inventory_list(L, inventory, name); + lua_rawset(L, -3); + } +} + +/******************************************************************************/ void push_inventory_list(lua_State *L, Inventory *inv, const char *name) { InventoryList *invlist = inv->getList(name); |