function p.__get_is_solid() return true end
function p.__get_tex() return "block_room" end

function p.__main()
    set_default_block("r_room")
    
    create_rect("e", 1,1,1, 14,14,14)
    create_rect("e", 15,6,6, 15,8,8)
    create_rect("e", 6,0,6, 8,0,8)
    
    --Maze example.
    create_rect("r_brown", 7,7,1, 7,7,6)
    set_pos(7,7,7, "block_lev4_maze1b")
    add_bent(7,7,8, "bent_base_ring_green")

    set_pos(8,8,7, "grow")
    set_pos(8,6,7, "grow")
    set_pos(6,8,7, "grow")
    set_pos(6,6,7, "grow")

    local msg_str = "Here is a way to create mazes: "
        .. "first call the ^x00ff00maze_start^! function. "
        .. "Then call ^x00ff00maze_add_vertex^! "
        .. "one time for each \"room\" in your maze. "
        .. "That is, you are specifying the "
        .. "local block positions of the vertices of a graph. "
        .. "Then call ^x00ff00maze_add_edge^! "
        .. "for each edge you possibly want in your maze. "
        .. "The maze_add_edge function takes a pair of vertices, "
        .. "so the edge will connect these two verticies. "
        .. "Then call ^x00ff00maze_end^!. "
        .. "This will trigger the algorithm to assign "
        .. "a random weight to each edge, "
        .. "and a minimal spanning tree will be formed. "
        .. "That minimal spanning tree is the final maze. "
        .. "You then call ^x00ff00maze_edge_open^! "
        .. "to determine which edges are in "
        .. "the minimal spanning tree. "
    add_bent_s(7,7,9,"bent_base_txt",msg_str)
end
