SoulFire LogoSoulFire

SoulFireBot

Public TypeScript members of SoulFireBot.

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

Compose Effect operations with yield* inside a scoped workflow. Properties expose sub-clients and state.

tasks

get tasks(): SoulFireTasks

Source

pathfinder

get pathfinder(): SoulFirePathfinder

Source

chat

get chat(): SoulFireChat

Source

inventory

get inventory(): SoulFireInventory

Source

recipes

get recipes(): SoulFireRecipes

Source

registry

get registry(): SoulFireRegistry

Source

world

get world(): SoulFireWorld

Source

camera

get camera(): SoulFireCamera

Source

protocol

get protocol(): SoulFireProtocol

Source

start

Marks the bot to run; it connects in the background (see waitForOnline).

start(
  options?: CallOptions,
): Effect.Effect<BotStatus, SoulFireOperationError>

Source

stop

Marks the bot as stopped; it disconnects in the background.

stop(
  options?: CallOptions,
): Effect.Effect<BotStatus, SoulFireOperationError>

Source

restart

Gives the bot a fresh connection.

restart(
  options?: CallOptions,
): Effect.Effect<BotStatus, SoulFireOperationError>

Source

status

status(
  options?: CallOptions,
): Effect.Effect<BotStatus, SoulFireOperationError>

Source

info

Status, and while online the live state with the full inventory.

info(
  options?: CallOptions,
): Effect.Effect<BotInfoResponse, SoulFireOperationError>

Source

liveState

Throws if the bot is offline.

liveState(
  options?: CallOptions,
): Effect.Effect<BotLiveState, SoulFireOperationError>

Source

waitForOnline

Resolves once the bot is online, at once if it already is.

waitForOnline(options?: {
  call?: CallOptions;
}): Effect.Effect<BotStatus, SoulFireOperationError>

Source

events

The bot's live events. The first is its status; the stream stays open while the bot is stopped and follows it across reconnects. The default filter takes state changes, chat, lifecycle, inventory, damage, resource packs and titles.

events(
  filter: MessageInitShape<
    typeof BotEventFilterSchema
  > = DEFAULT_EVENT_FILTER,
  options?: CallOptions,
): Stream.Stream<BotEvent, SoulFireOperationError>

Source

observe

Opens a BotSession: the event stream and the state it adds up to.

observe(
  options?: BotSessionOptions,
): Effect.Effect<BotSession, SoulFireOperationError, Scope.Scope>

Source

sendChat

A chat message, or a command if it starts with /.

