OptionaltaskClient: Client<OptionalpathfinderClient: Client<OptionalchatClient: Client<OptionalinventoryClient: Client<OptionalrecipeClient: Client<OptionalregistryClient: Client<OptionalworldClient: Client<OptionalprotocolClient: Client<Latest state from the session attached by connect.
This synchronous property performs no request. It returns empty state before connection and after scope cleanup. State can lag behind the server; use a session predicate to wait for a required update.
Durable server jobs for this bot.
Start methods return a handle after acceptance. run* methods return progress
streams with cancellation tied to stream interruption by default.
Acquire exclusive action control with explicit release.
Lease lifetime in seconds, default 30, from 5 to 300.
Optionaloptions: CallOptions
RPC call options.
An Effect that produces a lease. The caller owns its release.
Action requests from this handle include the lease token. Renew before expiry; renewal is not automatic. A second active lease on this handle fails.
acquireControlScoped for automatic release at scope exit.
Acquire exclusive action control and release it when the scope closes.
Lease lifetime in seconds, default 30, from 5 to 300.
Optionaloptions: CallOptions
RPC call options.
An Effect that produces a lease and requires Scope.
This method adds release cleanup to acquireControl. It does not renew the lease automatically. Call SoulFireBotControlLease.renew for longer work.
Hits an entity within reach once, by network id.
Optionaloptions: CallOptionsClicks a button of the open container: a stonecutter recipe or a loom pattern (its position in the menu's list), an enchanting option (0-2), or a lectern's previous page (1), next page (2) or take book (3). Villagers, beacons, crafters and other containers don't react to it on a vanilla server. Doesn't wait for the server, which may refuse the click (too few levels, no such recipe) without an error.
Optionaloptions: CallOptionsClicks 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.
Optionaloptions: CallOptionsOptionaloptions: CallOptionsCollect matching blocks and wait for the typed task result.
Block IDs or tags prefixed with #, as one string or an array.
Count, search distance, pathfinding, and scheduling options.
An Effect that produces the collection result on successful completion.
This helper owns the task. Interruption or failure before completion requests
cancellation of unfinished server work. Use SoulFireTasks.collectBlocks
for a handle with explicit ownership. Non-successful terminal status fails
with SoulFireTaskFailed through the Effect error channel.
Start the bot if necessary and wait for its initial player snapshot.
Readiness deadline and per-RPC call options.
An Effect with no result value that requires Scope.
An attached session makes this operation a no-op. Otherwise, it reads the bot's desired state, starts a stopped bot, and attaches observation. Scope cleanup stops the bot only if this operation started it. A previously running bot keeps its running state.
readyTimeoutMs defaults to 30,000 milliseconds and must be positive and
finite. It bounds startup and the initial player snapshot. An expired deadline
fails with SoulFireTimeoutError; RPC failures use the Effect error channel.
start alone does not attach observation.
The server dialog on screen (Minecraft 1.21.6+), if any.
Optionaloptions: CallOptionsBreaks 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.
Optionaloptions: CallOptionsOptionaloptions: CallOptionsDrops the stack in slot, or only one item when all is false. all
defaults to true.
Optionaloptions: CallOptionsThe 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.
Optionaloptions: CallOptionsBlocks with one of blockIds, nearest first: maxCount of them (at most
256) within maxDistance of the bot (at most 128).
Optionaloptions: CallOptionsThe block at position, if its chunk is loaded.
Optionaloptions: CallOptionsPathfinds 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.
Optionaloptions: CallOptionsStatus, and while online the live state with the full inventory.
Optionaloptions: CallOptionsRight-clicks a block face: doors, buttons, beds, levers. sneaking sneaks
for this click, so the held item's own use doesn't take over.
Optionaloptions: CallOptionsRight-clicks an entity within reach: trading, mounting.
Optionaloptions: CallOptionsThe open menu, or the player's inventory: layout, slots and the carried item.
Optionaloptions: CallOptionsEntities within radius of the bot (at most 128), only of entityTypes if
given. Players only with includePlayers: true.
Optionaloptions: CallOptionsFails through the Effect error channel if the bot has no live state.
Optionaloptions: CallOptionsTurns the bot. yaw is in degrees: 0 south, 90 west, -90 east, 180 north.
pitch too: -90 up, 0 level, 90 down.
Optionaloptions: CallOptionsRides an entity and resolves once the server confirms it.
Optionaloptions: CallOptionsPicks up the stack in fromSlot and puts it in toSlot; what stays on the
cursor goes back.
Optionaloptions: CallOptionsOpen a scoped session that maintains state from bot events.
Optionaloptions: BotSessionOptions
Filters, buffering, readiness, and resumption configuration.
An Effect that produces a BotSession and requires Scope.
With no custom options, reuse an attached session if present. Otherwise, this operation creates a separate session. It does not start the bot or attach the new session to state; read the returned session's state instead. The scope closes the subscription.
Optionaloptions: CallOptionsPlaces the held block against the face of against, like a right click
on it: the new block goes on that side.
Optionaloptions: CallOptionsOptionaloptions: CallOptionsLets go of an item in use: fires a drawn bow, stops eating.
Optionaloptions: CallOptionsSame as camera.capture.
Optionaloptions: CallOptionsOptionaloptions: CallOptionsReleases every movement key.
Optionaloptions: CallOptionsRespawns a dead bot, or leaves the End credits.
Optionaloptions: CallOptionsOptionaloptions: CallOptionsGives the bot a fresh connection.
Optionaloptions: CallOptionsSelects hotbar slot slot, from 0 to 8.
Optionaloptions: CallOptionsA chat message, or a command if it starts with /.
Optionaloptions: CallOptionsSets slot 0-45 of the inventory menu; no item clears it.
Optionaloptions: CallOptionsOptionaloptions: CallOptionsPresses 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.
Optionaloptions: CallOptionsMovement input while controlling a vehicle. It stays until changed; unset fields keep theirs.
Optionaloptions: CallOptionsUses a bed within reach and resolves once the server confirms the bot is sleeping.
Optionaloptions: CallOptionsMarks the bot to run; it connects in the background (see waitForOnline).
Optionaloptions: CallOptionsStarts gliding. The bot must be falling with a usable elytra.
Optionaloptions: CallOptionsOptionaloptions: CallOptionsMarks the bot as stopped; it disconnects in the background.
Optionaloptions: CallOptionsCancels the goTo in progress.
Optionaloptions: CallOptionsOnly the animation.
Optionaloptions: CallOptionsShift-clicks slot: its stack moves to the other part of the menu.
Optionaloptions: CallOptionsWrites a sign: exactly four lines (an empty string clears one), on the
front if frontText.
Optionaloptions: CallOptionsUses the item in hand: eat, drink, throw, draw a bow. releaseItem ends
it.
Optionaloptions: CallOptionsWaits 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.
Optionaloptions: CallOptionsWait for live state or an initial snapshot and return the latest status.
Optionaloptions: { call?: CallOptions }Optionaloptions: CallOptionsWrites the writable book in hotbar slot inventorySlot (0-8). A title
signs it.
Optionaloptions: CallOptions
One bot's lifecycle, actions, live state, and server tasks.
Obtain a handle through SoulFireClient.createBot, SoulFireInstance.getOrCreateBot, or SoulFireInstance.bot. Direct construction requires RPC clients and is intended for transport integration.
Remarks
Call connect before reading state. Operations are lazy Effects or Streams. Actions fail through the Effect error channel when rejected. Use tasks for server jobs, or collect for a workflow that owns collection until completion and cancels unfinished work on interruption.