Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (testpypi.python.org).
Help us improve Python packaging - Donate today!

Minecraft library in python

Project Description

Spock currently supports Minecraft 1.8.8

Bot framework, currently under heavy development

Protocol stuff lives in spock/mcp
Map stuff lives in spock/mcmap
Important client stuff lives in spock/plugins/core
Less important 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 spock, 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.

Currently writing Spock plugins requires a fairly intricate understanding of the MC protocol, since there aren’t many plugins that provide higher abstractions than MC packets. That said the API is starting to shape up quite nicely, we’ve got timers, basic physics, and the beginnings of a World API.

Spock officially supports Python 3.x on *nix operating systems and requires PyCrypto. It also runs on Windows and under Python 2.7+ but that’s not regularly tested and might break at any given moment. If you support one of those use cases and Spock breaks for you, submit an issue with a stack trace and we’ll try to fix it.

Dependencies

Python 3.x or Python 2.7.x
PyCrypto

Installation

python3 setup.py install

Examples

Refer to the example bot for instructions on how to write a bot and a plugin that provides some common functionality.

Also see Some Useful Examples for additional examples contributed by the community.

API Docs

Current API docs live here https://spockbotmc.github.io/docs/spock/

Support

#spockbot on Freenode
gamingrobot or nickelpro in #mcdevs on Freenode

Credits

Inspired by remyroy’s COPS, a Minecraft client in Python. Protocol implementation based on barneymc

COPS was a service that tracked players on a minecraft server called Civcraft. It looked like this

Release History

Release History

This version
History Node

0.1.2

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting