function p.__get_is_solid()
    return true
end

function p.__get_tex()
    return "block_hall"
end

function p.__main()
    set_default_block("r_hall")
    
    std.create_tube(3,"x","e")
    std.create_center(7,"e")

    local msg_str = "To get a seed for the srand function, "
        .. "you can access the \"node generation input\". "
        .. "This consists of the following:\n\n"
        .. "1) the path of the chunk from the "
        .. "root of the chunk tree,\n"
        .. "2) the block types of the chunks "
        .. "that appear on this path,\n"
        .. "3) the blocks types of the chunks in the 5x5x5 region "
        .. "surrounding the chunk, and\n"
        .. "4) the block variables of the chunk and its parent.\n\n"
        .. "This is an advanced feature: it is easier to simply use "
        .. "seed_normal or a function like that (which are discussed in a "
        .. "nearby room). "
        .. "Look at the file tut_lev3_gen_input.txt and the text box "
        .. "in this room to see how to access the node generation input. "
    add_bent_s(7,7,7,"bent_base_txt",msg_str)

    msg_str = "DUMPING CHUNK GENERATION INPUT: "
    -- Getting the length of the path.
    len = get_input_path_length()
    msg_str = msg_str .. "chunk path length = " .. len .. "\n"
    path = get_input_path()
    msg_str = msg_str .. "PATH = "
    for i = 0,len-1 do
        x = path[i].x
        y = path[i].y
        z = path[i].z
        msg_str = msg_str .. "("
            .. tostring(x) .. ","
            .. tostring(y) .. ","
            .. tostring(z) .. ") "
    end

    -- Getting the block types on the path.
    msg_str = msg_str .. "\nBLOCK TYPES: "
    bts = get_input_path_bts()
    for i = 0,len do --Notice this is len not len-1
        bt = bts[i].name
        msg_str = msg_str .. "(" .. bt .. ") "
    end

    add_bent_s(10,10,4,"bent_base_txt",msg_str)
end
