SpockBot currently supports Minecraft 1.8.8
Minecraft bot framework written in Python, currently under heavy development.
- Protocol stuff lives in spock/mcp
- Map stuff lives in spock/mcmap
- Data stuff lives in spock/mcdata
- Core client stuff lives in spock/plugins/core
- Helpful client stuff lives in spock/plugins/helpers
Client could loosely be called "event-driven", by default plugins register handler functions to handle events that may or may not be emitted by other plugins. Everything is a plugin in SpockBot, including the event loop/framework itself, so you can feel free to rip out the entire back end and replace it with your framework or paradigm of choice. As long as you provide the same simple APIs, other plugins won't know the difference.
Absolutely none of this is documented so if you're uncomfortable reading source code this might not be the framework for you. Or, better yet, hop on IRC and help us write some docs!
SpockBot officially supports Python 3.x and Python 2.7.x on *nix operating systems and requires cryptography. It also runs on Windows and under PyPy 2.6.x but that's not regularly tested and might break at any given moment. If you support one of those use cases and SpockBot breaks for you, submit an issue with a stack trace and we'll try to fix it.
- World Interaction (finding, placing, breaking)
- Vanilla Physics
- Inventory (player, chests, etc)
- Crafting
- Entities
- Pathfinding
- Vehicle Physics
- Python 3.x or Python 2.7.x or PyPy 2.6.x
- cryptography 0.9+
- minecraft_data
- six
cryptography library has some extra dependencies to install, you can find detailed instructions here.
python3 setup.py install
Refer to the example bot for instructions on how to write a bot and a plugin that provides some common functionality.
Also see Extra examples for additional examples.
Current docs live here https://spockbot.readthedocs.org
#spockbot
on Freenode#mcdevs
on FreenodeInstructions for contributing to SpockBot can be found in CONTRIBUTING
Inspired by remyroy's COPS, a Minecraft client in Python.
COPS was a service that tracked players on a minecraft server called Civcraft. It looked like this
Protocol implementation based on barneymc.
License is MIT and can be found in LICENSE
The NBT parser and the original protocol implementation came from other projects, relevant legal information and attribution can be found in LEGAL