SoulFire LogoSoulFire
SDK

SoulFire SDK

Build typed, event-driven Minecraft automation with the official TypeScript and Python SDKs.

The SoulFire SDK is the official API for Minecraft automation. Your application controls one bot or a fleet. SoulFire manages connections, reconnects, permissions, tasks, and plugins.

The TypeScript SDK supports both Effect and Promises. The Python SDK requires CPython 3.14. It supports asynchronous and synchronous code.

Choose a language

How the SDK is organized

SoulFire
├── server metadata and negotiated capabilities
├── administrative services and scoped telemetry
├── plugin catalog and reflective RPC
└── instance(instanceId)
    ├── fleet lifecycle and status streams
    ├── selectors, work distribution, and task groups
    ├── coordinated automation, memory, roles, and claims
    └── bot(botId)
        ├── session and synchronized state
        ├── world, registry, inventory, recipes, and chat
        ├── camera captures, frame streams, and world maps
        ├── typed player actions and path planning
        ├── advanced native protocol access
        └── durable tasks

An instance separates permissions and settings. Each Minecraft account is a separate bot. SoulFire saves the requested bot state. It can reconnect the bot after the SDK program stops.

Actions, streams, and tasks

Use an action for one short operation, such as sending chat or clicking a slot. The sleep action finishes after the server reports that the bot entered a bed. The wake action leaves the current bed. Each result has an action ID and a final state. The final state is completed, cancelled, or failed.

Use a stream to receive updates over time. For example, a stream can report chat, inventory, world, task, or plugin updates.

Use a durable task for work that takes time. The server continues the task if the SDK program disconnects. You can read its progress, stop it, or reconnect to it by ID.

Compatibility and extensions

Each connection starts with a compatibility test. The SDK compares API versions, features, and required plugin versions.

Plugins can add RPC services and durable task types. An application can use a plugin package or discover the plugin API while it runs.

Next steps

How is this page?

Last updated on

On this page