Skip to content

Commit 708c58c

Browse files
0.31 20100110 (0.31.20100110)
1 parent f7fd32d commit 708c58c

File tree

126 files changed

+2731
-1660
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+2731
-1660
lines changed

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ install:
1212
CYTHONIZE=1 pip install .
1313

1414
install-from-source: dist
15-
pip install dist/minecraft-python-0.31.20100104.tar.gz
15+
pip install dist/minecraft-python-0.31.20100110.tar.gz
1616

1717
clean:
1818
$(RM) -r build dist src/*.egg-info

README.md

+12-7
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
_**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.
66

77
The project is currently working on the Indev versions of Minecraft.
8-
The latest version is **Indev 0.31 20100104** as released on _**January 4, 2010**_.
8+
The latest version is **Indev 0.31 20100110** as released on _**January 10, 2010**_.
99

10-
This version is the first version of Minecraft released in 2010, and it reintroduces sound and music to the game.
10+
This version introduces fire, apples, functional tools, and the customizable Indev level generator to the game.
1111

12-
To easily install this version of *Minecraft: Python Edition*, just run `python -m pip install minecraft-python==0.31.20100104`.
12+
To easily install this version of *Minecraft: Python Edition*, just run `python -m pip install minecraft-python==0.31.20100110`.
1313

14-
You can learn more about this version [on the Minecraft wiki.](https://minecraft.wiki/w/Java_Edition_Indev_0.31_20100104)
14+
You can learn more about this version [on the Minecraft wiki.](https://minecraft.wiki/w/Java_Edition_Indev_0.31_20100110)
1515

1616
### Organization
1717

@@ -36,10 +36,15 @@ Run with the argument `-fullscreen` to open the window in fullscreen mode. The a
3636

3737
### Gameplay
3838

39-
Press I to open your inventory. Early tools are in the inventory, but they serve no function yet.
40-
Press F7 to take a cool isometric screenshot and F5 to toggle rain. Other keys are listed in the regular options menu.
39+
Press I to open your inventory. All available tools (shovel, axe, pickaxe, flint and steel) are in the hotbar in addition to some building blocks and torches.
40+
Press F7 to take a cool isometric screenshot and F5 to toggle rain. Q will drop items. Other keys are listed in the regular options menu.
4141

42-
The only mobs around are the Rana mobs, but they don't drop anything when killed. Arrows and mushrooms are unusable.
42+
The Indev level generator is customizable and you can choose between the *Inland*, *Island*, *Floating*, and *Flat* level types.
43+
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*).
44+
45+
The only mobs around are the MD3 Ranas, but they don't drop anything when killed. Mushrooms are unusable, but apples will restore health.
46+
47+
![Isometric screenshot](/map.png?raw=true)
4348

4449
### Additional Notes
4550

map.png

11.7 MB
Loading

mc/CompatibilityShims.pxd renamed to mc/JavaUtils.pxd

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
cimport cython
44

55
cpdef unsigned long long getMillis()
6+
cdef double signum(double val)
67

78
cdef class Random:
89

mc/CompatibilityShims.pyx renamed to mc/JavaUtils.pyx

+3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ cimport numpy as np
1818
cpdef unsigned long long getMillis():
1919
return <unsigned long long>(pytime.time() * 1000)
2020

21+
cdef double signum(double val):
22+
return (0 < val) - (val < 0)
23+
2124
cdef bint Random_seeded = False
2225

2326
cdef class Random:

mc/Resources.py

+31-28
Large diffs are not rendered by default.

mc/net/minecraft/client/GameSettings.py

+12-10
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,8 @@
135135

136136
class GameSettings:
137137
__RENDER_DISTANCES = ('FAR', 'NORMAL', 'SHORT', 'TINY')
138-
__music = True
139-
__sound = True
138+
music = True
139+
sound = True
140140
invertMouse = False
141141
showFPS = False
142142
renderDistance = 0
@@ -174,9 +174,11 @@ def setKeyBinding(self, i, key):
174174

175175
def setOptionValue(self, option, arg):
176176
if option == 0:
177-
self.__music = not self.__music
177+
self.music = not self.music
178+
self.__mc.sndManager.onSoundOptionsChanged()
178179
elif option == 1:
179-
self.__sound = not self.__sound
180+
self.sound = not self.sound
181+
self.__mc.sndManager.onSoundOptionsChanged()
180182
elif option == 2:
181183
self.invertMouse = not self.invertMouse
182184
elif option == 3:
@@ -195,9 +197,9 @@ def setOptionValue(self, option, arg):
195197

196198
def setOptionString(self, option):
197199
if option == 0:
198-
return 'Music: ' + ('ON' if self.__music else 'OFF')
200+
return 'Music: ' + ('ON' if self.music else 'OFF')
199201
elif option == 1:
200-
return 'Sound: ' + ('ON' if self.__sound else 'OFF')
202+
return 'Sound: ' + ('ON' if self.sound else 'OFF')
201203
elif option == 2:
202204
return 'Invert mouse: ' + ('ON' if self.invertMouse else 'OFF')
203205
elif option == 3:
@@ -221,9 +223,9 @@ def __loadOptions(self):
221223
for line in lines.split('\n'):
222224
split = line.split(':')
223225
if split[0] == 'music':
224-
self.__music = split[1] == 'true'
226+
self.music = split[1] == 'true'
225227
elif split[0] == 'sound':
226-
self.__sound = split[1] == 'true'
228+
self.sound = split[1] == 'true'
227229
elif split[0] == 'invertYMouse':
228230
self.invertMouse = split[1] == 'true'
229231
elif split[0] == 'showFrameRate':
@@ -246,8 +248,8 @@ def __loadOptions(self):
246248
def __saveOptions(self):
247249
try:
248250
with open(self.__optionsFile, 'w+') as f:
249-
f.write('music:' + ('true' if self.__music else 'false') + '\n')
250-
f.write('sound:' + ('true' if self.__sound else 'false') + '\n')
251+
f.write('music:' + ('true' if self.music else 'false') + '\n')
252+
f.write('sound:' + ('true' if self.sound else 'false') + '\n')
251253
f.write('invertYMouse:' + ('true' if self.invertMouse else 'false') + '\n')
252254
f.write('showFrameRate:' + ('true' if self.showFPS else 'false') + '\n')
253255
f.write('viewDistance:' + str(self.renderDistance) + '\n')

0 commit comments

Comments
 (0)