Skip to main content

Minecraft: Python Edition

Minecraft

Minecraft: Python Edition is a project that strives to recreate each and every old Minecraft version in Python 3 using the Pyglet multimedia library and Cython for performance.

The project is currently working on the Indev versions of Minecraft. The latest version is Indev 0.31 20100130 as released on January 30, 2010.

This version adds workbench crafting, gold tools, the "Beast Boy" MD3 mob, mob item drops, and soup to the game.

Features from previous Indev versions include the Indev mossy cobblestone spawn house, NBT level file saving, tools, torches, advanced liquid spread, TNT explosives, chests, and passive MD3 mobs.

To easily install this version of Minecraft: Python Edition, just run python -m pip install minecraft-python==0.31.20100130.

You can learn more about this version on the Minecraft wiki.

Organization

This project's commits represent the Python versions of each Minecraft Java game version. You can view source code changes between game versions by checking the commit history or comparing branches. To play any version, specify it in the pip install command as demonstrated below.

General Usage

Pyglet, Cython, Pillow, PyOgg, NumPy, and nbtlib are required dependencies which can easily be installed with pip. Use the versions specified in requirements.txt. wxPython is an optional dependency for the level file picker, but if you don't have it then Tkinter is used instead.

For audio to work you will either need PyOgg which is recommended, or FFmpeg which has to be installed on your system. GStreamer is also supported on Linux through the gst-python library. PyOgg requires that your system have one of the Opus, FLAC, or Vorbis codecs. OpenAL is required and comes bundled with the source on Windows.

For a manual Cython source build, run python setup.py build_ext --inplace.

Run python -m mc.net.minecraft.client.Minecraft to launch the game. Minecraft: Python Edition should be compatible with any modern platform that supports OpenGL and Cython.

Run with the argument -fullscreen to open the window in fullscreen mode (or press F11 in-game). The argument -creative will force the game to be in creative mode.

Gameplay

All controls are as you would expect for the game and they can be configured in the options menu. Press I to open your inventory, F5 to toggle rain and F7 to take a cool isometric screenshot.

Smelting is unique in early Indev: to get iron or gold ingots, light the dropped ores on fire or throw them in lava.

The Indev level generator is customizable and you can choose between the Inland, Island, Floating, and Flat level types. You can specify the world theme as Normal or Hell (lava and dirt instead of water and grass), world size, and world shape (Square, Long, Deep).

Levels can be saved to a single .mclevel NBT file in the pause menu. The level files are perfectly compatible with Java and vice versa.

MD3 Steves may drop string on death, Black Steves may drop gunpowder, and Beast Boys may drop feathers.

Crafted mushroom bowl soup will restore health. Check the Wiki for crafting recipes added in this version.

Isometric screenshot

An isometric screenshot of a normal Island map generated by the game, showing the MD3 mobs.

Additional Notes

The mc.resources directory contains all of the textures and sounds that this version uses. However, the textures are only there for convenience, as all of the texture buffers are already preloaded in the mc.Resources module.

This would have been much more challenging to work on without the great tools provided by RetroMCP-Java.

Metadata

Release files for minecraft-python 0.31.20100130

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for minecraft-python 0.31.20100130
File
minecraft_python-0.31.20100130-cp311-cp311-musllinux_1_1_i686.whl CPython 3.11 CPython 3.11 Linux musl 1.1+ x86-32 Details
minecraft_python-0.31.20100130-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
minecraft_python-0.31.20100130-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.11 CPython 3.11 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details
minecraft_python-0.31.20100130-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
minecraft_python-0.31.20100130-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
minecraft_python-0.31.20100130-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
minecraft_python-0.31.20100130-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
minecraft_python-0.31.20100130-cp310-cp310-musllinux_1_1_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.1+ x86-64 Details
minecraft_python-0.31.20100130-cp310-cp310-musllinux_1_1_i686.whl CPython 3.10 CPython 3.10 Linux musl 1.1+ x86-32 Details
minecraft_python-0.31.20100130-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
minecraft_python-0.31.20100130-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details
minecraft_python-0.31.20100130-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
minecraft_python-0.31.20100130-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details

Total release size: 226.0 MB

Release files / minecraft_python-0.31.20100130-cp311-cp311-musllinux_1_1_i686.whl

Download URL minecraft_python-0.31.20100130-cp311-cp311-musllinux_1_1_i686.whl
Size 23.5 MB
Tags CPython 3.11 Linux musl 1.1+ x86-32
SHA-256 checksum
How to use checksums
69fe25c26275107a91cb1f0925890bd902935c1afefb088a99983ed5b5c9ebc0
BLAKE2b-256 checksum
How to use checksums
53994805d0c5e0ee5efe95248d0d2527f93e98d568eae488fffbabafe86d0d3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / minecraft_python-0.31.20100130-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL minecraft_python-0.31.20100130-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 24.4 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
67ba0ec1265c12fd418d26494fc2b9c7f0174235536beb28f7b427fa40cbc3b4
BLAKE2b-256 checksum
How to use checksums
9d7c830d90d0fbb25d5ecd4bc384819709385ce1c29348d9bb961a3236be2009
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / minecraft_python-0.31.20100130-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL minecraft_python-0.31.20100130-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 23.5 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
3c4713adf54984ca56f28c5fd9ba2967cf97d1698f0416a2574985f59a7be9cb
BLAKE2b-256 checksum
How to use checksums
fa8afe2e4e3e6eeca26210f2788ea64cc3c230006ca5ac42111a2afd78a07f9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / minecraft_python-0.31.20100130-cp311-cp311-macosx_11_0_arm64.whl

