Skip to main content

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