All versions
1.8.0
Release
Steve AI 1.8.0last month 47
Compatibility
Minecraft: Java Edition
1.20.1
Platform
Forge
Supported environments
Client and server
Changes
Steve can now plan and execute supported resource gathering, crafting, and smelting goals locally, using the language model only when local planning cannot handle the request.
Added
- Local planning for simple
craft/make,smelt, andgather/collect/minegoals. - Support for registered item IDs, mod namespaces, and simple English item names.
- Inventory-aware planning: request a desired inventory total and Steve produces only the missing quantity. Already satisfied goals complete without consuming materials.
- Offline operation for supported goals with
[autonomy] maxLlmCallsPerGoal = 0. - The
localPlanningconfiguration option, enabled by default. - Seven dedicated Minecraft GameTests covering crafting, gathering, furnace smelting, existing inventory, pause/stop, denied permissions, and unsupported offline requests.
Fixed
- Local execution no longer depends on initializing a language model or having an available LLM call budget.
- Prerequisite planning preserves requested quantities and accounts for ingredients already in inventory.
- Prerequisite nesting is limited to eight levels to prevent unbounded dependency chains.
- Local planning outcomes use valid execution state transitions.
Behavior and compatibility
- Existing permissions, pause/stop controls, bounded recovery, and deterministic goal verification remain enforced.
- Compound or unknown requests still use LLM fallback. With a zero-call budget, unsupported requests stop with an explanation.
- This release provides bounded local task planning; it does not add unrestricted offline language understanding or new proactive behavior.
Offline examples
craft 8 oak_planks
smelt 16 iron_ingots
gather 4 oak_log
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:hCJGLWON:SSFYPp0w"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:hCJGLWON:SSFYPp0w"
}