Download URL minecraft_python-0.31.20100130-cp311-cp311-macosx_11_0_arm64.whl
Size 10.6 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
385d60a05ecd7d5942e581f9983e0055df0e8cde9ad2d64d5adc0b247d874dc6
BLAKE2b-256 checksum
How to use checksums
dcef636770d1de75868b24029d5c8ca2326bffb7aefcd50f86ed443c615a1c05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / minecraft_python-0.31.20100130-cp311-cp311-macosx_10_9_x86_64.whl

Download URL minecraft_python-0.31.20100130-cp311-cp311-macosx_10_9_x86_64.whl
Size 10.8 MB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
dd274cf3ef3dd4fe368ac7d3c1fb703b2da960db36f8ef026e8580ea209da98d
BLAKE2b-256 checksum
How to use checksums
7d7a687237d408d739e0ae66a5315b9dd217b137c906ae0926dc29b00da8881c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / minecraft_python-0.31.20100130-cp310-cp310-win_amd64.whl

Download URL minecraft_python-0.31.20100130-cp310-cp310-win_amd64.whl
Size 10.5 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
27054218366de52029cd0d89260edec0802788fb7b183fc290e3505a989266bc
BLAKE2b-256 checksum
How to use checksums
3780678068fe1704d58468ac463483eb98d79eb54f70f35e1af9d4f550a9198d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / minecraft_python-0.31.20100130-cp310-cp310-win32.whl

Download URL minecraft_python-0.31.20100130-cp310-cp310-win32.whl
Size 10.1 MB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
d6dd4d1f0919080737eac7a22bee67015fa2d3df53e81d75a9ea463976019f13
BLAKE2b-256 checksum
How to use checksums
831651d1028f9b1f06ed5e0fce2f93060cccf581e6c2adc3b2f06dffe16a6921
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / minecraft_python-0.31.20100130-cp310-cp310-musllinux_1_1_x86_64.whl

Download URL minecraft_python-0.31.20100130-cp310-cp310-musllinux_1_1_x86_64.whl
Size 23.2 MB
Tags CPython 3.10 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
5d34713fdf9c2b2f167556f8f3bc7fd49f15c930ddaa4f058fa0ba2fb3929a95
BLAKE2b-256 checksum
How to use checksums
f1c3c000ca3abdd6c5688bb7ba36361dbbffe79401f70843ecfada257a3d62a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / minecraft_python-0.31.20100130-cp310-cp310-musllinux_1_1_i686.whl

Download URL minecraft_python-0.31.20100130-cp310-cp310-musllinux_1_1_i686.whl
Size 22.5 MB
Tags CPython 3.10 Linux musl 1.1+ x86-32
SHA-256 checksum
How to use checksums
a862135c8e5986543c040f74ae280694fe303fbfeb085eb3acd479a33e66abb8
BLAKE2b-256 checksum
How to use checksums
a4745dd5602170185a64eeafb5062a0a0dbef0a110235b021b28d08158f3f878
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / minecraft_python-0.31.20100130-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL minecraft_python-0.31.20100130-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 23.2 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b4afa4bf1e19555617fee94f6a6e294530c530043497c47d649f0a5aac8b2992
BLAKE2b-256 checksum
How to use checksums
80e2cbdb955670756ec3d5bb97ffc6f6612e1a4085d52b840dcaf6aa27ac3ba1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / minecraft_python-0.31.20100130-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL minecraft_python-0.31.20100130-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 22.4 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
608dc495065f8383cb5d7ad3107073a1dfadda44864238d313c98c9679ccd7a0
BLAKE2b-256 checksum
How to use checksums
d771b7953cb75809b1ade0a243c21b29d7afdfada64fe7754c2cd95623db800a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / minecraft_python-0.31.20100130-cp310-cp310-macosx_11_0_arm64.whl

Download URL minecraft_python-0.31.20100130-cp310-cp310-macosx_11_0_arm64.whl
Size 10.6 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
391bfe04f908018999af377ecdd2aaf584bb66815afb83420455f7624425aeb2
BLAKE2b-256 checksum
How to use checksums
01a471bf010031c050dab837760dca207e53d35e028f7a4e69211b5e77c1cc1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / minecraft_python-0.31.20100130-cp310-cp310-macosx_10_9_x86_64.whl

Download URL minecraft_python-0.31.20100130-cp310-cp310-macosx_10_9_x86_64.whl
Size 10.8 MB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
3a308e87459d70c8b703ea770ac898da751cbaf1b685ea8bb1eecb8029a4e58a
BLAKE2b-256 checksum
How to use checksums
4c748a9acd8d6781d3afc5837845b3a9e479bf4d6e12c31a903d9e78a1965926
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page