Protocol: PlayerInventory
Mutable main inventory of one player.
class PlayerInventory(Protocol)
Related API: InventoryLease, InventoryLeaseUnloadPolicy, InventoryLoadout, InventorySnapshot, ItemStack
Properties
size
@property
def size(self) -> int:
Number of available inventory slots.
empty_slots_count
@property
def empty_slots_count(self) -> int:
Number of empty inventory slots.
Methods
get_item
def get_item(self, slot: int) -> Optional[ItemStack]:
Return a detached copy of a slot, or None when empty.
Related API: ItemStack
set_item
def set_item(self, slot: int, item_stack: Optional[ItemStack]=None) -> None:
Replace or clear one slot.
Related API: ItemStack
add_item
def add_item(self, item_stack: ItemStack) -> Optional[ItemStack]:
Add a stack and return the remainder that did not fit, if any.
Related API: ItemStack
clear
def clear(self) -> None:
Clear every main-inventory slot.
capture
def capture(self, *, include_equipment: bool=..., include_selected_slot: bool=...) -> InventorySnapshot:
Capture a detached snapshot of selected player inventory state.
Related API: InventorySnapshot
restore
def restore(self, snapshot: InventorySnapshot) -> None:
Restore a previously captured snapshot.
Related API: InventorySnapshot
replace_temporarily
def replace_temporarily(self, loadout: InventoryLoadout, *, include_equipment: bool=..., include_selected_slot: bool=..., clear: bool=..., unload_policy: Optional[InventoryLeaseUnloadPolicy]=...) -> InventoryLease:
Replace inventory state under a recoverable Script-Owned lease.
Related API: InventoryLease, InventoryLeaseUnloadPolicy, InventoryLoadout