From a118016c8f17b98648d409297ead3a903f54807b Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sun, 16 Feb 2025 03:31:06 +0300 Subject: [PATCH] add data argument to inventory.add --- src/logic/scripting/lua/libs/libinventory.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/logic/scripting/lua/libs/libinventory.cpp b/src/logic/scripting/lua/libs/libinventory.cpp index 5f8b46ed..c0921f96 100644 --- a/src/logic/scripting/lua/libs/libinventory.cpp +++ b/src/logic/scripting/lua/libs/libinventory.cpp @@ -81,10 +81,15 @@ static int l_add(lua::State* L) { auto invid = lua::tointeger(L, 1); auto itemid = lua::tointeger(L, 2); auto count = lua::tointeger(L, 3); + auto data = lua::tovalue(L, 4); + validate_itemid(itemid); + if (!data.isObject() && data != nullptr) { + throw std::runtime_error("invalid data argument type (table expected)"); + } auto& inv = get_inventory(invid); - ItemStack item(itemid, count); + ItemStack item(itemid, count, std::move(data)); inv.move(item, *indices); return lua::pushinteger(L, item.getCount()); }