def stables():    
    # set the ground
    castle_maker.fill_area(115,60,35,129,62,43, 'minecraft:grass') # sunken stables
    castle_maker.fill_area(115,61,33,129,65,39, 'minecraft:planks 2 hollow') # sunken stables
    castle_maker.fill_area(116,62,36,128,64,42, 'minecraft:air') # sunken stables
    castle_maker.fill_area(115,63,40,115,63,46, 'minecraft:fence') 
    castle_maker.set_block(130,63,46, 'fence_gate 1')
    castle_maker.set_block(128,63,71, 'fence_gate')
    castle_maker.set_block(115,63,46, 'fence_gate 1')
    
    castle_maker.set_block(117,64,34, 'minecraft:torch 3') 
    castle_maker.set_block(122,64,34, 'minecraft:torch 3') 
    castle_maker.set_block(128,64,34, 'minecraft:torch 3') 
    
    castle_maker.set_block(120,62,34,'hay_block')
    castle_maker.set_block(118,62,35,'hay_block')
    castle_maker.set_block(123,61,41,'water')
    #castle_maker.set_block(121,62,40,'mob_spawner 0 replace {SpawnData:{id:EntityHorse}}')  # /setblock ~ ~ ~ mob_spawner 0 replace {SpawnData:{id:Zombie}}
    #castle_maker.set_block(121,62,40,'mob_spawner {SpawnData:{id:Horse}}')  # 	/setblock ~ ~ ~ mob_spawner 0 replace {SpawnData:{id:Zombie}}
    #  /setblock ~ ~ ~ mob_spawner 0 replace {id:EntityHorse, SpawnData: {Type:3, Tame:1}}
    # /summon EntityHorse 121 62 40 {Type:4,Tame:1}
    # /setblock 121 62 40 mob_spawner 0 replace {SpawnData:{id:EntityHorse}}   <-- this works in server, but leaves cage??

    
    # {Tame:1,Saddle:1,Attributes:[{Name:generic.movementSpeed,Base:1},{Name:horse.jumpStrength,Base:2}]}
    #castle_maker.set_block(121,62,40,'mob_spawner 0 replace {SpawnData:{id:EntityHorse},{Tame:1,Saddle:1,Attributes:[{Name:generic.movementSpeed,Base:1},{Name:horse.jumpStrength,Base:2}]} }') 
    
    # SERVER COMMAND - works
    # /setblock 121 62 40 mob_spawner 0 replace {SpawnData:{id:EntityHorse}}
    
    
    # Chickens and Cows on West side
    castle_maker.fill_area(50,60,33,65,62,44, 'minecraft:grass') # sunken stables
    castle_maker.fill_area(50,61,33,66,65,39, 'minecraft:planks 2 hollow') # sunken stables
    castle_maker.fill_area(51,62,34,65,64,42, 'minecraft:air') # sunken stables
    
    castle_maker.fill_area(66,63,40,66,63,47, 'minecraft:fence') 
    castle_maker.set_block(49,63,46, 'fence_gate 1')
    castle_maker.set_block(51,63,47, 'fence_gate')
    castle_maker.set_block(65,63,47, 'fence_gate')
    
    castle_maker.set_block(52,64,34, 'minecraft:torch 3') 
    castle_maker.set_block(58,64,34, 'minecraft:torch 3') 
    castle_maker.set_block(64,64,34, 'minecraft:torch 3') 
    
    castle_maker.set_block(56,62,36,'hay_block')
    castle_maker.set_block(62,62,38,'hay_block')
    castle_maker.set_block(61,61,41,'water')
def do_vertical_garden():    
    # set the ground
    castle_maker.fill_area(83,113,80,94,113,89, 'minecraft:glowstone')
    castle_maker.fill_area(84,113,81,93,113,88, 'minecraft:grass')
    castle_maker.set_block(87, 114, 83,'minecraft:sapling 2')
    castle_maker.set_block(87, 114, 86,'minecraft:sapling 2')
    castle_maker.set_block(91, 114, 83,'minecraft:sapling 2')
    castle_maker.set_block(91, 114, 86,'minecraft:sapling 2')
    castle_maker.set_block(90, 113, 82,'minecraft:water')
    castle_maker.set_block(90, 113, 86,'minecraft:water')
def do_garden():    
    # set the ground
    castle_maker.fill_area(30,62,30,150,62,120, 'minecraft:dirt 2')

    # path from gate to castle door
    castle_maker.fill_area(85,62,30,95,62,75, 'minecraft:stone 6')
    castle_maker.fill_area(88,62,54,92,62,70, 'minecraft:stone 4')
    for z in range(54, 71, 4):
        castle_maker.set_block(87, 63, z,'minecraft:stone 4')
        castle_maker.set_block(93, 63, z,'minecraft:stone 4')
        castle_maker.set_block(87, 64, z,'minecraft:fence')
        castle_maker.set_block(93, 64, z,'minecraft:fence')
        castle_maker.set_block(87, 65, z,'minecraft:torch 0')
        castle_maker.set_block(93, 65, z,'minecraft:torch 0')

    # plant some trees near main path
    castle_maker.set_block(79, 63, 54,'minecraft:sapling 2')
    castle_maker.set_block(79, 63, 61,'minecraft:sapling 2')
    castle_maker.set_block(79, 63, 68,'minecraft:sapling 2')
    castle_maker.set_block(101, 63, 54,'minecraft:sapling 2')
    castle_maker.set_block(101, 63, 61,'minecraft:sapling 2')
    castle_maker.set_block(101, 63, 68,'minecraft:sapling 2')

    # front left corner
    castle_maker.fill_area(33,62,33,68,62,71, 'minecraft:grass')
    castle_maker.plant(x1=38,z1=47,x2=50,z2=59,y1=62, item='minecraft:carrots 3') # 'wheat', 
    castle_maker.plant(x1=38,z1=59,x2=50,z2=71,y1=62, item='minecraft:potatoes 3') # 'wheat', 
    castle_maker.plant(x1=52,z1=47,x2=64,z2=59,y1=62, item='minecraft:wheat 4') # 'wheat', 
    castle_maker.plant(x1=52,z1=59,x2=64,z2=71,y1=62, item='minecraft:pumpkin 2') # 'wheat', 

    # front right corner
    castle_maker.fill_area(112,62,33,142,62,71, 'minecraft:grass')
    castle_maker.plant(x1=115,z1=47,x2=127,z2=59,y1=62, item='minecraft:wheat 4') # 'wheat', 
    castle_maker.plant(x1=115,z1=59,x2=127,z2=71,y1=62, item='minecraft:potatoes 3') # 'wheat', 
    castle_maker.plant(x1=129,z1=47,x2=141,z2=59,y1=62, item='minecraft:carrots 4') # 'wheat', 
    castle_maker.plant(x1=129,z1=59,x2=141,z2=71,y1=62, item='minecraft:pumpkin 4') # 'wheat',