mirror of
https://github.com/luanti-org/luanti.git
synced 2025-10-14 17:15:21 +02:00
Fix the documentation of InvRef:get_lists() and clean up code (#12150)
This commit is contained in:
@@ -1351,17 +1351,22 @@ void push_tool_capabilities(lua_State *L,
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
void push_inventory_list(lua_State *L, Inventory *inv, const char *name)
|
||||
void push_inventory_list(lua_State *L, const InventoryList &invlist)
|
||||
{
|
||||
InventoryList *invlist = inv->getList(name);
|
||||
if(invlist == NULL){
|
||||
lua_pushnil(L);
|
||||
return;
|
||||
push_items(L, invlist.getItems());
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
void push_inventory_lists(lua_State *L, const Inventory &inv)
|
||||
{
|
||||
const auto &lists = inv.getLists();
|
||||
lua_createtable(L, 0, lists.size());
|
||||
for(const InventoryList *list : lists) {
|
||||
const std::string &name = list->getName();
|
||||
lua_pushlstring(L, name.c_str(), name.size());
|
||||
push_inventory_list(L, *list);
|
||||
lua_rawset(L, -3);
|
||||
}
|
||||
std::vector<ItemStack> items;
|
||||
for(u32 i=0; i<invlist->getSize(); i++)
|
||||
items.push_back(invlist->getItem(i));
|
||||
push_items(L, items);
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
@@ -55,6 +55,7 @@ struct ObjectProperties;
|
||||
struct SimpleSoundSpec;
|
||||
struct ServerSoundParams;
|
||||
class Inventory;
|
||||
class InventoryList;
|
||||
struct NodeBox;
|
||||
struct ContentFeatures;
|
||||
struct TileDef;
|
||||
@@ -120,8 +121,9 @@ void push_object_properties (lua_State *L,
|
||||
ObjectProperties *prop);
|
||||
|
||||
void push_inventory_list (lua_State *L,
|
||||
Inventory *inv,
|
||||
const char *name);
|
||||
const InventoryList &invlist);
|
||||
void push_inventory_lists (lua_State *L,
|
||||
const Inventory &inv);
|
||||
void read_inventory_list (lua_State *L, int tableindex,
|
||||
Inventory *inv, const char *name,
|
||||
Server *srv, int forcesize=-1);
|
||||
|
Reference in New Issue
Block a user