0

- Fixed lighting for anvils.

- Added vertical orientations for dispensers and droppers
- Added special cases of stone and sandstone double slabs
This commit is contained in:
Alejandro Aguilera
2013-03-11 14:02:36 +01:00
parent fc7ed85966
commit 5bba5dab75
2 changed files with 21 additions and 3 deletions

View File

@@ -158,8 +158,9 @@ get_lighting_color(RenderPrimitiveLighting *self, RenderState *state,
blocklevel = get_data(state, BLOCKLIGHT, x, y, z);
/* special half-step handling, stairs handling */
/* Anvil also needs to be here, blockid 145 */
if (block == 44 || block == 53 || block == 67 || block == 108 || block == 109 || block == 114 ||
block == 128 || block == 134 || block == 135 || block == 136 || block == 156) {
block == 128 || block == 134 || block == 135 || block == 136 || block == 145 || block == 156) {
unsigned int upper_block;
/* stairs and half-blocks take the skylevel from the upper block if it's transparent */

View File

@@ -962,8 +962,18 @@ def furnaces(self, blockid, data):
front = self.load_image_texture("textures/blocks/furnace_front_lit.png")
elif blockid == 23:
front = self.load_image_texture("textures/blocks/dispenser_front.png")
if data == 0: # dispenser pointing down
return self.build_block(top, top)
elif data == 1: # dispenser pointing up
dispenser_top = self.load_image_texture("textures/blocks/dispenser_front_vertical.png")
return self.build_block(dispenser_top, top)
elif blockid == 158:
front = self.load_image_texture("textures/blocks/dropper_front.png")
if data == 0: # dropper pointing down
return self.build_block(top, top)
elif data == 1: # dispenser pointing up
dropper_top = self.load_image_texture("textures/blocks/dropper_front_vertical.png")
return self.build_block(dropper_top, top)
if data == 3: # pointing west
return self.build_full_block(top, None, None, side, front)
@@ -1370,7 +1380,10 @@ block(blockid=42, top_image="textures/blocks/blockIron.png")
# here because lots of pre-1.3 worlds use this blocks
@material(blockid=[43, 44], data=range(16), transparent=(44,), solid=True)
def slabs(self, blockid, data):
texture = data & 7
if blockid == 44:
texture = data & 7
else: # data > 8 are special double slabs
texture = data
if texture== 0: # stone slab
top = self.load_image_texture("textures/blocks/stoneslab_top.png")
side = self.load_image_texture("textures/blocks/stoneslab_side.png")
@@ -1379,7 +1392,7 @@ def slabs(self, blockid, data):
side = self.load_image_texture("textures/blocks/sandstone_side.png")
elif texture== 2: # wooden slab
top = side = self.load_image_texture("textures/blocks/wood.png")
elif texture== 3: # cobblestone slab
elif texture== 3: # c43obblestone slab
top = side = self.load_image_texture("textures/blocks/stonebrick.png")
elif texture== 4: # brick
top = side = self.load_image_texture("textures/blocks/brick.png")
@@ -1389,6 +1402,10 @@ def slabs(self, blockid, data):
top = side = self.load_image_texture("textures/blocks/netherBrick.png")
elif texture== 7: #quartz
top = side = self.load_image_texture("textures/blocks/quartzblock_side.png")
elif texture== 8: # special stone double slab with top texture only
top = side = self.load_image_texture("textures/blocks/stoneslab_top.png")
elif texture== 9: # special sandstone double slab with top texture only
top = side = self.load_image_texture("textures/blocks/sandstone_top.png")
else:
return None