Fixes snow height rendering
This commit is contained in:
@@ -3424,16 +3424,16 @@ def buttons(self, blockid, data):
|
|||||||
return img
|
return img
|
||||||
|
|
||||||
# snow
|
# 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):
|
def snow(self, blockid, data):
|
||||||
# still not rendered correctly: data other than 0
|
# still not rendered correctly: data other than 0
|
||||||
|
|
||||||
tex = self.load_image_texture("assets/minecraft/textures/block/snow.png")
|
tex = self.load_image_texture("assets/minecraft/textures/block/snow.png")
|
||||||
|
|
||||||
# make the side image, top 3/4 transparent
|
y = 16 - (data * 2)
|
||||||
mask = tex.crop((0,12,16,16))
|
mask = tex.crop((0, y, 16, 16))
|
||||||
sidetex = Image.new(tex.mode, tex.size, self.bgcolor)
|
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)
|
img = Image.new("RGBA", (24,24), self.bgcolor)
|
||||||
|
|
||||||
@@ -3443,7 +3443,7 @@ def snow(self, blockid, data):
|
|||||||
|
|
||||||
alpha_over(img, side, (0, 6), side)
|
alpha_over(img, side, (0, 6), side)
|
||||||
alpha_over(img, otherside, (12, 6), otherside)
|
alpha_over(img, otherside, (12, 6), otherside)
|
||||||
alpha_over(img, top, (0,9), top)
|
alpha_over(img, top, (0, 12 - int(12 / 8 * data)), top)
|
||||||
|
|
||||||
return img
|
return img
|
||||||
|
|
||||||
|
|||||||
@@ -927,6 +927,8 @@ class RegionSet(object):
|
|||||||
elif key == 'minecraft:grass_block':
|
elif key == 'minecraft:grass_block':
|
||||||
if palette_entry['Properties']['snowy'] == 'true':
|
if palette_entry['Properties']['snowy'] == 'true':
|
||||||
data |= 0x10
|
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'):
|
elif key in ('minecraft:sunflower', 'minecraft:lilac', 'minecraft:tall_grass', 'minecraft:large_fern', 'minecraft:rose_bush', 'minecraft:peony'):
|
||||||
if palette_entry['Properties']['half'] == 'upper':
|
if palette_entry['Properties']['half'] == 'upper':
|
||||||
data |= 0x08
|
data |= 0x08
|
||||||
|
|||||||
Reference in New Issue
Block a user