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(): SoulFireTaskspathfinder
get pathfinder(): SoulFirePathfinderchat
get chat(): SoulFireChatinventory
get inventory(): SoulFireInventoryrecipes
get recipes(): SoulFireRecipesregistry
get registry(): SoulFireRegistryworld
get world(): SoulFireWorldcamera
get camera(): SoulFireCameraprotocol
get protocol(): SoulFireProtocolstart
Marks the bot to run; it connects in the background (see waitForOnline).
start(
options?: CallOptions,
): Effect.Effect<BotStatus, SoulFireOperationError>stop
Marks the bot as stopped; it disconnects in the background.
stop(
options?: CallOptions,
): Effect.Effect<BotStatus, SoulFireOperationError>restart
Gives the bot a fresh connection.
restart(
options?: CallOptions,
): Effect.Effect<BotStatus, SoulFireOperationError>status
status(
options?: CallOptions,
): Effect.Effect<BotStatus, SoulFireOperationError>info
Status, and while online the live state with the full inventory.
info(
options?: CallOptions,
): Effect.Effect<BotInfoResponse, SoulFireOperationError>liveState
Throws if the bot is offline.
liveState(
options?: CallOptions,
): Effect.Effect<BotLiveState, SoulFireOperationError>waitForOnline
Resolves once the bot is online, at once if it already is.
waitForOnline(options?: {
call?: CallOptions;
}): Effect.Effect<BotStatus, SoulFireOperationError>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>observe
Opens a BotSession: the event stream and the state it adds up to.
observe(
options?: BotSessionOptions,
): Effect.Effect<BotSession, SoulFireOperationError, Scope.Scope>sendChat
A chat message, or a command if it starts with /.
sendChat(
message: string,
options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>getBlock
The block at position, if its chunk is loaded.
getBlock(
request: ScopedRequest<typeof GetBlockRequestSchema>,
options?: CallOptions,
): Effect.Effect<GetBlockResponse, SoulFireOperationError>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>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>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>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>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>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>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>attackEntity
Hits an entity within reach once, by network id.
attackEntity(
request: ScopedRequest<typeof AttackEntityRequestSchema>,
options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>interactEntity
Right-clicks an entity within reach: trading, mounting.
interactEntity(
request: ScopedRequest<typeof InteractEntityRequestSchema>,
options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>swingArm
Only the animation.
swingArm(
request: ScopedRequest<typeof SwingArmRequestSchema>,
options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>respawn
Respawns a dead bot, or leaves the End credits.
respawn(
request: ScopedRequest<typeof RespawnRequestSchema> = {},
options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>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>wake
wake(
options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>mount
Rides an entity and resolves once the server confirms it.
mount(
request: ScopedRequest<typeof MountEntityRequestSchema>,
options?: CallOptions,
): Effect.Effect<MountEntityResponse, SoulFireOperationError>dismount
dismount(
request: ScopedRequest<typeof DismountRequestSchema> = {},
options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>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>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>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>respondResourcePack
respondResourcePack(
request: ScopedRequest<typeof RespondResourcePackRequestSchema>,
options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>setFlying
setFlying(
request: ScopedRequest<typeof SetFlyingRequestSchema>,
options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>startElytraFlight
Starts gliding. The bot must be falling with a usable elytra.
startElytraFlight(
options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>setCreativeSlot
Sets slot 0-45 of the inventory menu; no item clears it.
setCreativeSlot(
request: ScopedRequest<typeof SetCreativeSlotRequestSchema>,
options?: CallOptions,
): Effect.Effect<BotActionResult, SoulFireOperationError>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>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>stopPathfinding
Cancels the goTo in progress.
stopPathfinding(
options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>inventoryState
The open menu, or the player's inventory: layout, slots and the carried item.
inventoryState(
options?: CallOptions,
): Effect.Effect<BotInventoryStateResponse, SoulFireOperationError>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>transferInventorySlot
Shift-clicks slot: its stack moves to the other part of the menu.
transferInventorySlot(
slot: number,
options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>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>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>selectHotbar
Selects hotbar slot slot, from 0 to 8.
selectHotbar(
slot: number,
options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>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>resetMovement
Releases every movement key.
resetMovement(
options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>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>openInventory
openInventory(
options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>closeContainer
closeContainer(
options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>dialog
The server dialog on screen (Minecraft 1.21.6+), if any.
dialog(
options?: CallOptions,
): Effect.Effect<BotGetDialogResponse, SoulFireOperationError>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>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>acquireControlScoped
acquireControlScoped(
ttlSeconds = 30,
options?: CallOptions,
): Effect.Effect<
SoulFireBotControlLease,
SoulFireOperationError,
Scope.Scope
>renewControl
renewControl(
lease: BotControlLease,
ttlSeconds: number,
options?: CallOptions,
): Effect.Effect<BotControlLease, SoulFireOperationError>releaseControl
releaseControl(
lease: BotControlLease,
options?: CallOptions,
): Effect.Effect<void, SoulFireOperationError>How is this page?
Last updated on
