Merge pull request #473 from MihailRis/new-inventory-funcs
Add new inventory funcs
This commit is contained in:
commit
721286c2ba
@ -102,7 +102,6 @@ function inventory.get_uses(invid, slot)
|
||||
return uses
|
||||
end
|
||||
|
||||
|
||||
function inventory.use(invid, slot)
|
||||
local itemid, count = inventory.get(invid, slot)
|
||||
if itemid == nil then
|
||||
@ -119,6 +118,16 @@ function inventory.use(invid, slot)
|
||||
end
|
||||
end
|
||||
|
||||
function inventory.decrement(invid, slot, count)
|
||||
count = count or 1
|
||||
local itemid, itemcount = inventory.get(invid, slot)
|
||||
if itemcount <= count then
|
||||
inventory.set(invid, slot, 0)
|
||||
else
|
||||
inventory.set_count(invid, slot, itemcount - count)
|
||||
end
|
||||
end
|
||||
|
||||
------------------------------------------------
|
||||
------------------- Events ---------------------
|
||||
------------------------------------------------
|
||||
|
||||
@ -71,6 +71,15 @@ static int l_set(lua::State* L, ItemStack& item) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int l_set_count(lua::State* L, ItemStack& item) {
|
||||
auto count = lua::tointeger(L, 3);
|
||||
if (item.getItemId() == ITEM_EMPTY) {
|
||||
return 0;
|
||||
}
|
||||
item.setCount(count);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int l_size(lua::State* L) {
|
||||
auto invid = lua::tointeger(L, 1);
|
||||
const auto& inv = get_inventory(invid);
|
||||
@ -226,6 +235,7 @@ static int l_set_data(lua::State* L, ItemStack& stack) {
|
||||
const luaL_Reg inventorylib[] = {
|
||||
{"get", wrap_slot<l_get>},
|
||||
{"set", wrap_slot<l_set>},
|
||||
{"set_count", wrap_slot<l_set_count>},
|
||||
{"size", lua::wrap<l_size>},
|
||||
{"add", lua::wrap<l_add>},
|
||||
{"move", lua::wrap<l_move>},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user