A project that seeks to recreate every old Minecraft version in Python using Pyglet and Cython.
Project description
Minecraft: Python Edition
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 20091231-2 as released on December 31, 2009.
This version is the last version of Minecraft released in 2009, and the first version of Indev released in survival mode. This version introduces the player inventory screen and isometric screenshots, the latter of which is exclusive to Indev versions as the world is not infinite.
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, and NumPy are required dependencies and can easily be installed with pip. Use the versions specified in requirements.txt
.
While the late Classic versions and later Indev versions feature audio, this version does not.
To easily install this version of Minecraft: Python Edition, just run python -m pip install minecraft-python==0.31.20091231-2
.
Alternatively, for a manual Cython build, run python setup.py build_ext --inplace
.
Run python -m mc.net.minecraft.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. The argument -creative
will force the game to be in creative mode.
Gameplay
Press I to open your inventory. Tools which were newly added in this version will be in the inventory, but they serve no function yet. Press F7 to take a cool isometric screenshot and F5 to toggle rain. Other keys are listed in the regular options menu.
The only mobs around are the Rana mobs, but they don't drop anything when killed. Arrows and mushrooms are unusable.
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for minecraft-python-0.31.20091231.post2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c8f305c2c9da26030b7d42ccff02627cfe4d66256136470861b38e0e09ff081 |
|
MD5 | bb5a4ba978f776fa7ba91cffc519ce29 |
|
BLAKE2b-256 | 179d006c7710f417bd4f9ae0997e6ba448c0f0a5861aafd120313c4a2bc8f66e |
Hashes for minecraft_python-0.31.20091231.post2-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9407d02a2d02f0d3425718e6ced9947a5bfcd73a681dcf5fa14852c80779a1a3 |
|
MD5 | dfa05b449fc7f7c88d8b1121cc43b92e |
|
BLAKE2b-256 | 4d52504f705f0b7d4f184307d0853dd5d07aba1b09e5a75ac346f77f7edcc1c8 |
Hashes for minecraft_python-0.31.20091231.post2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4695a449183ba767691e0cd927fb9f79c6b2588ab8bf739512392a9f03b01be0 |
|
MD5 | 56913be556dcfc57a499a84903cd93b0 |
|
BLAKE2b-256 | dd1dceb372fd130ac77c998c70b46d48bb8a5a65b85d4bcd97a8bc6457cdcdda |
Hashes for minecraft_python-0.31.20091231.post2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35bf0c81eece75555b9fc9ce2a81df64a4d15b16b30d86d88606610cb0dd3e4a |
|
MD5 | 5ffe96d9e4108b2fdd01fd393cb54995 |
|
BLAKE2b-256 | 5b6c2bb367d77f8924874dd315d6463cfdcdaf31d880f24f99d3bb02d26655c7 |
Hashes for minecraft_python-0.31.20091231.post2-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95c39aad01642a6ef74513d1bbea060551292d17da282eb3a3df37beab96bb70 |
|
MD5 | b0e315f398db0eec33b9b37834adbde4 |
|
BLAKE2b-256 | 5a5ec968e91f66f6af5c310cede943fecd37ada3ac666bc6658dad3697105471 |
Hashes for minecraft_python-0.31.20091231.post2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44b37ec7a5fb71ba868435e3f7857a0359677abfc9dff5fad74c7c14385760da |
|
MD5 | 969c387d607b36a86068814e1308660b |
|
BLAKE2b-256 | af8390105993f782fe1dd93dc93b292f22f7f05526b9d25533b4ec42e71ff601 |
Hashes for minecraft_python-0.31.20091231.post2-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cabdb3a41a267ee65c45d0615818b241e79a410c64623aefa54ad05f4c086a0 |
|
MD5 | 845640c6f4b45691eb6ffd2f7b386d0c |
|
BLAKE2b-256 | 5a2d8a83c83f0e06eacec963433aeffa66f76622849e9fd4f0ec58e48eadad32 |
Hashes for minecraft_python-0.31.20091231.post2-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d36695948bc64acc645ab11ecd0c32e54c3eedbc338032b61971a77d6039101 |
|
MD5 | d20d6c3e3810ccee4aadb8099694b927 |
|
BLAKE2b-256 | 54bb43747cb5e38cdf316491b5300b370d0fee73e8407a026ba6d5789ad946b2 |
Hashes for minecraft_python-0.31.20091231.post2-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea8f71dd34b1cda95078c794b0ccac9da901b0df90cc90d9cbda1d311e78f642 |
|
MD5 | aa7b0ca7378b811af397555407ee4c88 |
|
BLAKE2b-256 | b4aef4781041b2f9a5abecd4a033259b256167d3f87afb71d22dad9cf5370a85 |
Hashes for minecraft_python-0.31.20091231.post2-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c725ab6d5008ab2458151046ad2492ad07bdef56bfa69ef8e32b686304ed4a24 |
|
MD5 | 0646ee276a9e25298707664bb7eedfda |
|
BLAKE2b-256 | bcb2443b905c31e9daaa80bbd773236b026ab0d087b31118916828cb5d0bf787 |
Hashes for minecraft_python-0.31.20091231.post2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3027f4547acdaa4246595e3e6eaf3d04191a28fc097b69371340846aa60cb9fa |
|
MD5 | 43933f53fa62f2243957c26cdb507984 |
|
BLAKE2b-256 | c2a335ee71ea6efd357f45f2169680100a499a8350504f7775ebb1f1b5ad9c7c |
Hashes for minecraft_python-0.31.20091231.post2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee18a37169c63fba2f6c31210ae615e243df59bebd4bb4713c79f8c49fea12c8 |
|
MD5 | 139c471e61b7d1035c975d403f79234d |
|
BLAKE2b-256 | 48d3cf7b2ab14300f0b13d211f190aabfe9ce8aee915bd61cd6cc1f1a12bef25 |
Hashes for minecraft_python-0.31.20091231.post2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c06ac368e0769b5d1cbfec014df929b7b9345e303302bd761c7032c14e78c3a |
|
MD5 | 85e7522d9e69196d004d95f5382298ee |
|
BLAKE2b-256 | de241f7e7ef4fdd10334e4a95cd499bb3c54c10d6b6820939a268dcb0f045907 |
Hashes for minecraft_python-0.31.20091231.post2-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39f57d5c277960f1aecd6edbf0d72e27f400b608cbd60578f7137e31d07391c9 |
|
MD5 | 48c0394085aae7353a77fda0dfd4780c |
|
BLAKE2b-256 | 448d1563d36aa4b5a33569dc901d8165d11036a7b3068fd6e962ba6e5558ca15 |
Hashes for minecraft_python-0.31.20091231.post2-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de3026e491500e964048832c4f7b61d429d1692a5c04b9d92d6abf4d20c436c2 |
|
MD5 | b49f50c7b003ae0bed4f0f59d371e2ad |
|
BLAKE2b-256 | 6f2b7d7d0fdfa1033b25cdefc564331c5f5d161239788039b2fd830182ba341f |
Hashes for minecraft_python-0.31.20091231.post2-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b197a811eead938f770b38fc8707180c72c0a9b014e9c6a1c7597f66c46c110 |
|
MD5 | f91f9ab7d7ad92eed628f201a8cbd7e4 |
|
BLAKE2b-256 | 356bc5597902f5d6fb7fcc57361eddc1a3a18e7b73e2240f6ade142c3e340fd8 |
Hashes for minecraft_python-0.31.20091231.post2-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcda3336e221390523a444d603697541bce0abfd6a116845e276bf62ac98c2d9 |
|
MD5 | 84595ea1f9451a6d182e2e56fb7d9e93 |
|
BLAKE2b-256 | a75dd7085ea935caecf1580e0c5ada9a12943c823335052ef9b86f809d07e0cf |
Hashes for minecraft_python-0.31.20091231.post2-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 848b7ef0a0bf7e4f35353a3c292493386bfb979133ad67b6b8d20974febe9b4b |
|
MD5 | bd9ca063255fe1f2e2cd7eaf3c93cc09 |
|
BLAKE2b-256 | 66deacaad9bd1376c21f97e44ae284c1a229f6047934d8028f1f8faff8cdb539 |
Hashes for minecraft_python-0.31.20091231.post2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7179379f53be057fa5da588dbe29cc32e57e20f0106787c6fa893db26f46e77d |
|
MD5 | 785cf173398d4c733e65032f1657d947 |
|
BLAKE2b-256 | dc619f2cf910bc16ef2b4a4557758dc35548605bacc2a2044d631200772f68a4 |
Hashes for minecraft_python-0.31.20091231.post2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed49b9116172b34f8c52b2b1b1a745e3fbddb19109c9e1859d61152c509a70d6 |
|
MD5 | feb0b6b6529c1480af6e7bb63633046c |
|
BLAKE2b-256 | 1f179d54cc29374983c808f9a76cc3def05722a91879048113cb032e2a4c7d6d |
Hashes for minecraft_python-0.31.20091231.post2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fcd77d26a1bc68f449ec738502353ef94c059f1fde32670f31dc087b33d4cca |
|
MD5 | fc12839fa9743669a5fb8f13696e0194 |
|
BLAKE2b-256 | 934d4ba56578f2444900b05f69ea636ab689d5241cfa108823efff92b5e286f2 |
Hashes for minecraft_python-0.31.20091231.post2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a3e225218ce9738fc23e2674d34f9a04f9884f21e87f662d4e362ca4d8cac9c |
|
MD5 | ba955b59cab111f81688ca6a03983c2d |
|
BLAKE2b-256 | 276f3b168c6f9ad627b5ed3a8b42729f4db77ffb5b157b3b8576e38d57457b13 |
Hashes for minecraft_python-0.31.20091231.post2-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef72d649dfeec71d502f868fa3ee33190c1aa2662252c43f0edcbd38afcf8c24 |
|
MD5 | 9179d78d2e6fe23b871bf4ba92f23d0b |
|
BLAKE2b-256 | a7a42c7be7c5ae4e2d2a554886b0af522bb8c2296809436ca460bbaac4c01129 |
Hashes for minecraft_python-0.31.20091231.post2-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f8f9a2dbf02fe5e0ad07fcb374a4c6305cdf4aca708cd3df75cc2517a05df6e |
|
MD5 | c80fc47d118b2f90e13879bba6022009 |
|
BLAKE2b-256 | 5161c6a8812919944b3a10eddfb6ac719e28aade0134be84b38df63d18ce54a1 |
Hashes for minecraft_python-0.31.20091231.post2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e06bf08be9a345e27332dd435a60ccded460dbe994bc93dca30e89d09d66f1d1 |
|
MD5 | 0cc27bfb4729526cbc8de1b68e0fb8b4 |
|
BLAKE2b-256 | 5d9e557dea3ac49fcbd7bd273d6beb3a7acc3525ee4bd78d46760b9356d6b96e |
Hashes for minecraft_python-0.31.20091231.post2-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 100ac564fea418605782f177494ee7613ddbd124e9345872edb4a390bb757c68 |
|
MD5 | 80553bbb77e0b309d936546aee8d5a40 |
|
BLAKE2b-256 | 9a63040aef618ff3107d5b5672462ec54d295951a1ea046dcaeb72ea7e255721 |
Hashes for minecraft_python-0.31.20091231.post2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 054c89c8e9bf0d4293f3760d7edfdb38ef351f82644a27f982766732343a90cd |
|
MD5 | ca4077566b54885fa0a0fdd644a1bca3 |
|
BLAKE2b-256 | e7146f06bf1042eb9122458c4286fa1e2d8836b20f10c8e3e78acd932f03f999 |
Hashes for minecraft_python-0.31.20091231.post2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbb6bff3679aaad6a433ead5e607ccf092030c2545b2b3c4a211eaef7d0010fa |
|
MD5 | fd2b0929013e1bfa005b985479d59e8e |
|
BLAKE2b-256 | 564f0ec5e7682bbb730f80f1e9bb3943a7cd9a9217a3e6df98c1a528eaa67d2e |
Hashes for minecraft_python-0.31.20091231.post2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a30063473be22600bc5a99e92f38e825db84f34a9ecf55c1503e2d438c576f56 |
|
MD5 | ceb129d03dc463cd59bb344922651685 |
|
BLAKE2b-256 | abe7149a925aad61418f8acbb355576c2cc05bb5ad2120f8e18aea640ba66230 |
Hashes for minecraft_python-0.31.20091231.post2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22988cfad4ee2d310ed3c6cb76a299ed82d42ba1ddaa32fde8f7d825f21cefba |
|
MD5 | 76f1f33d6f51c2fe11692469be256b2e |
|
BLAKE2b-256 | 9854ca5d6ded08a2a20d1fe876d7a86f8c18edff3c53e5885d83af6e816e3ba8 |
Hashes for minecraft_python-0.31.20091231.post2-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15c19a7ab5ea1e4fe2cde02aa68f79606d30d35e4efcffdf620273bbcac22b81 |
|
MD5 | eb60fc370f0314b9418ab208b54510b3 |
|
BLAKE2b-256 | 40c18571fd5103d3971f84ffe7dc024c735428949ca9e88b52099cd8009e03f2 |
Hashes for minecraft_python-0.31.20091231.post2-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 580e298fceaa2f955853684aaae4e920b0c9dc042e259fd1739e012b3983cab6 |
|
MD5 | 8bbda972d964b96b32e66787514d3ae0 |
|
BLAKE2b-256 | 4bec0407c3e35f796f4f39def030ad3d0aba95ba8521aa3f43ce7ec441787042 |
Hashes for minecraft_python-0.31.20091231.post2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 468b880526304434b7443e014ef42f59320971f8e6783ea1b2346c59fb0f1fc0 |
|
MD5 | 145cb1422382e4911c92a25625b246a2 |
|
BLAKE2b-256 | 6ac0b10ed0b9ecf8b207443809e9895a5fb5f47a82fc0cf043eca1f6f18f55ff |
Hashes for minecraft_python-0.31.20091231.post2-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f30ac45a3298c7d2d00e1ede6da58dec39ef7d6ed2a4137399850905f7ee7ebd |
|
MD5 | 116b8cc0dd560f96043fcc69a48ca484 |
|
BLAKE2b-256 | e5335016cb3cb2707e60d98ec6257b4deb91594b3a10ba2718c861f156a5cc11 |
Hashes for minecraft_python-0.31.20091231.post2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc824b681cb9e65dee73f3cd1a6eb8dafda39308bc84112af6dc3f4e16f9dd54 |
|
MD5 | 5f92d08d52071dc1b8bae8ec1423451d |
|
BLAKE2b-256 | d363989f1b6b9a433713a3258ad461d31bd2db7fa3c6ea1a8c7b1eece3ecab49 |
Hashes for minecraft_python-0.31.20091231.post2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d027483e80861349e32d135e935bbc1aa5f1aa77c21ba848d58eaa74ea13701 |
|
MD5 | ab0bb0fa9126d90cc921931f252df17a |
|
BLAKE2b-256 | 269a0a95ca13aeda9f41e818006e09216a06b5620effa9b4dfbabf99f5de9d3d |
Hashes for minecraft_python-0.31.20091231.post2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7bc8041cd237d0501b3c6750a7021c3a28487c76e7ecad226b01bc7dd9822d7 |
|
MD5 | 3fe947187bb1a032a09914352f249606 |
|
BLAKE2b-256 | c02f5751dda3b8da2ca9624a8a748a3a0ba29394c65cc791ce0ab81e2c0ff3c7 |
Hashes for minecraft_python-0.31.20091231.post2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7a2f83cba74eb1320a403161a7f347bace1524cc02d2ffddf11be5e529e8f94 |
|
MD5 | 8ff388e8e68ee0cb50011de4207896d6 |
|
BLAKE2b-256 | 4a85ef81e51a07740eea474adcd5ffed28afab64c7107fe642bb12f212b93ebd |