sendChat(
  message: string,
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

getBlock

The block at position, if its chunk is loaded.

getBlock(
  request: ScopedRequest<typeof GetBlockRequestSchema>,
  options?: CallOptions,
): Effect.Effect<GetBlockResponse, SoulFireOperationError>

Source

findBlocks

Blocks with one of blockIds, nearest first: maxCount of them (at most 256) within maxDistance of the bot (at most 128).

findBlocks(
  request: ScopedRequest<typeof FindBlocksRequestSchema>,
  options?: CallOptions,
): Effect.Effect<FindBlocksResponse, SoulFireOperationError>

Source

listNearbyEntities

Entities within radius of the bot (at most 128), only of entityTypes if given. Players only with includePlayers: true.

listNearbyEntities(
  request: ScopedRequest<typeof ListNearbyEntitiesRequestSchema>,
  options?: CallOptions,
): Effect.Effect<ListNearbyEntitiesResponse, SoulFireOperationError>

Source

digBlock

Breaks the block at position with what the main hand holds, and resolves once it's broken. cancel: true stops a dig in progress instead. Needs the block within reach; times out after a minute.

digBlock(
  request: ScopedRequest<typeof DigBlockRequestSchema>,
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

placeBlock

Places the held block against the face of against, like a right click on it: the new block goes on that side.

placeBlock(
  request: ScopedRequest<typeof PlaceBlockRequestSchema>,
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

interactBlock

Right-clicks a block face: doors, buttons, beds, levers. sneaking sneaks for this click, so the held item's own use doesn't take over.

interactBlock(
  request: ScopedRequest<typeof InteractBlockRequestSchema>,
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

useItem

Uses the item in hand: eat, drink, throw, draw a bow. releaseItem ends it.

useItem(
  request: ScopedRequest<typeof UseItemRequestSchema>,
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

releaseItem

Lets go of an item in use: fires a drawn bow, stops eating.

releaseItem(
  request: ScopedRequest<typeof ReleaseItemRequestSchema> = {},
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

attackEntity

Hits an entity within reach once, by network id.

attackEntity(
  request: ScopedRequest<typeof AttackEntityRequestSchema>,
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

interactEntity

Right-clicks an entity within reach: trading, mounting.

interactEntity(
  request: ScopedRequest<typeof InteractEntityRequestSchema>,
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

swingArm

Only the animation.

swingArm(
  request: ScopedRequest<typeof SwingArmRequestSchema>,
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

respawn

Respawns a dead bot, or leaves the End credits.

respawn(
  request: ScopedRequest<typeof RespawnRequestSchema> = {},
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

sleep

Uses a bed within reach and resolves once the server confirms the bot is sleeping.

sleep(
  request: ScopedRequest<typeof SleepRequestSchema>,
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

wake

wake(
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

mount

Rides an entity and resolves once the server confirms it.

mount(
  request: ScopedRequest<typeof MountEntityRequestSchema>,
  options?: CallOptions,
): Effect.Effect<MountEntityResponse, SoulFireOperationError>

Source

dismount

dismount(
  request: ScopedRequest<typeof DismountRequestSchema> = {},
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

setVehicleControl

Movement input while controlling a vehicle. It stays until changed; unset fields keep theirs.

setVehicleControl(
  request: ScopedRequest<typeof SetVehicleControlRequestSchema>,
  options?: CallOptions,
): Effect.Effect<SetVehicleControlResponse, SoulFireOperationError>

Source

updateSign

Writes a sign: exactly four lines (an empty string clears one), on the front if frontText.

updateSign(
  request: ScopedRequest<typeof UpdateSignRequestSchema>,
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

writeBook

Writes the writable book in hotbar slot inventorySlot (0-8). A title signs it.

writeBook(
  request: ScopedRequest<typeof WriteBookRequestSchema>,
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

respondResourcePack

respondResourcePack(
  request: ScopedRequest<typeof RespondResourcePackRequestSchema>,
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

setFlying

setFlying(
  request: ScopedRequest<typeof SetFlyingRequestSchema>,
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

startElytraFlight

Starts gliding. The bot must be falling with a usable elytra.

startElytraFlight(
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

setCreativeSlot

Sets slot 0-45 of the inventory menu; no item clears it.

setCreativeSlot(
  request: ScopedRequest<typeof SetCreativeSlotRequestSchema>,
  options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>

Source

waitForChunks

Waits until every chunk within radiusChunks of the bot's chunk is loaded: 0 (the default) means its own chunk, and it's at most 16. Times out after timeoutMs, which defaults to 30 s, at most 5 min.

waitForChunks(
  request: ScopedRequest<typeof WaitForChunksRequestSchema> = {},
  options?: CallOptions,
): Effect.Effect<WaitForChunksResponse, SoulFireOperationError>

Source

goTo

Pathfinds to goal, streaming progress until COMPLETED, FAILED or CANCELLED. A new goTo cancels this one. Times out after options.timeoutSeconds, which defaults to 5 min, at most 1 h.

goTo(
  request: ScopedRequest<typeof GoToRequestSchema>,
  options?: CallOptions,
): Stream.Stream<PathfindProgress, SoulFireOperationError>

Source

stopPathfinding

Cancels the goTo in progress.

stopPathfinding(
  options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>

Source

inventoryState

The open menu, or the player's inventory: layout, slots and the carried item.

inventoryState(
  options?: CallOptions,
): Effect.Effect<BotInventoryStateResponse, SoulFireOperationError>

Source

clickInventory

Clicks slot of the open menu like a mouse; -999 clicks outside it, dropping what the cursor holds. clickType defaults to LEFT_CLICK. hotbarSlot (0-8) is the slot SWAP_HOTBAR swaps with, and defaults to 0.

clickInventory(
  slot: number,
  clickType: ClickType = ClickType.LEFT_CLICK,
  hotbarSlot = 0,
  options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>

Source

transferInventorySlot

Shift-clicks slot: its stack moves to the other part of the menu.

transferInventorySlot(
  slot: number,
  options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>

Source

dropInventorySlot

Drops the stack in slot, or only one item when all is false. all defaults to true.

dropInventorySlot(
  slot: number,
  all = true,
  options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>

Source

moveInventoryStack

Picks up the stack in fromSlot and puts it in toSlot; what stays on the cursor goes back.

moveInventoryStack(
  fromSlot: number,
  toSlot: number,
  options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>

Source

selectHotbar

Selects hotbar slot slot, from 0 to 8.

selectHotbar(
  slot: number,
  options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>

Source

setMovement

Presses or releases movement keys. Keys left out keep their state, and a pressed key stays pressed until changed or resetMovement. Sprinting needs forward and a food level of 6 or more.

setMovement(
  movement: BotMovement,
  options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>

Source

resetMovement

Releases every movement key.

resetMovement(
  options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>

Source

look

Turns the bot. yaw is in degrees: 0 south, 90 west, -90 east, 180 north. pitch too: -90 up, 0 level, 90 down.

look(
  yaw: number,
  pitch: number,
  options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>

Source

openInventory

openInventory(
  options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>

Source

closeContainer

closeContainer(
  options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>

Source

dialog

The server dialog on screen (Minecraft 1.21.6+), if any.

dialog(
  options?: CallOptions,
): Effect.Effect<BotGetDialogResponse, SoulFireOperationError>

Source

renderPov

Same as camera.capture.

renderPov(
  request: {
    width?: number;
    height?: number;
    maxDistance?: number;
    fov?: number;
    cameraX?: number;
    cameraY?: number;
    cameraZ?: number;
    yRot?: number;
    xRot?: number;
    includeHud?: boolean;
    includeHands?: boolean;
    includeDebugTrace?: boolean;
  } = {},
  options?: CallOptions,
): Effect.Effect<BotRenderPovResponse, SoulFireOperationError>

Source

acquireControl

Takes exclusive control: until the lease ends, only this client can act on the bot. Renew it before it runs out. ttlSeconds defaults to 30, from 5 to 300.

acquireControl(
  ttlSeconds = 30,
  options?: CallOptions,
): Effect.Effect<SoulFireBotControlLease, SoulFireOperationError>

Source

acquireControlScoped

acquireControlScoped(
  ttlSeconds = 30,
  options?: CallOptions,
): Effect.Effect<
  SoulFireBotControlLease,
  SoulFireOperationError,
  Scope.Scope
>

Source

renewControl

renewControl(
  lease: BotControlLease,
  ttlSeconds: number,
  options?: CallOptions,
): Effect.Effect<BotControlLease, SoulFireOperationError>

Source

releaseControl

releaseControl(
  lease: BotControlLease,
  options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>

Source

How is this page?

Last updated on

On this page