Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local modem = peripheral.find("modem") or error("No modem attached", 0)
- CHANNEL = 43
- modem.open(CHANNEL)
- local function receiveMessage()
- local event, _, channel, _, message = os.pullEvent("modem_message")
- if channel == CHANNEL then
- return message
- else
- print("Failed: " .. message)
- return receiveMessage()
- end
- end
- -- Print a line of dashes for aesthetics
- local function lineBreak()
- local width, height = term.getSize()
- for i = 1, width do
- io.write("-")
- end
- io.write("\n")
- end
- -- Function to clear the screen
- local function clearScreen()
- term.clear()
- term.setCursorPos(1, 1)
- end
- local function finalmessage()
- for i = 1, 99 do
- message = receiveMessage()
- clearScreen()
- print("Teleporter Controller")
- lineBreak()
- print("Programming Complete")
- lineBreak()
- print(message)
- end
- clearScreen()
- print("Teleporter Controller")
- lineBreak()
- print("Teleport Completed")
- lineBreak()
- X, Y, Z = gps.locate()
- print("Final Position: " .. X .. " " .. Y .. " " .. Z)
- end
- clearScreen()
- print("Teleporter Controller")
- lineBreak()
- print("Select a program to run:")
- print("1. Recall")
- print("2. Direct Teleport")
- print("3. Relative Teleport")
- print("4. Exit")
- lineBreak()
- local choice = read()
- local dimensions = {
- "minecraft:overworld",
- "minecraft:nether",
- "ad_astra:moon",
- "ad_astra:mars",
- "sgjourney:chulak",
- "sgjourney:abydos"
- }
- local function selectDimension()
- clearScreen()
- print("Teleporter Controller")
- lineBreak()
- print("Select a Dimension:")
- for i, dim in ipairs(dimensions) do
- print(i .. ". " .. dim)
- end
- lineBreak()
- io.write("Enter choice: ")
- local dimChoice = tonumber(read())
- if dimChoice and dimensions[dimChoice] then
- return dimensions[dimChoice]
- else
- print("Invalid selection. Try again.")
- os.sleep(1)
- return selectDimension()
- end
- end
- if choice == "1" then
- clearScreen()
- print("Teleporter Controller")
- lineBreak()
- modem.transmit(15, 43, "Recall")
- print("Recall Started")
- os.sleep(1)
- finalmessage()
- elseif choice == "2" then
- dimension = selectDimension()
- clearScreen()
- print("Teleporter Controller")
- lineBreak()
- print("Dimension: ")
- print(dimension)
- print("X: ")
- positionX = read()
- print("Y: ")
- positionY = read()
- print("Z: ")
- positionZ = read()
- clearScreen()
- print("Teleporter Controller")
- lineBreak()
- print("Starting Programming")
- lineBreak()
- modem.transmit(15, 43, "Teleport")
- os.sleep(0.2)
- modem.transmit(15, 43, positionX)
- print("X:"..positionX)
- os.sleep(0.2)
- modem.transmit(15, 43, positionY)
- print("Y:"..positionY)
- os.sleep(0.2)
- modem.transmit(15, 43, positionZ)
- print("Z:"..positionZ)
- os.sleep(0.2)
- modem.transmit(15, 43, dimension)
- print("Dimension:"..dimension)
- os.sleep(1)
- finalmessage()
- elseif choice == "3" then
- dimension = selectDimension()
- clearScreen()
- print("Teleporter Controller")
- lineBreak()
- print("Dimension: ")
- print(dimension)
- X, Y, Z = gps.locate()
- print("X: ")
- positionX = X + read()
- print("Y: ")
- positionY = Y + read()
- print("Z: ")
- positionZ = Z + read()
- clearScreen()
- print("Teleporter Controller")
- lineBreak()
- print("Starting Programming")
- lineBreak()
- modem.transmit(15, 43, "Teleport")
- os.sleep(1)
- modem.transmit(15, 43, positionX)
- print("X:"..positionX)
- os.sleep(1)
- modem.transmit(15, 43, positionY)
- print("Y:"..positionY)
- os.sleep(1)
- modem.transmit(15, 43, positionZ)
- print("Z:"..positionZ)
- os.sleep(1)
- modem.transmit(15, 43, dimension)
- print("Dimension:"..dimension)
- os.sleep(1)
- finalmessage()
- end
- os.sleep(1)
- shell.run("Greeting")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement