0

Amend loom rendering

- Account for render direction & block facing data
This commit is contained in:
Joseph Camp
2020-06-20 23:45:20 +00:00
parent 9ee1a6a3dd
commit 297a940a4b
2 changed files with 16 additions and 7 deletions

View File

@@ -2654,14 +2654,23 @@ def lectern(self, blockid, data):
return img
@material(blockid=11367, solid=True, nodata=True)
@material(blockid=11367, data=list(range(4)), solid=True)
def loom(self, blockid, data):
top = self.load_image_texture("assets/minecraft/textures/block/loom_top.png")
side3 = self.load_image_texture("assets/minecraft/textures/block/loom_side.png")
side4 = self.load_image_texture("assets/minecraft/textures/block/loom_front.png")
# Do rotation
data = (self.rotation + data) % 4
img = self.build_full_block(top, None, None, side3, side4, None)
return img
top_rot = [180, 90, 0, 270][data]
side3_tex = "front" if data == 1 else "side"
side4_tex = "front" if data == 0 else "side"
tex_path = "assets/minecraft/textures/block"
top = self.load_image_texture("{}/loom_top.png".format(tex_path)).copy()
side3 = self.load_image_texture("{}/loom_{}.png".format(tex_path, side3_tex))
side4 = self.load_image_texture("{}/loom_{}.png".format(tex_path, side4_tex)).copy()
top = top.rotate(top_rot)
side4 = side4.transpose(Image.FLIP_LEFT_RIGHT)
return self.build_full_block(top, None, None, side3, side4, None)
@material(blockid=11368, data=list(range(4)), transparent=True, solid=True, nospawn=True)

View File

@@ -1038,7 +1038,7 @@ class RegionSet(object):
else:
data = 5
elif (key in ['minecraft:carved_pumpkin', 'minecraft:jack_o_lantern',
'minecraft:stonecutter'] or
'minecraft:stonecutter', 'minecraft:loom'] or
key.endswith('glazed_terracotta')):
facing = palette_entry['Properties']['facing']
data = {'south': 0, 'west': 1, 'north': 2, 'east': 3}[facing]