Add some new blocks for Minecraft 1.9
* Purpur blocks, pillars, stairs, and slabs * End brick
This commit is contained in:
@@ -263,6 +263,7 @@ is_stairs(int block) {
|
||||
case 163: /* acacia wood stairs */
|
||||
case 164: /* dark wood stairs */
|
||||
case 180: /* red sandstone stairs */
|
||||
case 203: /* purpur stairs */
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
@@ -138,7 +138,7 @@ estimate_blocklevel(RenderPrimitiveLighting *self, RenderState *state,
|
||||
blocklevel = get_data(state, BLOCKLIGHT, x, y, z);
|
||||
|
||||
/* no longer a guess */
|
||||
if (!(block == 44 || block == 53 || block == 67 || block == 108 || block == 109 || block == 180 || block == 182) && authoratative) {
|
||||
if (!(block == 44 || block == 53 || block == 67 || block == 108 || block == 109 || block == 180 || block == 182 || block == 205) && authoratative) {
|
||||
*authoratative = 1;
|
||||
}
|
||||
|
||||
@@ -160,7 +160,8 @@ get_lighting_color(RenderPrimitiveLighting *self, RenderState *state,
|
||||
/* 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 == 145 || block == 156 || block == 163 || block == 164 || block == 180 || block == 182) {
|
||||
block == 128 || block == 134 || block == 135 || block == 136 || block == 145 || block == 156 ||
|
||||
block == 163 || block == 164 || block == 180 || block == 182 || block == 203 || block == 205) {
|
||||
unsigned int upper_block;
|
||||
|
||||
/* stairs and half-blocks take the skylevel from the upper block if it's transparent */
|
||||
@@ -171,7 +172,8 @@ get_lighting_color(RenderPrimitiveLighting *self, RenderState *state,
|
||||
upper_block = get_data(state, BLOCKS, x, y + upper_counter, z);
|
||||
} while (upper_block == 44 || upper_block == 53 || upper_block == 67 || upper_block == 108 ||
|
||||
upper_block == 109 || upper_block == 114 || upper_block == 128 || upper_block == 134 ||
|
||||
upper_block == 135 || upper_block == 136 || upper_block == 156 || upper_block == 163 || upper_block == 164 || upper_block == 180 || upper_block == 182);
|
||||
upper_block == 135 || upper_block == 136 || upper_block == 156 || upper_block == 163 ||
|
||||
upper_block == 164 || upper_block == 180 || upper_block == 182 || upper_block == 203 || upper_block == 205);
|
||||
if (is_transparent(upper_block)) {
|
||||
skylevel = get_data(state, SKYLIGHT, x, y + upper_counter, z);
|
||||
} else {
|
||||
|
||||
@@ -1557,7 +1557,7 @@ block(blockid=42, top_image="assets/minecraft/textures/blocks/iron_block.png")
|
||||
# double slabs and slabs
|
||||
# these wooden slabs are unobtainable without cheating, they are still
|
||||
# here because lots of pre-1.3 worlds use this blocks
|
||||
@material(blockid=[43, 44, 181, 182], data=range(16), transparent=(44,182,), solid=True)
|
||||
@material(blockid=[43, 44, 181, 182, 204, 205], data=range(16), transparent=(44,182,205), solid=True)
|
||||
def slabs(self, blockid, data):
|
||||
if blockid == 44 or blockid == 182:
|
||||
texture = data & 7
|
||||
@@ -1605,8 +1605,11 @@ def slabs(self, blockid, data):
|
||||
top = side = self.load_image_texture("assets/minecraft/textures/blocks/red_sandstone_top.png");
|
||||
else:
|
||||
return None
|
||||
elif blockid == 204 or blockid == 205: # purpur slab (single=205 double=204)
|
||||
top = side = self.load_image_texture("assets/minecraft/textures/blocks/purpur_block.png");
|
||||
|
||||
|
||||
if blockid == 43 or blockid == 181: # double slab
|
||||
if blockid == 43 or blockid == 181 or blockid == 204: # double slab
|
||||
return self.build_block(top, side)
|
||||
|
||||
# cut the side texture in half
|
||||
@@ -1740,7 +1743,7 @@ def fire(self, blockid, data):
|
||||
block(blockid=52, top_image="assets/minecraft/textures/blocks/mob_spawner.png", transparent=True)
|
||||
|
||||
# wooden, cobblestone, red brick, stone brick, netherbrick, sandstone, spruce, birch, jungle, quartz, and red sandstone stairs.
|
||||
@material(blockid=[53,67,108,109,114,128,134,135,136,156,163,164,180], data=range(128), transparent=True, solid=True, nospawn=True)
|
||||
@material(blockid=[53,67,108,109,114,128,134,135,136,156,163,164,180,203], data=range(128), transparent=True, solid=True, nospawn=True)
|
||||
def stairs(self, blockid, data):
|
||||
# preserve the upside-down bit
|
||||
upside_down = data & 0x4
|
||||
@@ -1779,6 +1782,8 @@ def stairs(self, blockid, data):
|
||||
texture = self.load_image_texture("assets/minecraft/textures/blocks/planks_big_oak.png").copy()
|
||||
elif blockid == 180: # red sandstone stairs
|
||||
texture = self.load_image_texture("assets/minecraft/textures/blocks/red_sandstone_normal.png").copy()
|
||||
elif blockid == 203: # purpur stairs
|
||||
texture = self.load_image_texture("assets/minecraft/textures/blocks/purpur_block.png").copy()
|
||||
|
||||
outside_l = texture.copy()
|
||||
outside_r = texture.copy()
|
||||
@@ -4408,3 +4413,12 @@ def flower(self, blockid, data):
|
||||
alpha_over(img, bloom_tex.resize((14, 11), Image.ANTIALIAS), (5,5))
|
||||
|
||||
return img
|
||||
|
||||
# purpur block
|
||||
block(blockid=201, top_image="assets/minecraft/textures/blocks/purpur_block.png")
|
||||
|
||||
# purpur pilar
|
||||
block(blockid=202, top_image="assets/minecraft/textures/blocks/purpur_pillar_top.png", side_image="assets/minecraft/textures/blocks/purpur_pillar.png")
|
||||
|
||||
# end brick
|
||||
block(blockid=206, top_image="assets/minecraft/textures/blocks/end_bricks.png")
|
||||
|
||||
Reference in New Issue
Block a user