Skip to content

pythonengineer/minecraft-python

 
 

Repository files navigation

Minecraft: Python Edition

Minecraft

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

This project is currently recreating the Classic versions of Minecraft. The latest version is Classic 0.0.14a_08 as released on May 28, 2009.

Learn more about this version here.

This project is organized so that every commit is strictly the completed release of the Python version of the Java game of the same version number. This means that you can go back into this repository's commit history and see only the source code changes between versions of Minecraft. For any version this project covers, you can play it just by specifying the Minecraft version you want to play in the pip install command as demonstrated below.

General Usage

Pyglet and Cython are required dependencies and can easily be installed with pip. Use the versions specified in requirements.txt.

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

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.

Gameplay

This version features more advanced terrain (including caves and expanding water tiles), level saving, and human mobs. Use the number keys or the mouse scroll wheel to switch tiles.

Press Esc to pause. Press Enter to set spawn position, R to teleport to your spawn position, Y to invert the mouse, G to spawn a mob, and F to toggle render distance.

Additional Notes

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

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

About

Minecraft: Python Edition. A recreation of each old Minecraft version in Python that focuses on total accuracy.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published