0

Fixes snow height rendering

This commit is contained in:
Bernd Buschinski
2021-05-15 17:40:26 +02:00
parent 86963c5de9
commit 49339af795
2 changed files with 15 additions and 13 deletions

View File

@@ -3424,27 +3424,27 @@ def buttons(self, blockid, data):
return img
# snow
@material(blockid=78, data=list(range(16)), transparent=True, solid=True)
@material(blockid=78, data=list(range(1, 9)), transparent=True, solid=True)
def snow(self, blockid, data):
# still not rendered correctly: data other than 0
tex = self.load_image_texture("assets/minecraft/textures/block/snow.png")
# make the side image, top 3/4 transparent
mask = tex.crop((0,12,16,16))
y = 16 - (data * 2)
mask = tex.crop((0, y, 16, 16))
sidetex = Image.new(tex.mode, tex.size, self.bgcolor)
alpha_over(sidetex, mask, (0,12,16,16), mask)
alpha_over(sidetex, mask, (0,y,16,16), mask)
img = Image.new("RGBA", (24,24), self.bgcolor)
top = self.transform_image_top(tex)
side = self.transform_image_side(sidetex)
otherside = side.transpose(Image.FLIP_LEFT_RIGHT)
alpha_over(img, side, (0,6), side)
alpha_over(img, otherside, (12,6), otherside)
alpha_over(img, top, (0,9), top)
alpha_over(img, side, (0, 6), side)
alpha_over(img, otherside, (12, 6), otherside)
alpha_over(img, top, (0, 12 - int(12 / 8 * data)), top)
return img
# snow block

View File

@@ -927,6 +927,8 @@ class RegionSet(object):
elif key == 'minecraft:grass_block':
if palette_entry['Properties']['snowy'] == 'true':
data |= 0x10
elif key == 'minecraft:snow':
data = palette_entry['Properties']['layers']
elif key in ('minecraft:sunflower', 'minecraft:lilac', 'minecraft:tall_grass', 'minecraft:large_fern', 'minecraft:rose_bush', 'minecraft:peony'):
if palette_entry['Properties']['half'] == 'upper':
data |= 0x08