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)
|
alpha_over(img, crop3, (6,3), crop3)
|
||||||
return img
|
return img
|
||||||
|
|
||||||
|
|
||||||
# farmland and grass path (15/16 blocks)
|
# 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):
|
def farmland(self, blockid, data):
|
||||||
if blockid == 60:
|
if blockid == 60:
|
||||||
side = self.load_image_texture("assets/minecraft/textures/block/dirt.png")
|
side = self.load_image_texture("assets/minecraft/textures/block/dirt.png").copy()
|
||||||
top = self.load_image_texture("assets/minecraft/textures/block/farmland_moist.png")
|
|
||||||
if data == 0:
|
if data == 0:
|
||||||
top = self.load_image_texture("assets/minecraft/textures/block/farmland.png")
|
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
|
# dirt.png is 16 pixels tall, so we need to crop it before building full block
|
||||||
side = side.crop((0, 1, 16, 16))
|
side = side.crop((0, 1, 16, 16))
|
||||||
return self.build_full_block((top, 1), side, side, side, side)
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
top = self.load_image_texture("assets/minecraft/textures/block/grass_path_top.png")
|
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 = 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
|
# 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
|
# 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
|
# signposts
|
||||||
|
|||||||
@@ -1165,6 +1165,9 @@ class RegionSet(object):
|
|||||||
data = {'save': 0, 'load': 1, 'corner': 2, 'data': 3}.get(block_mode, 0)
|
data = {'save': 0, 'load': 1, 'corner': 2, 'data': 3}.get(block_mode, 0)
|
||||||
elif key == 'minecraft:cake':
|
elif key == 'minecraft:cake':
|
||||||
data = int(palette_entry['Properties'].get('bites', '0'))
|
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)
|
return (block, data)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user