Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- under construction !!
- os.loadAPI("Items") -- pastebin get 0geLX5MP Items
- local ARMSG_SETUP_WAS_COMPLETED = 13
- local SETUP_SOURCE =
- [[
- os.setComputerLabel(PCID)
- local hFile = fs.open("tntc.config", "w")
- hFile.writeLine(SETUP_CONFIG)
- hFile.close()
- local hFile = fs.open("startup", "w")
- hFile.writeLine(STARTUP_SOURCE)
- hFile.close()
- rs.setAnalogOutput(WAKEUP_SIGNAL_DIR, ARMSG_SETUP_WAS_COMPLETED)
- ]]
- local COMPUTER_STARTUP_SOURCE =
- [[
- local hFile = fs.open("tntc.config", "r")
- local config = textutils.unserialize(hFile.readAll())
- hFile.close()
- while true do
- print(config.pcidBody)
- os.sleep(1)
- end
- ]]
- local tntCannonId = "TNTC1_"
- local reverseLog = ""
- local function createMoveWithReturnLogFunc(func, reverseCmd)
- return
- function()
- func()
- reverseLog = reverseCmd .. reverseLog
- end
- end
- local constructionMaterials =
- {
- [Items.Wired_Modem.id ] = { slot = { 1 }, count = { 2, 0, 2, 0, 0, 4, 0, 2 }, },
- [Items.Networking_Cable.id ] = { slot = { 2 }, count = { 2, 2, 2, 2, 2, 6, 4, 5 }, },
- [Items.Computer.id ] = { slot = { 3 }, count = { 2, 0, 4, 0, 0, 4, 2, 0 }, },
- [Items.Dispenser.id ] = { slot = { 4 }, count = { 2, 4, 2, 0, 6, 4, 1, 0 }, },
- [Items.Wooden_Pressure_Plate.id] = { slot = { 5 }, count = { 0, 5, 0, 0, 0, 0, 0, 0 }, },
- [Items.Red_Wool.id ] = { slot = { 6 }, count = { 25, 0, 0, 0, 0, 0, 0, 0 }, },
- [Items.Blue_Wool.id ] = { slot = { 7 }, count = { 0, 0, 0, 0, 0, 0, 0, 0 }, },
- [Items.Obsidian.id ] = { slot = { 8 }, count = { 4, 0, 1, 3, 0, 0, 0, 0 }, },
- [Items.Disk_Drive.id ] = { slot = { 9 }, count = { 1, 0, 0, 0, 0, 0, 0, 0 }, },
- [Items.Floppy_Disk.id ] = { slot = { 10 }, count = { 1, 0, 0, 0, 0, 0, 0, 0 }, },
- [Items.Turtle.id ] = { slot = { 11 }, count = { 0, 0, 0, 0, 0, 0, 0, 1 }, },
- [Items.Chest.id ] = { slot = { 12 }, count = { 0, 0, 0, 0, 0, 0, 0, 1 }, },
- [Items.Cobblestone_Slab.id ] = { slot = { 13 }, count = { 0, 3, 0, 0, 0, 0, 0, 0 }, },
- [Items.Water_Bucket.id ] = { slot = { 14, 15 }, count = { 0, 2, 0, 0, 0, 0, 0, 0 }, },
- [Items.Bucket.id ] = { slot = { 16 }, count = { 0, 0, 0, 0, 0, 0, 0, 0 }, },
- }
- local selectedItemId
- local function selectItem(itemId)
- --print("selectItem =[" .. itemId .. "]")
- selectedItemId = itemId
- end
- local function getSelectedItemId()
- return selectedItemId
- end
- local function createSelectAndDoFunc(func)
- return
- function()
- local selItemId = selectedItemId
- --print("selItemId =[" .. selItemId .. "]")
- if nil ~= constructionMaterials[selItemId] then
- local slotAry = constructionMaterials[selItemId].slot
- for i, val in pairs(slotAry) do
- turtle.select(val)
- if 0 < turtle.getItemCount(val) then
- break
- end
- end
- end
- func()
- end
- end
- local function createRepeatUntilTrueFunc(func, msg)
- return
- function()
- local rslt
- repeat
- rslt = func()
- if not rslt then
- print(msg)
- os.sleep(1)
- end
- until rslt
- end
- end
- local cmds =
- {
- p0 = createSelectAndDoFunc(turtle.placeUp),
- p1 = createSelectAndDoFunc(turtle.place),
- p2 = createSelectAndDoFunc(turtle.placeDown),
- e0 = createSelectAndDoFunc(turtle.digUp), -- [e]xcavate
- e1 = createSelectAndDoFunc(turtle.dig),
- e2 = createSelectAndDoFunc(turtle.digDown),
- f = createMoveWithReturnLogFunc(createRepeatUntilTrueFunc(turtle.forward , "cannot move forward."), "b"),
- b = createMoveWithReturnLogFunc(createRepeatUntilTrueFunc(turtle.back , "cannot move back." ), "f"),
- u = createMoveWithReturnLogFunc(createRepeatUntilTrueFunc(turtle.up , "cannot move up." ), "d"),
- d = createMoveWithReturnLogFunc(createRepeatUntilTrueFunc(turtle.down , "cannot move down." ), "u"),
- l = createMoveWithReturnLogFunc(turtle.turnLeft , "r"),
- r = createMoveWithReturnLogFunc(turtle.turnRight, "l"),
- t0 = createSelectAndDoFunc(turtle.dropUp), -- [t]hrow
- t1 = createSelectAndDoFunc(turtle.drop),
- t2 = createSelectAndDoFunc(turtle.dropDown),
- k0 = createSelectAndDoFunc(turtle.suckUp), -- suc[k]
- k1 = createSelectAndDoFunc(turtle.suck),
- k2 = createSelectAndDoFunc(turtle.suckDown),
- }
- local cmdsMoveOnly =
- {
- f = createRepeatUntilTrueFunc(turtle.forward, "cannot move forward."),
- b = createRepeatUntilTrueFunc(turtle.back , "cannot move back." ),
- u = createRepeatUntilTrueFunc(turtle.up , "cannot move up." ),
- d = createRepeatUntilTrueFunc(turtle.down , "cannot move down." ),
- l = turtle.turnLeft,
- r = turtle.turnRight,
- }
- local function addNote(itemId)
- local note = Items[itemId].note
- if "" ~= note then
- return "(" .. note .. ")"
- else
- return ""
- end
- end
- local function getRequiredCnt(cntAry, lvAry)
- if nil == lvAry then
- lvAry = { }
- for i, val in ipairs(cntAry) do
- table.insert(lvAry, i)
- end
- end
- ret = 0
- for key, val in pairs(lvAry) do
- if nil ~= cntAry[val] then
- ret = ret + cntAry[val]
- end
- end
- return ret
- end
- local function doShowRequiredItems(lvAry)
- local remainTbl = { }
- print("=== required items ===")
- local slotFin
- for i = 1, 16 do
- if i == 9 then
- print("Hit any key to continue.")
- read()
- end
- slotFin = false
- for key_j, val_j in pairs(constructionMaterials) do
- for key_k, val_k in pairs(val_j.slot) do
- if i == val_k then
- local reqCnt = getRequiredCnt(val_j.count, lvAry)
- print(string.format("slot%2d : %2d ", i, reqCnt) .. key_j .. addNote(key_j))
- slotFin = true
- break
- end
- end
- if slotFin then
- break
- end
- end
- end
- end
- local function burnCustomSetupDisk(floppyDir, pcidBody, wakeupSignalDir)
- local config = { ["tntCannonId"] = tntCannonId, ["pcidBody"] = pcidBody, data = "hoehoe" }
- local fullSetupSource
- = "local SETUP_CONFIG = [[" .. textutils.serialize(config) .. "]]\n"
- .. "local STARTUP_SOURCE = [[" .. COMPUTER_STARTUP_SOURCE .. "]]\n"
- .. "local PCID = [[" .. tntCannonId .. pcidBody .. "]]\n"
- .. "local WAKEUP_SIGNAL_DIR = [[" .. wakeupSignalDir .. "]]\n"
- .. "local ARMSG_SETUP_WAS_COMPLETED = " .. tostring(ARMSG_SETUP_WAS_COMPLETED) .. "\n"
- .. SETUP_SOURCE
- local floppyPath = disk.getMountPath(floppyDir)
- local hFile = fs.open(floppyPath .. "/startup", "w")
- hFile.writeLine(fullSetupSource)
- hFile.close()
- end
- local function showRequiredItemsLv(level)
- doShowRequiredItems({level})
- end
- local function showRequiredItems()
- doShowRequiredItems(nil)
- end
- local function doCommand(cmdTable, script)
- local cmd = string.gsub(script, " ", "") .. " "
- local rslt
- local startIdx = 1
- while startIdx < #cmd do
- local errorFlg = true
- for key, func in pairs(cmdTable) do
- rslt = string.find(cmd, key, startIdx, true)
- if nil ~= rslt and 0 == rslt - startIdx then
- func()
- startIdx = startIdx + #key
- errorFlg = false
- break
- end
- end
- if errorFlg then
- error("bad script.")
- end
- end
- end
- --[[
- local dict =
- {
- ["."] = "blank",
- ["W"] = "Wired modem and wire",
- ["w"] = "wire",
- ["c"] = "computer",
- ["d"] = "dispenser",
- ["p"] = "pressure plate",
- ["r"] = "red wool",
- }
- --]]
- -- =============================================================
- -- ==
- -- == LV 1
- -- ==
- -- =============================================================
- local function buildLv1()
- --[[
- local lv1 = [ [
- rrrrrrr
- rWrrrWr
- rcdodcr
- rrooorr
- rrrrrrr
- ] ]
- local lv1Ex = [ [
- .......
- .1...1.
- .23.34.
- .......
- .......
- ] ]
- -- 1 : modem South direction
- -- 2 : computer West direction (pcL1LW)
- -- 3 : dispenser Top direction
- -- 4 : computer East direction (pcL1RE)
- --]]
- doCommand(cmds, "f")
- -- -----------------------
- -- computer 1
- -- -----------------------
- doCommand(cmds, "uffrf")
- doCommand(cmds, "f")
- selectItem(Items.Disk_Drive.id)
- doCommand(cmds, "p2")
- selectItem(Items.Floppy_Disk.id)
- doCommand(cmds, "t2")
- burnCustomSetupDisk("bottom", "pcL1RW", "top")
- doCommand(cmds, "b")
- selectItem(Items.Computer.id)
- doCommand(cmds, "p2")
- peripheral.call("bottom", "turnOn")
- os.sleep(6)
- peripheral.call("bottom", "reboot")
- while true do
- os.pullEvent("redstone")
- if ARMSG_SETUP_WAS_COMPLETED == rs.getAnalogInput("bottom") then
- break
- end
- end
- doCommand(cmds, "f")
- selectItem(Items.Floppy_Disk.id)
- doCommand(cmds, "k2")
- selectItem(Items.Disk_Drive.id)
- doCommand(cmds, "e2b")
- peripheral.call("bottom", "turnOn")
- os.sleep(6)
- peripheral.call("bottom", "reboot")
- doCommand(cmds, "lffdll")
- selectItem(Items.Wired_Modem.id)
- doCommand(cmds, "p1")
- selectItem(Items.Networking_Cable.id)
- doCommand(cmds, "p1")
- -- -----------------------
- -- computer 2
- -- -----------------------
- doCommand(cmds, "lffffruf")
- selectItem(Items.Disk_Drive.id)
- doCommand(cmds, "p2")
- selectItem(Items.Floppy_Disk.id)
- doCommand(cmds, "t2")
- burnCustomSetupDisk("bottom", "pcL1LE", "top")
- doCommand(cmds, "fr")
- selectItem(Items.Computer.id)
- doCommand(cmds, "p2l")
- peripheral.call("bottom", "turnOn")
- os.sleep(6)
- peripheral.call("bottom", "reboot")
- while true do
- os.pullEvent("redstone")
- if ARMSG_SETUP_WAS_COMPLETED == rs.getAnalogInput("bottom") then
- break
- end
- end
- doCommand(cmds, "b")
- selectItem(Items.Floppy_Disk.id)
- doCommand(cmds, "k2")
- selectItem(Items.Disk_Drive.id)
- doCommand(cmds, "e2f")
- peripheral.call("bottom", "turnOn")
- os.sleep(6)
- peripheral.call("bottom", "reboot")
- doCommand(cmds, "bbd")
- selectItem(Items.Wired_Modem.id)
- doCommand(cmds, "p1")
- selectItem(Items.Networking_Cable.id)
- doCommand(cmds, "p1")
- -- -----------------------
- -- dispenser x 2
- -- -----------------------
- doCommand(cmds, "uffrf")
- selectItem(Items.Dispenser.id)
- doCommand(cmds, "p2") -- TODO direction TOP
- doCommand(cmds, "ff")
- selectItem(Items.Dispenser.id)
- doCommand(cmds, "p2") -- TODO direction TOP
- doCommand(cmds, "ffrffr")
- -- -----------------------
- -- other
- -- -----------------------
- selectItem(Items.Red_Wool.id)
- doCommand(cmds, "p2fp2fp2fp2fp2fp2fp2")
- doCommand(cmds, "rfr")
- doCommand(cmds, "p2f f p2fp2fp2f f p2")
- doCommand(cmds, "lfl")
- doCommand(cmds, "p2fff")
- selectItem(Items.Obsidian.id)
- doCommand(cmds, "p2fff")
- selectItem(Items.Red_Wool.id)
- doCommand(cmds, "p2rfr")
- doCommand(cmds, "p2fp2f")
- selectItem(Items.Obsidian.id)
- doCommand(cmds, "p2fp2fp2f")
- selectItem(Items.Red_Wool.id)
- doCommand(cmds, "p2fp2")
- doCommand(cmds, "lfl")
- doCommand(cmds, "p2fp2fp2fp2fp2fp2fp2")
- doCommand(cmds, "bbbbbblu")
- end
- -- =============================================================
- -- ==
- -- == LV 2
- -- ==
- -- =============================================================
- local function buildLv2()
- --[[
- local lv2 = [ [
- .......
- .wdodw.
- .dqqqd.
- .phhhp.
- ..ppp..
- ] ]
- local lv2Ex = [ [
- .......
- ..1.1..
- .2...3.
- .......
- .......
- ] ]
- -- 1 : dispenser South direction
- -- 2 : dispenser East direction
- -- 3 : dispenser West direction
- --]]
- doCommand(cmds, "fffrf")
- selectItem(Items.Networking_Cable.id)
- doCommand(cmds, "p2")
- doCommand(cmds, "fl")
- selectItem(Items.Dispenser.id)
- doCommand(cmds, "p2 rf")
- selectItem(Items.Obsidian.id)
- doCommand(cmds, "p2 fl")
- selectItem(Items.Dispenser.id)
- doCommand(cmds, "p2 rf")
- selectItem(Items.Networking_Cable.id)
- doCommand(cmds, "p2 rfl")
- selectItem(Items.Dispenser.id)
- doCommand(cmds, "p2 llf")
- doCommand(cmds, "fff")
- selectItem(Items.Dispenser.id)
- doCommand(cmds, "p2 lfl")
- selectItem(Items.Wooden_Pressure_Plate.id)
- doCommand(cmds, "p2 f")
- selectItem(Items.Cobblestone_Slab.id)
- doCommand(cmds, "p2fp2fp2f")
- selectItem(Items.Wooden_Pressure_Plate.id)
- doCommand(cmds, "p2 rfrf")
- doCommand(cmds, "p2fp2fp2")
- -- --> water
- doCommand(cmds, "bbrffl")
- selectItem(Items.Water_Bucket.id)
- doCommand(cmds, "p2")
- turtle.transferTo(constructionMaterials[Items.Bucket.id].slot[1])
- selectItem(Items.Water_Bucket.id)
- doCommand(cmds, "ffp2")
- turtle.transferTo(constructionMaterials[Items.Bucket.id].slot[1])
- doCommand(cmds, "ffrbbu")
- -- water <--
- end
- -- =============================================================
- -- ==
- -- == LV 3
- -- ==
- -- =============================================================
- local function buildLv3()
- --[[
- local lv3 = [ [
- .......
- .WcocW.
- .ododo.
- .......
- .......
- ] ]
- local lv3Ex = [ [
- .......
- .12.23.
- .54.46.
- .......
- .......
- ] ]
- -- 1 : modem East direction
- -- 2 : computer North direction
- -- 3 : modem West direction
- -- 4 : dispenser Bottom direction
- -- 5 : computer West direction
- -- 6 : computer East direction
- --]]
- doCommand(cmds, "ffrf")
- selectItem(Items.Obsidian.id)
- doCommand(cmds, "p2lfr")
- -- -----------------------
- -- computer 3
- -- -----------------------
- selectItem(Items.Disk_Drive.id)
- doCommand(cmds, "p2")
- selectItem(Items.Floppy_Disk.id)
- doCommand(cmds, "t2")
- burnCustomSetupDisk("bottom", "pcL3RBN", "top")
- doCommand(cmds, "fr")
- selectItem(Items.Computer.id)
- doCommand(cmds, "p2l")
- peripheral.call("bottom", "turnOn")
- os.sleep(6)
- peripheral.call("bottom", "reboot")
- while true do
- os.pullEvent("redstone")
- if ARMSG_SETUP_WAS_COMPLETED == rs.getAnalogInput("bottom") then
- break
- end
- end
- doCommand(cmds, "b")
- selectItem(Items.Floppy_Disk.id)
- doCommand(cmds, "k2")
- selectItem(Items.Disk_Drive.id)
- doCommand(cmds, "e2f")
- peripheral.call("bottom", "turnOn")
- os.sleep(6)
- peripheral.call("bottom", "reboot")
- doCommand(cmds, "bbd")
- selectItem(Items.Wired_Modem.id)
- doCommand(cmds, "p1")
- selectItem(Items.Networking_Cable.id)
- doCommand(cmds, "p1")
- -- -----------------------
- -- computer 4
- -- -----------------------
- doCommand(cmds, "ufff")
- selectItem(Items.Disk_Drive.id)
- doCommand(cmds, "p2")
- selectItem(Items.Floppy_Disk.id)
- doCommand(cmds, "t2")
- burnCustomSetupDisk("bottom", "pcL3LBN", "top")
- doCommand(cmds, "fr")
- selectItem(Items.Computer.id)
- doCommand(cmds, "p2l")
- peripheral.call("bottom", "turnOn")
- os.sleep(6)
- peripheral.call("bottom", "reboot")
- while true do
- os.pullEvent("redstone")
- if ARMSG_SETUP_WAS_COMPLETED == rs.getAnalogInput("bottom") then
- break
- end
- end
- doCommand(cmds, "b")
- selectItem(Items.Floppy_Disk.id)
- doCommand(cmds, "k2")
- selectItem(Items.Disk_Drive.id)
- doCommand(cmds, "e2")
- -- --> obsidian
- selectItem(Items.Obsidian.id)
- doCommand(cmds, "p2")
- -- <-- obsidian
- doCommand(cmds, "f")
- peripheral.call("bottom", "turnOn")
- os.sleep(6)
- peripheral.call("bottom", "reboot")
- doCommand(cmds, "fflld")
- selectItem(Items.Wired_Modem.id)
- doCommand(cmds, "p1")
- selectItem(Items.Networking_Cable.id)
- doCommand(cmds, "p1 u")
- doCommand(cmds, "lfrf")
- -- --> obsidian
- selectItem(Items.Obsidian.id)
- doCommand(cmds, "p2")
- -- <-- obsidian
- doCommand(cmds, "f")
- -- -----------------------
- -- dispenser bottom
- -- -----------------------
- doCommand(cmds, "dd")
- selectItem(Items.Dispenser.id)
- doCommand(cmds, "p0") -- TODO bottom direction
- doCommand(cmds, "ff")
- selectItem(Items.Dispenser.id)
- doCommand(cmds, "p0") -- TODO bottom direction
- doCommand(cmds, "buu")
- -- obsidian
- selectItem(Items.Obsidian.id)
- doCommand(cmds, "p2 fff")
- doCommand(cmds, "rbbu")
- end
- -- =============================================================
- -- ==
- -- == LV 4
- -- ==
- -- =============================================================
- local function buildLv4()
- --[[
- local lv4 = [ [
- .......
- .w...w.
- .wooow.
- .o...o.
- .o...o.
- ] ]
- local lv4Ex = [ [
- .......
- .......
- .1...1.
- .......
- .......
- ] ]
- -- 1 : modem bottom direction
- --]]
- doCommand(cmds, "rfl")
- selectItem(Items.Obsidian.id)
- doCommand(cmds, "p2fp2f")
- selectItem(Items.Networking_Cable.id)
- doCommand(cmds, "p2fp2fp2 r")
- doCommand(cmds, "fp2fp2fp2fp2 r")
- doCommand(cmds, "fp2fp2")
- selectItem(Items.Obsidian.id)
- doCommand(cmds, "fp2fp2 bbr fp2fp2fp2")
- doCommand(cmds, "ffrbbu")
- end
- -- =============================================================
- -- ==
- -- == LV 5
- -- ==
- -- =============================================================
- local function buildLv5()
- --[[
- local lv5 = [ [
- .......
- .......
- .wdodw.
- .b...b.
- ..d.d..
- .......
- .......
- .wdodw.
- .d...d.
- .cd.dc.
- ] ]
- local lv5Ex = [ [
- .......
- .......
- ..1.1..
- .......
- ..2.2..
- ] ]
- -- 1 : dispenser South direction
- -- 2 : dispenser North direction
- --]]
- doCommand(cmds, "ffrf")
- selectItem(Items.Networking_Cable.id)
- doCommand(cmds, "p2 f")
- selectItem(Items.Dispenser.id)
- doCommand(cmds, "lp2 rf")
- selectItem(Items.Obsidian.id)
- doCommand(cmds, "p2 f")
- selectItem(Items.Dispenser.id)
- doCommand(cmds, "lp2 rf")
- selectItem(Items.Networking_Cable.id)
- doCommand(cmds, "p2 rfl")
- selectItem(Items.Dispenser.id)
- doCommand(cmds, "p2ll ffff p2")
- doCommand(cmds, "lflf")
- selectItem(Items.Dispenser.id)
- doCommand(cmds, "rp2l f")
- selectItem(Items.Obsidian.id)
- doCommand(cmds, "p2 f")
- selectItem(Items.Dispenser.id)
- doCommand(cmds, "rp2l")
- -- -----------------------
- -- computer z
- -- -----------------------
- doCommand(cmds, "ffll")
- selectItem(Items.Disk_Drive.id)
- doCommand(cmds, "p2")
- selectItem(Items.Floppy_Disk.id)
- doCommand(cmds, "t2")
- burnCustomSetupDisk("bottom", "pcL5LE", "top")
- doCommand(cmds, "f")
- selectItem(Items.Computer.id)
- doCommand(cmds, "rp2l")
- peripheral.call("bottom", "turnOn")
- os.sleep(6)
- peripheral.call("bottom", "reboot")
- while true do
- os.pullEvent("redstone")
- if ARMSG_SETUP_WAS_COMPLETED == rs.getAnalogInput("bottom") then
- break
- end
- end
- doCommand(cmds, "b")
- selectItem(Items.Floppy_Disk.id)
- doCommand(cmds, "k2")
- selectItem(Items.Disk_Drive.id)
- doCommand(cmds, "e2f")
- peripheral.call("bottom", "turnOn")
- os.sleep(6)
- peripheral.call("bottom", "reboot")
- -- -----------------------
- -- computer z
- -- -----------------------
- doCommand(cmds, "fffffll")
- selectItem(Items.Disk_Drive.id)
- doCommand(cmds, "p2")
- selectItem(Items.Floppy_Disk.id)
- doCommand(cmds, "t2")
- burnCustomSetupDisk("bottom", "pcL5RE", "top")
- doCommand(cmds, "f")
- selectItem(Items.Computer.id)
- doCommand(cmds, "lp2r")
- peripheral.call("bottom", "turnOn")
- os.sleep(6)
- peripheral.call("bottom", "reboot")
- while true do
- os.pullEvent("redstone")
- if ARMSG_SETUP_WAS_COMPLETED == rs.getAnalogInput("bottom") then
- break
- end
- end
- doCommand(cmds, "b")
- selectItem(Items.Floppy_Disk.id)
- doCommand(cmds, "k2")
- selectItem(Items.Disk_Drive.id)
- doCommand(cmds, "e2f")
- peripheral.call("bottom", "turnOn")
- os.sleep(6)
- peripheral.call("bottom", "reboot")
- doCommand(cmds, "blu")
- end
- -- =============================================================
- -- ==
- -- == LV 6
- -- ==
- -- =============================================================
- local function buildLv6()
- --[[
- local lv6 = [ [
- .......
- .......
- .WcdcW.
- .wd.dw.
- .WcdcW.
- .......
- .......
- .WcdcW.
- .wd.dw.
- .W.d.W.
- ] ]
- local lv6Ex = [ [
- .......
- .......
- .12324.
- ..5.5..
- .8.7.8.
- ] ]
- -- 1 : Wired modem East Direction
- -- 2 : Computer North direction
- -- 3 : dispenser South direction
- -- 4 : Wired modem West Direction
- -- 5 : dispenser Bottom Direction
- -- 6 : Computer South direction
- -- 7 : dispenser North Direction
- -- 8 : Wired modem bottom Direction
- --]]
- -- -----------------------
- -- computer 7
- -- -----------------------
- doCommand(cmds, "ffrf")
- selectItem(Items.Disk_Drive.id)
- doCommand(cmds, "p2")
- selectItem(Items.Floppy_Disk.id)
- doCommand(cmds, "t2")
- burnCustomSetupDisk("bottom", "pcL6RB", "top")
- doCommand(cmds, "f")
- selectItem(Items.Computer.id)
- doCommand(cmds, "r p2 l")
- peripheral.call("bottom", "turnOn")
- os.sleep(6)
- peripheral.call("bottom", "reboot")
- while true do
- os.pullEvent("redstone")
- if ARMSG_SETUP_WAS_COMPLETED == rs.getAnalogInput("bottom") then
- break
- end
- end
- doCommand(cmds, "b")
- selectItem(Items.Floppy_Disk.id)
- doCommand(cmds, "k2")
- selectItem(Items.Disk_Drive.id)
- doCommand(cmds, "e2f")
- peripheral.call("bottom", "turnOn")
- os.sleep(6)
- peripheral.call("bottom", "reboot")
- doCommand(cmds, "bbd")
- selectItem(Items.Wired_Modem.id)
- doCommand(cmds, "p1")
- selectItem(Items.Networking_Cable.id)
- doCommand(cmds, "p1")
- doCommand(cmds, "u")
- -- dispanser
- doCommand(cmds, "fff")
- selectItem(Items.Dispenser.id)
- doCommand(cmds, "l p2 r")
- -- -----------------------
- -- computer 8
- -- -----------------------
- doCommand(cmds, "ffll")
- selectItem(Items.Disk_Drive.id)
- doCommand(cmds, "p2")
- selectItem(Items.Floppy_Disk.id)
- doCommand(cmds, "t2")
- burnCustomSetupDisk("bottom", "pcL6RB", "top")
- doCommand(cmds, "f")
- selectItem(Items.Computer.id)
- doCommand(cmds, "l p2 r")
- peripheral.call("bottom", "turnOn")
- os.sleep(6)
- peripheral.call("bottom", "reboot")
- while true do
- os.pullEvent("redstone")
- if ARMSG_SETUP_WAS_COMPLETED == rs.getAnalogInput("bottom") then
- break
- end
- end
- doCommand(cmds, "b")
- selectItem(Items.Floppy_Disk.id)
- doCommand(cmds, "k2")
- selectItem(Items.Disk_Drive.id)
- doCommand(cmds, "e2f")
- peripheral.call("bottom", "turnOn")
- os.sleep(6)
- peripheral.call("bottom", "reboot")
- doCommand(cmds, "bbd")
- selectItem(Items.Wired_Modem.id)
- doCommand(cmds, "p1")
- selectItem(Items.Networking_Cable.id)
- doCommand(cmds, "p1 u")
- doCommand(cmds, "flfr")
- selectItem(Items.Networking_Cable.id)
- doCommand(cmds, "p2")
- -- -----------------------
- -- dispenser bottom
- -- -----------------------
- doCommand(cmds, "f")
- doCommand(cmds, "dd")
- selectItem(Items.Dispenser.id)
- -- doCommand(cmds, "p0") -- TODO bottom direction
- doCommand(cmds, "llp0ll")
- doCommand(cmds, "ff")
- selectItem(Items.Dispenser.id)
- doCommand(cmds, "p0") -- TODO bottom direction
- doCommand(cmds, "buu")
- doCommand(cmds, "ff")
- selectItem(Items.Networking_Cable.id)
- doCommand(cmds, "p2")
- doCommand(cmds, "lfl")
- selectItem(Items.Wired_Modem.id)
- doCommand(cmds, "p2")
- selectItem(Items.Networking_Cable.id)
- doCommand(cmds, "p2")
- doCommand(cmds, "ffff")
- selectItem(Items.Wired_Modem.id)
- doCommand(cmds, "p2")
- selectItem(Items.Networking_Cable.id)
- doCommand(cmds, "p2")
- selectItem(Items.Obsidian.id)
- doCommand(cmds, "bp2bp2bp2")
- doCommand(cmds, "bblu")
- end
- -- =============================================================
- -- ==
- -- == LV 7
- -- ==
- -- =============================================================
- local function buildLv7()
- --[[
- local lv7 = [ [
- .......
- .......
- .wwcww.
- ...d...
- .......
- ] ]
- local lv7Ex = [ [
- .......
- .......
- ...1...
- ...2...
- ...3...
- ] ]
- -- 1 : computer North direction
- -- 2 : dispenser Bottom direction
- -- 3 : computer South direction
- --]]
- doCommand(cmds, "frf")
- selectItem(Items.Obsidian.id)
- doCommand(cmds, "p2 ffff p2 brfr p2fp2fp2 rfl")
- -- -----------------------
- -- computer 3
- -- -----------------------
- selectItem(Items.Disk_Drive.id)
- doCommand(cmds, "p2")
- selectItem(Items.Floppy_Disk.id)
- doCommand(cmds, "t2")
- burnCustomSetupDisk("bottom", "pcL7E", "top")
- doCommand(cmds, "rfl")
- selectItem(Items.Computer.id)
- doCommand(cmds, "p2")
- peripheral.call("bottom", "turnOn")
- os.sleep(6)
- peripheral.call("bottom", "reboot")
- while true do
- os.pullEvent("redstone")
- if ARMSG_SETUP_WAS_COMPLETED == rs.getAnalogInput("bottom") then
- break
- end
- end
- doCommand(cmds, "fflld")
- selectItem(Items.Wired_Modem.id)
- doCommand(cmds, "p1")
- selectItem(Items.Networking_Cable.id)
- doCommand(cmds, "p1")
- doCommand(cmds, "ufffdr")
- selectItem(Items.Turtle.id)
- doCommand(cmds, "p1")
- doCommand(cmds, "lfr")
- selectItem(Items.Chest.id)
- doCommand(cmds, "p1")
- --
- doCommand(cmds, "urffff lffll")
- doCommand(cmds, "b ddddddd")
- end
- -- -------------------------------------
- -- main
- -- -------------------------------------
- --showRequiredItemsLv(1)
- showRequiredItems()
- print("Hit any key when ready.")
- read()
- --[[
- --]]
- buildLv1()
- buildLv2()
- buildLv3()
- buildLv4()
- buildLv5()
- buildLv6()
- buildLv7()
- --[[
- --]]
- print("Finished.")
- --print("Hit any key, to go back to the start position.")
- --read()
- --doCommand(cmdsMoveOnly, reverseLog)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement