Amend farmland rendering
- Use 'moisture' property to determine when to render farmland as moist
This commit is contained in:
@@ -2574,24 +2574,25 @@ def crops8(self, blockid, data):
|
||||
alpha_over(img, crop3, (6,3), crop3)
|
||||
return img
|
||||
|
||||
|
||||
# farmland and grass path (15/16 blocks)
|
||||
@material(blockid=[60,208], data=list(range(9)), solid=True)
|
||||
@material(blockid=[60, 208], data=list(range(2)), solid=True, transparent=True, nospawn=True)
|
||||
def farmland(self, blockid, data):
|
||||
if blockid == 60:
|
||||
side = self.load_image_texture("assets/minecraft/textures/block/dirt.png")
|
||||
top = self.load_image_texture("assets/minecraft/textures/block/farmland_moist.png")
|
||||
side = self.load_image_texture("assets/minecraft/textures/block/dirt.png").copy()
|
||||
if data == 0:
|
||||
top = self.load_image_texture("assets/minecraft/textures/block/farmland.png")
|
||||
else:
|
||||
top = self.load_image_texture("assets/minecraft/textures/block/farmland_moist.png")
|
||||
# dirt.png is 16 pixels tall, so we need to crop it before building full block
|
||||
side = side.crop((0, 1, 16, 16))
|
||||
return self.build_full_block((top, 1), side, side, side, side)
|
||||
|
||||
else:
|
||||
top = self.load_image_texture("assets/minecraft/textures/block/grass_path_top.png")
|
||||
side = self.load_image_texture("assets/minecraft/textures/block/grass_path_side.png")
|
||||
# side already has 1 transparent pixel at the top, so it doesn't need to be modified
|
||||
# just shift the top image down 1 pixel
|
||||
return self.build_full_block((top, 1), side, side, side, side)
|
||||
|
||||
return self.build_full_block((top, 1), side, side, side, side)
|
||||
|
||||
|
||||
# signposts
|
||||
|
||||
@@ -1165,6 +1165,9 @@ class RegionSet(object):
|
||||
data = {'save': 0, 'load': 1, 'corner': 2, 'data': 3}.get(block_mode, 0)
|
||||
elif key == 'minecraft:cake':
|
||||
data = int(palette_entry['Properties'].get('bites', '0'))
|
||||
elif key == 'minecraft:farmland':
|
||||
# A moisture level of 7 has a different texture from other farmland
|
||||
data = 1 if palette_entry['Properties'].get('moisture', '0') == '7' else 0
|
||||
|
||||
return (block, data)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user