LuaInventory

class LuaInventory
clear() Make this inventory empty.
can_insert(items) → boolean Can at least some items be inserted?
insert(items) → uint Insert items into this inventory.
remove(items) → uint Remove items from this inventory.
get_item_count(item) → uint Get the number of all or some items in this inventory.
is_empty() → boolean Does this inventory contain nothing?
get_contents() → dictionary stringuint Get counts of all items in this inventory.
hasbar() → boolean Does this inventory have a bar?
getbar() → uint Get the current bar.
setbar(bar) Set the current bar.
has_filters() → boolean If this inventory has filters
can_set_filter(index, filter) → boolean If the given inventory slot filter can be set to the given filter.
get_filter(index) → string Gets the filter for the given item stack index.
set_filter(index, filter) → boolean Sets the filter for the given item stack index.
find_item_stack(item) → LuaItemStack Gets the first LuaItemStack in the inventory that matches the given item name.
operator # [R] Get the number of slots in this inventory.
index :: uint [R] The inventory index this inventory uses.
operator [] [R] The indexing operator.
valid :: boolean [R] Is this object valid?

A storage of item stacks.

clear()

Make this inventory empty.

can_insert(items) → boolean

Can at least some items be inserted?

Parameters
items :: SimpleItemStack: Items that would be inserted.
Return value
true if at least a part of the given items could be inserted into this inventory.
insert(items) → uint

Insert items into this inventory.

Parameters
items :: SimpleItemStack: Items to insert.
Return value
Number of items actually inserted.
remove(items) → uint

Remove items from this inventory.

Parameters
items :: SimpleItemStack: Items to remove.
Return value
Number of items actually removed.
get_item_count(item) → uint

Get the number of all or some items in this inventory.

Parameters
item :: string (optional): Prototype name of the item to count. If not specified, count all items.
is_empty() → boolean

Does this inventory contain nothing?

get_contents() → dictionary stringuint

Get counts of all items in this inventory.

Return value
The counts, indexed by item names.
hasbar() → boolean

Does this inventory have a bar? Bar is the draggable red thing, found for example on chests, that limits the portion of the inventory that may be manipulated by machines.

Note: "Having a bar" doesn't mean that the bar is set to some nontrivial value. Having a bar means the inventory supports having this limit at all. The character's inventory is an example of an inventory without a bar; the wooden chest's inventory is an example of one with a bar.
getbar() → uint

Get the current bar. This is the index at which the red area starts.

Note: Only useable if this inventory has a bar.
setbar(bar)

Set the current bar.

Parameters
bar :: uint (optional): The new limit. Ommitting this parameter will clear the limit.
Note: Only useable if this inventory has a bar.
has_filters() → boolean

If this inventory has filters

can_set_filter(index, filter) → boolean

If the given inventory slot filter can be set to the given filter.

Parameters
index :: uint: The item stack index
filter :: string: The item name of the filter
get_filter(index) → string

Gets the filter for the given item stack index.

Parameters
index :: uint: The item stack index
Return value
The current filter or nil if none.
set_filter(index, filter) → boolean

Sets the filter for the given item stack index.

Parameters
index :: uint: The item stack index
filter :: string: The new filter or nil to erase the filter
Return value
If the filter was allowed to be set.
Note: Some inventory slots don't allow some filters (gun ammo can't be filtered for non-ammo).
find_item_stack(item) → LuaItemStack

Gets the first LuaItemStack in the inventory that matches the given item name.

Parameters
item :: string: The item name to find
Return value
or nil.
operator # [Read-only]

Get the number of slots in this inventory.

Example
Will print the number of slots in the player's main inventory.
game.player.print(#game.player.get_inventory(defines.inventory.player_main))
index :: uint [Read-only]

The inventory index this inventory uses.

operator [] [Read-only]

The indexing operator.

Example
Will get the first item in the player's quickbar.
game.player.get_inventory(defines.inventory.player_quickbar)[1]