CCCPaste

Dom BRF1

monitor = peripheral.wrap("monitor_1")
function pos(...) return term.setCursorPos(...) end
function cls(...) return term.clear() end
function tCol(...) return term.setTextColor(...) end
function bCol(...) return term.setBackgroundColor(...) end
function box(...) return paintutils.drawFilledBox(...) end
function line(...) return paintutils.drawLine(...) end
function write(...) return term.write(...) end
term.redirect(monitor)
w, h = monitor.getSize()

function getSize() w,h = monitor.getSize() end
tCol(colors.white)
local darkmode = true
local darkmodec

local boolArray = {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}

local function brf1()
    monitor.setTextScale(1.5)
    getSize()
    cls()
    if darkmode then
    darkmodec = colours.black
else
    darkmodec = colours.blue
end
    box(1,1,w,h,darkmodec)
    pos(w/2-#"BRF1"/2,1)
    write("BRF1")

    -- left column
    local y = 3
    pos(5,y) write("Asurine")
    if boolArray[1]==false then box(23,y,26,y,colors.red) else box(23,y,26,y,colors.lime) end; y=y+2
    pos(5,y) bCol(darkmodec) write("Redstone")
    if boolArray[2]==false then box(23,y,26,y,colors.red) else box(23,y,26,y,colors.lime) end; y=y+2
    pos(5,y) bCol(darkmodec) write("Lapis")
    if boolArray[3]==false then box(23,y,26,y,colors.red) else box(23,y,26,y,colors.lime) end; y=y+2
    pos(5,y) bCol(darkmodec) write("Quartz")
    if boolArray[4]==false then box(23,y,26,y,colors.red) else box(23,y,26,y,colors.lime) end; y=y+2
    pos(5,y) bCol(darkmodec) write("Coal")
    if boolArray[5]==false then box(23,y,26,y,colors.red) else box(23,y,26,y,colors.lime) end; y=y+2
    pos(5,y) bCol(darkmodec) write("Diamond")
    if boolArray[6]==false then box(23,y,26,y,colors.red) else box(23,y,26,y,colors.lime) end; y=y+2
    pos(5,y) bCol(darkmodec) write("Coal Dust")
    if boolArray[7]==false then box(23,y,26,y,colors.red) else box(23,y,26,y,colors.lime) end; y=y+2
    pos(5,y) bCol(darkmodec) write("Steel Dust")
    if boolArray[8]==false then box(23,y,26,y,colors.red) else box(23,y,26,y,colors.lime) end; y=y+2
    pos(5,y) bCol(darkmodec) write("Flint")
    if boolArray[9]==false then box(23,y,26,y,colors.red) else box(23,y,26,y,colors.lime) end

    -- right column
    local y2 = 3
    pos(28,y2) bCol(darkmodec) write("Cobalt")
    if boolArray[10]==false then box(46,y2,49,y2,colors.red) else box(46,y2,49,y2,colors.lime) end; y2=y2+2
    pos(28,y2) bCol(darkmodec) write("Ostrum")
    if boolArray[11]==false then box(46,y2,49,y2,colors.red) else box(46,y2,49,y2,colors.lime) end; y2=y2+2
    pos(28,y2) bCol(darkmodec) write("Lead")
    if boolArray[12]==false then box(46,y2,49,y2,colors.red) else box(46,y2,49,y2,colors.lime) end; y2=y2+2
    pos(28,y2) bCol(darkmodec) write("Desh")
    if boolArray[13]==false then box(46,y2,49,y2,colors.red) else box(46,y2,49,y2,colors.lime) end; y2=y2+2
    pos(28,y2) bCol(darkmodec) write("Clay")
    if boolArray[14]==false then box(46,y2,49,y2,colors.red) else box(46,y2,49,y2,colors.lime) end; y2=y2+2
    pos(28,y2) bCol(darkmodec) write("Silver")
    if boolArray[15]==false then box(46,y2,49,y2,colors.red) else box(46,y2,49,y2,colors.lime) end; y2=y2+2
    pos(28,y2) bCol(darkmodec) write("Ashes")
    if boolArray[16]==false then box(46,y2,49,y2,colors.red) else box(46,y2,49,y2,colors.lime) end; y2=y2+2
    pos(28,y2) bCol(darkmodec) write("Iron")
    if boolArray[17]==false then box(46,y2,49,y2,colors.red) else box(46,y2,49,y2,colors.lime) end

    pos(1,h)
    bCol(colors.black)
    write("EXIT")
    while true do
        local event, button, mx, my = os.pullEvent()
        if event == "monitor_touch" then
            if mx >= 1 and mx <= (1+#"EXIT") and my == h then
                return "menu"
            end
            -- left
            local ly = 3
            for i=1,9 do
                if mx >= 23 and mx <= 26 and my == ly then boolArray[i]=not boolArray[i]; brf1() end
                ly = ly + 2
            end
            -- right
            local ry = 3
            for i=10,17 do
                if mx >= 46 and mx <= 49 and my == ry then boolArray[i]=not boolArray[i]; brf1() end
                ry = ry + 2
            end
            if mx >= w/2-#"BRF1"/2 and mx <= w/2+#"BRF1"/2 and my == 1 then
                darkmode = not darkmode
                brf1()
            end
        end
    end
end

return {brf1 = brf1}