Use any programming language to create Minecraft bots.
Note
This project is currently in early development. Please read CONTRIBUTING.md before contributing.
A universal Minecraft bot kernel that abstracts the differences between Java Edition and Bedrock Edition.
Exposes a single gRPC API so bots can be controlled from any programming language via an SDK.
DEMO
Currently joining java edition servers is supported.
Python, C++, JavaScript and Java examples are available.
Check out examples folder for more examples.
Features
- Protocol Abstraction — Control Java Edition and Bedrock Edition bots through a single unified API
- Language Agnostic — Any language with a gRPC client can control bots (Python, TypeScript, Go, etc.)
- Agent-per-Bot Model — Each bot runs on its own Java 25 Virtual Thread for full isolation
- Plugin System — Drop a JAR into
plugins/to extend bot behavior (pathfinding, combat, etc.) - Scalable Design — Designed to handle hundreds of simultaneous bots
Requirement
- Java 25+
Installation
git clone https://github.com/Valcyle/MinterMC.git
cd MinterMC
./gradlew buildUsage
# Start the gRPC server (default port: 50051)
./gradlew :mintermc-server:runConnect to the server using any gRPC client with the service definition in:
mintermc-protocol/src/main/proto/bot_service.proto
Plugin Development
- Add
mintermc-plugin-apias a dependency in your project - Implement the
MinterPlugininterface - Build a JAR and place it in the
plugins/directory
public class MyPlugin implements MinterPlugin { @Override public void onEnable() { /* setup */ } @Override public void onDisable() { /* cleanup */ } }
Note
This project is currently in early development. The gRPC server and plugin system are work in progress, but the Minecraft protocol adapters (Java Edition / Bedrock Edition) are not yet implemented.
Note
MinterMC uses MCProtocolLib for Java Edition adapter implementation. MinterMC uses Protocol for Bedrock Edition adapter implementation.
Author
License
TBD
