o
    N›]b–  ã                   @   sH   d dl mZ d dlmZ d dlmZ d dlZd dlZdd„ Z	dd„ Z
dS )	é    )Úprint_function)Ústart)Ú	interfaceNc              	   C   s¾  t dƒ d}d}d}d}	d}
d}d}d}d	}t| |d
 ƒD ]}t||d
 ƒD ]
}t ||||¡ q&qt d¡ t||ƒD ]"}t | |||¡ t ||||¡ t | |||¡ t ||||¡ q<t|d
 |ƒD ]g}t d¡ t| d
 |ƒD ](}|}||d krŒ|| d
 krŒ||d
 k rŒ|	}t ||||¡ t ||||¡ qtt|d
 |ƒD ](}|}||d kr¼||d
 kr¼||d
 k r¼|	}t | |||¡ t ||||¡ q¤qft||| ƒD ]“}t d¡ ||| d
 krt| ||  |d
 ||  ƒD ]s}t|||  |d
 ||  ƒD ]}t ||||
¡ qqôt| ||  |d
 ||  ƒD ]}t |||||  |
¡ t |||||  |
¡ q!t|||  |d
 ||  ƒD ]}t | ||  |||
¡ t |||  |||
¡ qLqÕt t||  d ƒ|  |d
 ||¡ t t||  d ƒ|  |d ||¡ t t||  d ƒ|  d
 |d
 ||¡ t t||  d ƒ|  d
 |d ||¡ t t||  d ƒ|  d
 |d
 ||¡ t t||  d ƒ|  d
 |d ||¡ dS )zd
    Builds a simple house with corners corresponding to the start and end coordinates provided
    zBuilding house...Zoak_woodÚ
oak_planksÚcobblestoneÚglassÚairz%spruce_door[facing=south, half=lower]z%spruce_door[facing=south, half=upper]é   é   g      Ð?é   N)ÚprintÚrangeÚINTFÚ
placeBlockÚtimeÚsleepÚround)Ústart_xÚstart_yZstart_zZend_xZend_yZend_zZpillar_material_idZfloor_material_idZwall_material_idZwindow_material_idZroof_material_idZair_idZdoor_bottom_idZdoor_top_idZroof_heightÚiÚjÚblock_idÚk© r   úŽz:\Documents\Temple_master\Spring_2022\ai\minecraft_proj\CIS-5603-Minecraft-Settlement-Generation-AI\temple_mc_ai\generation\houseGenerator.pyÚbuild_house   sn   ÿ

$$û	
""ÿ""€$$(((,r   c           	   	   C   sì   g }t dƒD ]m}| | d t dd¡ }| | d t dd¡ }| | d t dd¡ }| | d t dd¡ }| | d }|t dd¡ }| |d |d  d |d  |d d f¡ t d	¡ t|d ||d |d ||d ƒ q|S )zW
    Pass this function the flat_finder function and it will build multiple houses
    é   r   éþÿÿÿr   r
   é   r	   é   g      à?N)r   ÚrandomÚrandintÚappendr   r   r   )	Zcoord_arrayÚdoor_coordsr   ÚstartxZstartzÚendxZendzÚstartyÚendyr   r   r   Úbuild_settlement[   s   .
$r(   )Ú
__future__r   Útracemallocr   Úgdpcr   r   r    r   r   r(   r   r   r   r   Ú<module>   s    S