Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local modules = peripheral.find("neuralInterface")
- local canvas
- local scanInterval = 0.2
- local hover = false
- function OreScanner()
- if (modules.hasModule("plethora:scanner", 0) == false) then
- return
- end
- while(true) do
- -- Show ores thru walls
- if (canvas ~= nil) then
- canvas.remove()
- end
- canvas = modules.canvas3d()
- local blocks = modules.scan()
- for _, block in pairs(scanner.scan()) do
- if (string.find("ore", block.name)) then
- local block = canvas.addBox(block.x, block.y, block.z, block.name)
- --local block = canvas.addItem({block.x, block.y, block.z}, block.name)
- block.setDepthTested(false)
- end
- end
- sleep(scanInterval)
- end
- end
- function keyPress()
- while (true) do
- local event, key, is_held = os.pullEvent("key")
- if (key == "r") then -- Fire laser
- if (modules.hasModule("plethora:laser", 0)) then
- local meta = modules.getMetaOwner()
- modules.fire(meta.yaw, meta.pitch, 5)
- end
- elseif (key == "x") then
- if (modules.hasModule("plethora:kinetic", 0)) then
- hover = ~hover
- end
- end
- end
- end
- function Fly()
- while(true) do
- if (hover) then
- local mY = meta.motionY
- mY = (mY - 0.138) / 0.8
- if mY > 0.5 or mY < 0 then
- local sign = 1
- if mY < 0 then sign = -1 end
- modules.launch(0, 90 * sign, math.min(4, math.abs(mY)))
- end
- else
- sleep(0.1)
- end
- end
- end
- --Main
- parallel.waitForAll(keyPress(), OreScanner(), Fly())
Advertisement
Add Comment
Please, Sign In to add comment