|
1 | 1 | ## Minecraft: Python Edition
|
2 | 2 |
|
3 |
| - |
| 3 | + |
4 | 4 |
|
5 | 5 | _**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.
|
6 | 6 |
|
7 |
| -This project has finished recreating the **Classic** versions of Minecraft. The latest version is **Classic 0.30** as released on _**November 10, 2009**_. |
| 7 | +The project is currently working on the Indev versions of Minecraft. |
| 8 | +The latest version is **Indev 0.31 20091223-2**, the first version of Indev which was released on _**December 23, 2009**_. |
8 | 9 |
|
9 |
| -This version comes with both survival and creative modes: to enable survival mode, just run with the argument `-survival`. |
| 10 | +This version is the last available version of Minecraft to be released in creative mode exclusively. |
| 11 | +However, the work-in-progress survival mode can be enabled by running the game with the argument `-survival`. |
| 12 | +This is the first version to feature one of the MD3 mobs of Indev, Rana. |
10 | 13 |
|
11 |
| -Learn more about this version [here](https://minecraft.wiki/w/Java_Edition_Classic_0.30). |
| 14 | +You can learn more about this version [on the Minecraft wiki.](https://minecraft.wiki/w/Java_Edition_Indev_0.31_20091223-2). |
12 | 15 |
|
13 |
| -Or the server version [here](https://minecraft.wiki/w/Java_Edition_Classic_server_1.10.1). |
| 16 | +### Organization |
14 | 17 |
|
15 |
| -This project is organized so that every commit is strictly the finished Python version of the Java game of the same version number. |
16 |
| -This means that you can go back into this repository's commit history and see only the source code changes between versions of Minecraft, |
17 |
| -or you can compare branches and see the changes made between them. For any version this project covers, |
18 |
| -you can play it just by specifying the Minecraft version you want to play in the `pip install` command as demonstrated below. |
| 18 | +This project's commits represent the Python versions of each Minecraft Java game version. |
| 19 | +You can view source code changes between game versions by checking the commit history or comparing branches. |
| 20 | +To play any version, specify it in the `pip install` command as demonstrated below. |
19 | 21 |
|
20 | 22 | ### General Usage
|
21 | 23 |
|
22 |
| -*Pyglet*, *Cython*, *Pillow*, and *PyOgg* are required dependencies and can easily be installed with *pip*. Use the versions specified in `requirements.txt`. |
23 |
| -*wxPython* is an optional dependency for the level file picker, but if you don't have it then *Tkinter* is used instead. |
| 24 | +*Pyglet*, *Cython*, and *Pillow* are required dependencies and can easily be installed with *pip*. Use the versions specified in `requirements.txt`. |
24 | 25 |
|
25 |
| -For audio to work you will either need *PyOgg* which is recommended, or FFmpeg which is installed on the system. |
26 |
| -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. |
| 26 | +While the late Classic versions and later Indev versions feature audio, this version does not. |
27 | 27 |
|
28 |
| -To easily install this version of *Minecraft: Python Edition*, just run `python -m pip install minecraft-python==0.30`. |
| 28 | +To easily install this version of *Minecraft: Python Edition*, just run `python -m pip install minecraft-python==0.31.20091223-2`. |
29 | 29 |
|
30 | 30 | Alternatively, for a manual Cython build, run `python setup.py build_ext --inplace`.
|
31 | 31 |
|
32 | 32 | 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.
|
33 | 33 |
|
34 | 34 | Run with the argument `-fullscreen` to open the window in fullscreen mode.
|
35 | 35 |
|
36 |
| -### Creative Gameplay |
| 36 | +### Gameplay |
37 | 37 |
|
38 |
| -In creative mode, no mobs exist. All Classic ores and tiles are made available by pressing B to pick blocks. |
| 38 | +Press B to pick any of the ores and tiles that exist in this creative version. |
| 39 | +Press F5 to toggle rain. Other keys are listed in the regular options menu. |
39 | 40 |
|
40 |
| -You can press F5 to toggle rain. Other keys are listed in the regular options menu. |
41 |
| - |
42 |
| -### Survival Gameplay |
43 |
| - |
44 |
| - |
45 |
| - |
46 |
| -The survival version features early mobs (pigs, creepers, skeletons, zombies, spiders) and basic combat. Press Tab to launch arrows at enemies. |
47 |
| - |
48 |
| -There are pigs that drop brown mushrooms. Sheep also exist. Creepers explode only upon death. |
49 |
| - |
50 |
| -To heal, pick up mushrooms and right click to eat. Red mushrooms are poisonous and will take away health. |
51 |
| - |
52 |
| -### Multiplayer |
53 |
| - |
54 |
| -To launch the multiplayer game while in creative mode, run `python -m mc.net.minecraft.Minecraft -server <host:port> -user <username> -mppass [password]`. |
55 |
| - |
56 |
| -This client is compatible with any Classic server that doesn't use an extended protocol. |
57 |
| - |
58 |
| -Press *Tab* in-game to view connected players. |
59 |
| - |
60 |
| -To host a server, follow the instructions in the `README.TXT` file in the *server* directory. |
61 |
| -Make sure `verify-names` is set to `false` in the server properties. |
| 41 | +If you enable survival mode, you will spawn with some lava and water blocks for testing. |
| 42 | +You will be able to attack the Rana mobs, but items in general won't drop. Arrows and mushrooms are unusable. |
62 | 43 |
|
63 | 44 | ### Additional Notes
|
64 | 45 |
|
|
0 commit comments