soulfire.SoulFireInventory

class soulfire.SoulFireInventory(instance_id: str, bot_id: str, client: soulfire.inventory_connect.InventoryServiceClient, headers: HeaderProvider)[source]

Bases: _InventoryBase

snapshot(*, timeout_ms: int | None = None) → effect_py.Effect[soulfire.inventory_pb2.ContainerSnapshot, soulfire.errors.SoulFireOperationError][source]
count(selector: str | soulfire.inventory_pb2.ItemSelector, *, areas: collections.abc.Iterable[soulfire.inventory_pb2.InventoryArea] = (), timeout_ms: int | None = None) → effect_py.Effect[int, soulfire.errors.SoulFireOperationError][source]
find(selector: soulfire.inventory_pb2.ItemSelector, *, areas: collections.abc.Iterable[soulfire.inventory_pb2.InventoryArea] = (), timeout_ms: int | None = None) → effect_py.Effect[soulfire.inventory_pb2.FindInventorySlotsResponse, soulfire.errors.SoulFireOperationError][source]
rank(kind: soulfire.inventory_pb2.InventoryRecommendationKind, *, selector: soulfire.inventory_pb2.ItemSelector | None = None, areas: collections.abc.Iterable[soulfire.inventory_pb2.InventoryArea] = (), target_block: soulfire.common_pb2.BlockPosition | None = None, equipment_slot: str | None = None, limit: int = 10, prefer_hotbar: bool = False, preferred_enchantment_ids: collections.abc.Iterable[str] = (), excluded_enchantment_ids: collections.abc.Iterable[str] = (), prefer_high_durability: bool = False, timeout_ms: int | None = None) → effect_py.Effect[soulfire.inventory_pb2.RankInventoryItemsResponse, soulfire.errors.SoulFireOperationError][source]
best_tool(target_block: soulfire.common_pb2.BlockPosition, **options: Unpack[InventoryRankingOptions]) → effect_py.Effect[soulfire.inventory_pb2.InventoryItemRecommendation | None, soulfire.errors.SoulFireOperationError][source]
best_weapon(**options: Unpack[InventoryRankingOptions]) → effect_py.Effect[soulfire.inventory_pb2.InventoryItemRecommendation | None, soulfire.errors.SoulFireOperationError][source]
best_armor(equipment_slot: str, **options: Unpack[InventoryRankingOptions]) → effect_py.Effect[soulfire.inventory_pb2.InventoryItemRecommendation | None, soulfire.errors.SoulFireOperationError][source]
best_food(**options: Unpack[InventoryRankingOptions]) → effect_py.Effect[soulfire.inventory_pb2.InventoryItemRecommendation | None, soulfire.errors.SoulFireOperationError][source]
best_scaffold(**options: Unpack[InventoryRankingOptions]) → effect_py.Effect[soulfire.inventory_pb2.InventoryItemRecommendation | None, soulfire.errors.SoulFireOperationError][source]
move(source_slot: int, destination_slot: int, *, count: int | None = None, expected_revision: int = 0, idempotency_key: str | None = None, timeout_ms: int | None = None) → effect_py.Effect[soulfire.inventory_pb2.InventoryMutationResponse, soulfire.errors.SoulFireOperationError][source]
transfer(selector: soulfire.inventory_pb2.ItemSelector, count: int, *, from_area: soulfire.inventory_pb2.InventoryArea, to_area: soulfire.inventory_pb2.InventoryArea, expected_revision: int = 0, idempotency_key: str | None = None, timeout_ms: int | None = None) → effect_py.Effect[soulfire.inventory_pb2.InventoryMutationResponse, soulfire.errors.SoulFireOperationError][source]
toss(selector: soulfire.inventory_pb2.ItemSelector, count: int, *, expected_revision: int = 0, idempotency_key: str | None = None, timeout_ms: int | None = None) → effect_py.Effect[soulfire.inventory_pb2.InventoryMutationResponse, soulfire.errors.SoulFireOperationError][source]
select_hotbar(*, slot: int | None = None, selector: soulfire.inventory_pb2.ItemSelector | None = None, expected_revision: int = 0, idempotency_key: str | None = None, timeout_ms: int | None = None) → effect_py.Effect[soulfire.inventory_pb2.InventoryMutationResponse, soulfire.errors.SoulFireOperationError][source]
equip(selector: soulfire.inventory_pb2.ItemSelector, equipment_slot: str, *, expected_revision: int = 0, idempotency_key: str | None = None, timeout_ms: int | None = None) → effect_py.Effect[soulfire.inventory_pb2.InventoryMutationResponse, soulfire.errors.SoulFireOperationError][source]
unequip(equipment_slot: str, *, destination_area: soulfire.inventory_pb2.InventoryArea | None = None, expected_revision: int = 0, idempotency_key: str | None = None, timeout_ms: int | None = None) → effect_py.Effect[soulfire.inventory_pb2.InventoryMutationResponse, soulfire.errors.SoulFireOperationError][source]
open(position: soulfire.common_pb2.BlockPosition, *, idempotency_key: str | None = None, timeout_ms: int | None = None) → effect_py.Effect[SoulFireContainer, soulfire.errors.SoulFireOperationError, effect_py.Scope][source]