SoulFire LogoSoulFire

SoulFireTasks

Public Python members of SoulFireTasks.

Generated from the pinned SDK source. Use the matching installation. Each source link points to this baseline.

Methods decorated with @fn return effects. Their implementation signatures use EffectGen for the generator body. Compose them with yield from inside a scoped workflow.

start

@fn("SoulFireTasks.start")
def start[ResultT: Message](
    self,
    task_input: Message,
    result_type: type[ResultT],
    *,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    disconnect_policy: BotTaskDisconnectPolicy = BOT_TASK_DISCONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    parent_task_id: str | None = None,
    causation_id: str | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[ResultT], SoulFireOperationError]

Source

run

def run(
    self,
    task_input: Message,
    *,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    disconnect_policy: BotTaskDisconnectPolicy = BOT_TASK_DISCONNECT_POLICY_CANCEL_WITH_CALL,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    parent_task_id: str | None = None,
    causation_id: str | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

run_go_to

def run_go_to(
    self,
    goal: PathfindGoal,
    *,
    options: PathfindOptions | None = None,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

go_to

@fn("SoulFireTasks.go_to")
def go_to(
    self,
    goal: PathfindGoal,
    *,
    options: PathfindOptions | None = None,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[GoToTaskResult], SoulFireOperationError]

Source

run_follow_entity

def run_follow_entity(
    self,
    target: FollowEntityTarget,
    *,
    distance: float = 3,
    options: PathfindOptions | None = None,
    target_unavailable_timeout_seconds: int = 0,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

follow_entity

@fn("SoulFireTasks.follow_entity")
def follow_entity(
    self,
    target: FollowEntityTarget,
    *,
    distance: float = 3,
    options: PathfindOptions | None = None,
    target_unavailable_timeout_seconds: int = 0,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[FollowEntityTaskResult], SoulFireOperationError]

Source

run_attack_entity

def run_attack_entity(
    self,
    target: AttackEntityTarget,
    *,
    attack_range: float = 3,
    sprinting: bool = False,
    maximum_attacks: int = 0,
    options: PathfindOptions | None = None,
    target_unavailable_timeout_seconds: int = 0,
    select_best_weapon: bool = True,
    weapon: ItemSelector | None = None,
    restore_selected_slot: bool = True,
    use_offhand_shield: bool = False,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

attack_entity

@fn("SoulFireTasks.attack_entity")
def attack_entity(
    self,
    target: AttackEntityTarget,
    *,
    attack_range: float = 3,
    sprinting: bool = False,
    maximum_attacks: int = 0,
    options: PathfindOptions | None = None,
    target_unavailable_timeout_seconds: int = 0,
    select_best_weapon: bool = True,
    weapon: ItemSelector | None = None,
    restore_selected_slot: bool = True,
    use_offhand_shield: bool = False,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[AttackEntityTaskResult], SoulFireOperationError]

Source

run_attack_nearest

def run_attack_nearest(
    self,
    selector: EntitySelector,
    *,
    radius: float = 32,
    attack_range: float = 3,
    sprinting: bool = False,
    maximum_attacks: int = 0,
    maximum_targets: int = 0,
    no_target_timeout_seconds: int = 0,
    complete_when_no_target: bool = False,
    select_best_weapon: bool = True,
    weapon: ItemSelector | None = None,
    restore_selected_slot: bool = True,
    options: PathfindOptions | None = None,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

attack_nearest

@fn("SoulFireTasks.attack_nearest")
def attack_nearest(
    self,
    selector: EntitySelector,
    *,
    radius: float = 32,
    attack_range: float = 3,
    sprinting: bool = False,
    maximum_attacks: int = 0,
    maximum_targets: int = 1,
    no_target_timeout_seconds: int = 0,
    complete_when_no_target: bool = True,
    select_best_weapon: bool = True,
    weapon: ItemSelector | None = None,
    restore_selected_slot: bool = True,
    options: PathfindOptions | None = None,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[AttackNearestTaskResult], SoulFireOperationError]

Source

run_ranged_attack

def run_ranged_attack(
    self,
    target: AttackEntityTarget,
    *,
    minimum_range: float = 8,
    maximum_range: float = 24,
    maximum_shots: int = 0,
    target_unavailable_timeout_seconds: int = 10,
    weapon: ItemSelector | None = None,
    bow_draw_ticks: int = 20,
    lead_target: bool = True,
    compensate_gravity: bool = True,
    strafe: bool = True,
    restore_selected_slot: bool = True,
    options: PathfindOptions | None = None,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

ranged_attack

@fn("SoulFireTasks.ranged_attack")
def ranged_attack(
    self,
    target: AttackEntityTarget,
    *,
    minimum_range: float = 8,
    maximum_range: float = 24,
    maximum_shots: int = 0,
    target_unavailable_timeout_seconds: int = 10,
    weapon: ItemSelector | None = None,
    bow_draw_ticks: int = 20,
    lead_target: bool = True,
    compensate_gravity: bool = True,
    strafe: bool = True,
    restore_selected_slot: bool = True,
    options: PathfindOptions | None = None,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[RangedAttackTaskResult], SoulFireOperationError]

Source

run_flee

def run_flee(
    self,
    threats: EntitySelector,
    *,
    trigger_radius: float = 8,
    safe_distance: float = 16,
    safe_seconds: int = 2,
    complete_when_safe: bool = False,
    maximum_escapes: int = 0,
    options: PathfindOptions | None = None,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

flee

@fn("SoulFireTasks.flee")
def flee(
    self,
    threats: EntitySelector,
    *,
    trigger_radius: float = 8,
    safe_distance: float = 16,
    safe_seconds: int = 2,
    complete_when_safe: bool = True,
    maximum_escapes: int = 0,
    options: PathfindOptions | None = None,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[FleeTaskResult], SoulFireOperationError]

Source

run_guard

def run_guard(
    self,
    position: BlockPosition,
    threats: EntitySelector,
    *,
    guard_radius: float = 16,
    maximum_pursuit_distance: float = 24,
    return_radius: float = 3,
    attack_range: float = 3,
    sprinting: bool = False,
    maximum_attacks: int = 0,
    maximum_targets: int = 0,
    complete_when_clear: bool = False,
    clear_seconds: int = 3,
    select_best_weapon: bool = True,
    weapon: ItemSelector | None = None,
    restore_selected_slot: bool = True,
    options: PathfindOptions | None = None,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

guard

@fn("SoulFireTasks.guard")
def guard(
    self,
    position: BlockPosition,
    threats: EntitySelector,
    *,
    guard_radius: float = 16,
    maximum_pursuit_distance: float = 24,
    return_radius: float = 3,
    attack_range: float = 3,
    sprinting: bool = False,
    maximum_attacks: int = 0,
    maximum_targets: int = 0,
    complete_when_clear: bool = True,
    clear_seconds: int = 3,
    select_best_weapon: bool = True,
    weapon: ItemSelector | None = None,
    restore_selected_slot: bool = True,
    options: PathfindOptions | None = None,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[GuardTaskResult], SoulFireOperationError]

Source

run_protect

def run_protect(
    self,
    entity: AttackEntityTarget,
    threats: EntitySelector,
    *,
    guard_radius: float = 16,
    maximum_pursuit_distance: float = 24,
    return_radius: float = 3,
    attack_range: float = 3,
    sprinting: bool = False,
    maximum_attacks: int = 0,
    maximum_targets: int = 0,
    complete_when_clear: bool = False,
    clear_seconds: int = 3,
    select_best_weapon: bool = True,
    weapon: ItemSelector | None = None,
    restore_selected_slot: bool = True,
    options: PathfindOptions | None = None,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

protect

@fn("SoulFireTasks.protect")
def protect(
    self,
    entity: AttackEntityTarget,
    threats: EntitySelector,
    *,
    guard_radius: float = 16,
    maximum_pursuit_distance: float = 24,
    return_radius: float = 3,
    attack_range: float = 3,
    sprinting: bool = False,
    maximum_attacks: int = 0,
    maximum_targets: int = 0,
    complete_when_clear: bool = True,
    clear_seconds: int = 3,
    select_best_weapon: bool = True,
    weapon: ItemSelector | None = None,
    restore_selected_slot: bool = True,
    options: PathfindOptions | None = None,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[GuardTaskResult], SoulFireOperationError]

Source

run_sleep

def run_sleep(
    self,
    bed: BlockPosition | None = None,
    *,
    search_radius: int = 24,
    wait_until_possible: bool = True,
    retry_interval_ticks: int = 20,
    options: PathfindOptions | None = None,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

sleep

@fn("SoulFireTasks.sleep")
def sleep(
    self,
    bed: BlockPosition | None = None,
    *,
    search_radius: int = 24,
    wait_until_possible: bool = False,
    retry_interval_ticks: int = 20,
    options: PathfindOptions | None = None,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[SleepTaskResult], SoulFireOperationError]

Source

run_fish

def run_fish(
    self,
    *,
    maximum_catches: int = 0,
    maximum_failed_casts: int = 0,
    rod: ItemSelector | None = None,
    cast_timeout_ticks: int = 100,
    bite_timeout_ticks: int = 12000,
    complete_when_no_rod: bool = False,
    restore_selected_slot: bool = True,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

fish

@fn("SoulFireTasks.fish")
def fish(
    self,
    *,
    maximum_catches: int = 1,
    maximum_failed_casts: int = 0,
    rod: ItemSelector | None = None,
    cast_timeout_ticks: int = 100,
    bite_timeout_ticks: int = 12000,
    complete_when_no_rod: bool = True,
    restore_selected_slot: bool = True,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[FishTaskResult], SoulFireOperationError]

Source

run_farm

def run_farm(
    self,
    crop_ids: Iterable[str] = (),
    *,
    center: BlockPosition | None = None,
    radius: int = 24,
    maximum_harvests: int = 0,
    replant: bool = True,
    complete_when_no_mature_crops: bool = False,
    options: PathfindOptions | None = None,
    rescan_interval_ticks: int = 100,
    restore_selected_slot: bool = True,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

farm

@fn("SoulFireTasks.farm")
def farm(
    self,
    crop_ids: Iterable[str] = (),
    *,
    center: BlockPosition | None = None,
    radius: int = 24,
    maximum_harvests: int = 1,
    replant: bool = True,
    complete_when_no_mature_crops: bool = True,
    options: PathfindOptions | None = None,
    rescan_interval_ticks: int = 100,
    restore_selected_slot: bool = True,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[FarmTaskResult], SoulFireOperationError]

Source

run_breed

def run_breed(
    self,
    animals: EntitySelector | None = None,
    *,
    food: ItemSelector | None = None,
    center: BlockPosition | None = None,
    radius: int = 24,
    maximum_pairs: int = 0,
    complete_when_no_pair: bool = False,
    complete_when_no_food: bool = False,
    options: PathfindOptions | None = None,
    rescan_interval_ticks: int = 100,
    breeding_timeout_ticks: int = 100,
    restore_selected_slot: bool = True,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

breed

@fn("SoulFireTasks.breed")
def breed(
    self,
    animals: EntitySelector | None = None,
    *,
    food: ItemSelector | None = None,
    center: BlockPosition | None = None,
    radius: int = 24,
    maximum_pairs: int = 1,
    complete_when_no_pair: bool = True,
    complete_when_no_food: bool = True,
    options: PathfindOptions | None = None,
    rescan_interval_ticks: int = 100,
    breeding_timeout_ticks: int = 100,
    restore_selected_slot: bool = True,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[BreedTaskResult], SoulFireOperationError]

Source

run_explore

def run_explore(
    self,
    *,
    origin: BlockPosition | None = None,
    radius: int = 256,
    waypoint_spacing: int = 64,
    maximum_waypoints: int = 0,
    options: PathfindOptions | None = None,
    return_to_origin: bool = False,
    purpose: str = "sdk-explore",
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

explore

@fn("SoulFireTasks.explore")
def explore(
    self,
    *,
    origin: BlockPosition | None = None,
    radius: int = 256,
    waypoint_spacing: int = 64,
    maximum_waypoints: int = 1,
    options: PathfindOptions | None = None,
    return_to_origin: bool = False,
    purpose: str = "sdk-explore",
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[ExploreTaskResult], SoulFireOperationError]

Source

run_stash

def run_stash(
    self,
    container: BlockPosition,
    operations: Iterable[ContainerTransferSpec | ContainerTransferOperation],
    *,
    options: PathfindOptions | None = None,
    close_container: bool = True,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

stash

@fn("SoulFireTasks.stash")
def stash(
    self,
    container: BlockPosition,
    operations: Iterable[ContainerTransferSpec | ContainerTransferOperation],
    *,
    options: PathfindOptions | None = None,
    close_container: bool = True,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[ContainerTransferTaskResult], SoulFireOperationError]

Source

run_withdraw

def run_withdraw(
    self,
    container: BlockPosition,
    operations: Iterable[ContainerTransferSpec | ContainerTransferOperation],
    *,
    options: PathfindOptions | None = None,
    close_container: bool = True,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

withdraw

@fn("SoulFireTasks.withdraw")
def withdraw(
    self,
    container: BlockPosition,
    operations: Iterable[ContainerTransferSpec | ContainerTransferOperation],
    *,
    options: PathfindOptions | None = None,
    close_container: bool = True,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[ContainerTransferTaskResult], SoulFireOperationError]

Source

run_maintain_loadout

def run_maintain_loadout(
    self,
    container: BlockPosition,
    requirements: Iterable[LoadoutRequirementSpec | LoadoutRequirement],
    *,
    options: PathfindOptions | None = None,
    check_interval_ticks: int = 100,
    maximum_rebalances: int = 0,
    complete_when_satisfied: bool = False,
    close_container: bool = True,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

maintain_loadout

@fn("SoulFireTasks.maintain_loadout")
def maintain_loadout(
    self,
    container: BlockPosition,
    requirements: Iterable[LoadoutRequirementSpec | LoadoutRequirement],
    *,
    options: PathfindOptions | None = None,
    check_interval_ticks: int = 100,
    maximum_rebalances: int = 0,
    complete_when_satisfied: bool = False,
    close_container: bool = True,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[MaintainLoadoutTaskResult], SoulFireOperationError]

Source

balance_loadout

@fn("SoulFireTasks.balance_loadout")
def balance_loadout(
    self,
    container: BlockPosition,
    requirements: Iterable[LoadoutRequirementSpec | LoadoutRequirement],
    *,
    options: PathfindOptions | None = None,
    check_interval_ticks: int = 100,
    close_container: bool = True,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[MaintainLoadoutTaskResult], SoulFireOperationError]

Source

run_auto_eat

def run_auto_eat(
    self,
    food_item_ids: Iterable[str] = (),
    *,
    food_level: int = 14,
    check_interval_ticks: int = 20,
    maximum_meals: int = 0,
    complete_when_no_food: bool = False,
    restore_selected_slot: bool = True,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

auto_eat

@fn("SoulFireTasks.auto_eat")
def auto_eat(
    self,
    food_item_ids: Iterable[str] = (),
    *,
    food_level: int = 14,
    check_interval_ticks: int = 20,
    maximum_meals: int = 0,
    complete_when_no_food: bool = False,
    restore_selected_slot: bool = True,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[AutoEatTaskResult], SoulFireOperationError]

Source

run_auto_respawn

def run_auto_respawn(
    self,
    *,
    respawn_delay_ticks: int = 0,
    maximum_respawns: int = 0,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

auto_respawn

@fn("SoulFireTasks.auto_respawn")
def auto_respawn(
    self,
    *,
    respawn_delay_ticks: int = 0,
    maximum_respawns: int = 0,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[AutoRespawnTaskResult], SoulFireOperationError]

Source

run_auto_totem

def run_auto_totem(
    self,
    *,
    check_interval_ticks: int = 20,
    maximum_equips: int = 0,
    complete_when_no_totem: bool = False,
    replace_occupied_offhand: bool = False,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

auto_totem

@fn("SoulFireTasks.auto_totem")
def auto_totem(
    self,
    *,
    check_interval_ticks: int = 20,
    maximum_equips: int = 0,
    complete_when_no_totem: bool = False,
    replace_occupied_offhand: bool = False,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[AutoTotemTaskResult], SoulFireOperationError]

Source

run_auto_armor

def run_auto_armor(
    self,
    *,
    check_interval_ticks: int = 20,
    maximum_equips: int = 0,
    complete_when_no_upgrade: bool = False,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

auto_armor

@fn("SoulFireTasks.auto_armor")
def auto_armor(
    self,
    *,
    check_interval_ticks: int = 20,
    maximum_equips: int = 0,
    complete_when_no_upgrade: bool = False,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[AutoArmorTaskResult], SoulFireOperationError]

Source

run_collect_blocks

def run_collect_blocks(
    self,
    block_ids: Iterable[str] = (),
    *,
    tags: Iterable[str] = (),
    count: int = 1,
    search_radius: int = 32,
    avoid_submerged_targets: bool = False,
    require_line_of_sight: bool = False,
    target_y_range: IntRange | None = None,
    options: PathfindOptions | None = None,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

collect_blocks

@fn("SoulFireTasks.collect_blocks")
def collect_blocks(
    self,
    block_ids: Iterable[str] = (),
    *,
    tags: Iterable[str] = (),
    count: int = 1,
    search_radius: int = 32,
    avoid_submerged_targets: bool = False,
    require_line_of_sight: bool = False,
    target_y_range: IntRange | None = None,
    options: PathfindOptions | None = None,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[CollectBlocksTaskResult], SoulFireOperationError]

Source

run_excavate

def run_excavate(
    self,
    from_position: BlockPosition,
    to_position: BlockPosition,
    *,
    options: PathfindOptions | None = None,
    maximum_blocks: int = 0,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

excavate

@fn("SoulFireTasks.excavate")
def excavate(
    self,
    from_position: BlockPosition,
    to_position: BlockPosition,
    *,
    options: PathfindOptions | None = None,
    maximum_blocks: int = 0,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[ExcavateTaskResult], SoulFireOperationError]

Source

run_build

def run_build(
    self,
    origin: BlockPosition,
    blocks: Iterable[SchematicBlock],
    *,
    rotation: BuildRotation = BUILD_ROTATION_NONE,
    mirror: BuildMirror = BUILD_MIRROR_NONE,
    substitutions: Mapping[str, Iterable[str]] | None = None,
    options: PathfindOptions | None = None,
    break_incorrect_blocks: bool = True,
    restore_selected_slot: bool = True,
    partition_index: int = 0,
    partition_count: int = 1,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

build

@fn("SoulFireTasks.build")
def build(
    self,
    origin: BlockPosition,
    blocks: Iterable[SchematicBlock],
    *,
    rotation: BuildRotation = BUILD_ROTATION_NONE,
    mirror: BuildMirror = BUILD_MIRROR_NONE,
    substitutions: Mapping[str, Iterable[str]] | None = None,
    options: PathfindOptions | None = None,
    break_incorrect_blocks: bool = True,
    restore_selected_slot: bool = True,
    partition_index: int = 0,
    partition_count: int = 1,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[BuildTaskResult], SoulFireOperationError]

Source

run_craft

def run_craft(
    self,
    recipe_id: str,
    *,
    count: int = 1,
    station: BlockPosition | None = None,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

craft

@fn("SoulFireTasks.craft")
def craft(
    self,
    recipe_id: str,
    *,
    count: int = 1,
    station: BlockPosition | None = None,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[CraftTaskResult], SoulFireOperationError]

Source

run_smelt

def run_smelt(
    self,
    input: ItemSelector,
    *,
    count: int = 1,
    fuel: ItemSelector | None = None,
    station: BlockPosition | None = None,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

smelt

@fn("SoulFireTasks.smelt")
def smelt(
    self,
    input: ItemSelector,
    *,
    count: int = 1,
    fuel: ItemSelector | None = None,
    station: BlockPosition | None = None,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[SmeltTaskResult], SoulFireOperationError]

Source

run_brew

def run_brew(
    self,
    input: ItemSelector,
    ingredient: ItemSelector,
    *,
    count: int = 1,
    fuel: ItemSelector | None = None,
    station: BlockPosition | None = None,
    expected_result: ItemSelector | None = None,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

brew

@fn("SoulFireTasks.brew")
def brew(
    self,
    input: ItemSelector,
    ingredient: ItemSelector,
    *,
    count: int = 1,
    fuel: ItemSelector | None = None,
    station: BlockPosition | None = None,
    expected_result: ItemSelector | None = None,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[BrewTaskResult], SoulFireOperationError]

Source

run_villager_trade

def run_villager_trade(
    self,
    offer_index: int,
    *,
    count: int = 1,
    expected_result: ItemSelector | None = None,
    close_when_done: bool = False,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

villager_trade

@fn("SoulFireTasks.villager_trade")
def villager_trade(
    self,
    offer_index: int,
    *,
    count: int = 1,
    expected_result: ItemSelector | None = None,
    close_when_done: bool = False,
    conflict_policy: BotTaskConflictPolicy = BOT_TASK_CONFLICT_POLICY_UNSPECIFIED,
    reconnect_policy: BotTaskReconnectPolicy = BOT_TASK_RECONNECT_POLICY_UNSPECIFIED,
    priority: BotTaskPriority = BOT_TASK_PRIORITY_UNSPECIFIED,
    deadline: datetime | None = None,
    idempotency_key: str | None = None,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[VillagerTradeTaskResult], SoulFireOperationError]

Source

get

@fn("SoulFireTasks.get")
def get[ResultT: Message](
    self,
    task_id: str,
    result_type: type[ResultT],
    *,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[SoulFireTask[ResultT], SoulFireOperationError]

Source

list

@fn("SoulFireTasks.list")
def list(
    self,
    *,
    statuses: Iterable[BotTaskStatus] = (),
    include_terminal: bool = False,
    page_size: int = 100,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> EffectGen[list[BotTask], SoulFireOperationError]

Source

watch

def watch(
    self,
    *,
    statuses: Iterable[BotTaskStatus] = (),
    after_sequence: int = 0,
    include_snapshot: bool = True,
    headers: dict[str, str] | None = None,
    timeout_ms: int | None = None,
) -> Stream[BotTaskEvent, SoulFireOperationError]

Source

How is this page?

Last updated on

On this page