diff --git a/builder/apis/builder/blocks.lua b/builder/apis/blocks.lua similarity index 99% rename from builder/apis/builder/blocks.lua rename to builder/apis/blocks.lua index a69f031..b1c2f61 100644 --- a/builder/apis/builder/blocks.lua +++ b/builder/apis/blocks.lua @@ -1,6 +1,6 @@ local class = require('class') local Util = require('util') -local TableDB = require('tableDB') +local TableDB = require('core.tableDB') local JSON = require('json') -- see https://github.com/Khroki/MCEdit-Unified/blob/master/pymclevel/minecraft.yaml diff --git a/builder/apis/builder/builder.lua b/builder/apis/builder.lua similarity index 98% rename from builder/apis/builder/builder.lua rename to builder/apis/builder.lua index 79dd95f..5bbd4b6 100644 --- a/builder/apis/builder/builder.lua +++ b/builder/apis/builder.lua @@ -1,6 +1,6 @@ local Blocks = require('builder.blocks') local class = require('class') -local Message = require('message') +local Message = require('core.message') local Util = require('util') local device = _G.device diff --git a/builder/apis/builder/commands.lua b/builder/apis/commands.lua similarity index 100% rename from builder/apis/builder/commands.lua rename to builder/apis/commands.lua diff --git a/builder/apis/builder/schematic.lua b/builder/apis/schematic.lua similarity index 99% rename from builder/apis/builder/schematic.lua rename to builder/apis/schematic.lua index 43228d2..243b61c 100644 --- a/builder/apis/builder/schematic.lua +++ b/builder/apis/schematic.lua @@ -1,6 +1,6 @@ local class = require('class') local Util = require('util') -local DEFLATE = require('deflatelua') +local DEFLATE = require('builder.deflatelua') local Point = require('point') local bit = _G.bit diff --git a/builder/apis/builder/turtle.lua b/builder/apis/turtle.lua similarity index 99% rename from builder/apis/builder/turtle.lua rename to builder/apis/turtle.lua index 8d16149..572ae4e 100644 --- a/builder/apis/builder/turtle.lua +++ b/builder/apis/turtle.lua @@ -1,9 +1,9 @@ -local Adapter = require('inventoryAdapter') +local Adapter = require('core.inventoryAdapter') local Builder = require('builder.builder') local class = require('class') local Event = require('event') -local itemDB = require('itemDB') -local Message = require('message') +local itemDB = require('core.itemDB') +local Message = require('core.message') local Point = require('point') local UI = require('ui') local Util = require('util') diff --git a/builder/base64dl.lua b/builder/base64dl.lua index 1efc0d0..4aead98 100644 --- a/builder/base64dl.lua +++ b/builder/base64dl.lua @@ -1,4 +1,4 @@ -local Base64 = require('base64') +local Base64 = require('builder.base64') local http = _G.http local os = _G.os diff --git a/builder/builder.lua b/builder/builder.lua index 765f677..f966ec9 100644 --- a/builder/builder.lua +++ b/builder/builder.lua @@ -2,12 +2,12 @@ if not _G.turtle and not _G.commands then error('Must be run on a turtle or a command computer') end -local Adapter = require('inventoryAdapter') +local Adapter = require('core.inventoryAdapter') local Event = require('event') local GPS = require('gps') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Schematic = require('builder.schematic') -local TableDB = require('tableDB') +local TableDB = require('core.tableDB') local UI = require('ui') local Util = require('util') diff --git a/builder/supplier.lua b/builder/supplier.lua index 003d839..ee39ba3 100644 --- a/builder/supplier.lua +++ b/builder/supplier.lua @@ -1,8 +1,8 @@ local Event = require('event') -local MEProvider = require('meProvider') -local Message = require('message') +local MEProvider = require('core.meProvider') +local Message = require('core.message') local Point = require('point') -local TableDB = require('tableDB') +local TableDB = require('core.tableDB') local Util = require('util') local device = _G.device @@ -21,9 +21,9 @@ local turtle = _G.turtle pointing at the chest/interface ]]-- -local ChestProvider = require('chestProvider') +local ChestProvider = require('core.chestProvider') if Util.getVersion() == 1.8 then - ChestProvider = require('chestProvider18') + ChestProvider = require('core.chestProvider18') end if not device.wireless_modem then diff --git a/core/Turtles.lua b/core/Turtles.lua index 9025479..11cee46 100644 --- a/core/Turtles.lua +++ b/core/Turtles.lua @@ -1,6 +1,6 @@ local Config = require('config') local Event = require('event') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Socket = require('socket') local Terminal = require('terminal') local UI = require('ui') diff --git a/core/apis/chestAdapter.lua b/core/apis/chestAdapter.lua index ce879ba..b187b8c 100644 --- a/core/apis/chestAdapter.lua +++ b/core/apis/chestAdapter.lua @@ -1,5 +1,5 @@ local class = require('class') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Peripheral = require('peripheral') local Util = require('util') diff --git a/core/apis/chestAdapter18.lua b/core/apis/chestAdapter18.lua index 71610b8..d23f012 100644 --- a/core/apis/chestAdapter18.lua +++ b/core/apis/chestAdapter18.lua @@ -1,6 +1,6 @@ local class = require('class') local Util = require('util') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Peripheral = require('peripheral') local ChestAdapter = class() diff --git a/core/apis/inventoryAdapter.lua b/core/apis/inventoryAdapter.lua index 7aa9afd..c1ee2bb 100644 --- a/core/apis/inventoryAdapter.lua +++ b/core/apis/inventoryAdapter.lua @@ -2,13 +2,13 @@ local Adapter = { } function Adapter.wrap(args) local adapters = { - 'refinedAdapter', - 'meAdapter18', - 'chestAdapter18', + 'core.refinedAdapter', + 'core.meAdapter18', + 'core.chestAdapter18', -- adapters for version 1.7 - 'meAdapter', - 'chestAdapter', + 'core.meAdapter', + 'core.chestAdapter', } for _,adapterType in ipairs(adapters) do diff --git a/core/apis/itemDB.lua b/core/apis/itemDB.lua index daef212..2b6d67b 100644 --- a/core/apis/itemDB.lua +++ b/core/apis/itemDB.lua @@ -1,5 +1,5 @@ -local nameDB = require('nameDB') -local TableDB = require('tableDB') +local nameDB = require('core.nameDB') +local TableDB = require('core.tableDB') local Util = require('util') local itemDB = TableDB({ fileName = 'usr/config/items.db' }) diff --git a/core/apis/meAdapter.lua b/core/apis/meAdapter.lua index 41d12bd..5240d2f 100644 --- a/core/apis/meAdapter.lua +++ b/core/apis/meAdapter.lua @@ -1,5 +1,5 @@ local class = require('class') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Peripheral = require('peripheral') local Util = require('util') diff --git a/core/apis/nameDB.lua b/core/apis/nameDB.lua index 7216f95..4724c42 100644 --- a/core/apis/nameDB.lua +++ b/core/apis/nameDB.lua @@ -1,5 +1,5 @@ local JSON = require('json') -local TableDB = require('tableDB') +local TableDB = require('core.tableDB') local Util = require('util') local fs = _G.fs diff --git a/core/apis/refinedAdapter.lua b/core/apis/refinedAdapter.lua index b0d84c1..483549e 100644 --- a/core/apis/refinedAdapter.lua +++ b/core/apis/refinedAdapter.lua @@ -1,5 +1,5 @@ local class = require('class') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Peripheral = require('peripheral') local Util = require('util') diff --git a/core/apis/turtle/craft.lua b/core/apis/turtle/craft.lua index 70c624c..85821c4 100644 --- a/core/apis/turtle/craft.lua +++ b/core/apis/turtle/craft.lua @@ -1,4 +1,4 @@ -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Util = require('util') local fs = _G.fs diff --git a/core/apis/turtle/crafting.lua b/core/apis/turtle/crafting.lua index 93b8b43..5beb13b 100644 --- a/core/apis/turtle/crafting.lua +++ b/core/apis/turtle/crafting.lua @@ -1,4 +1,4 @@ -local Adapter = require('inventoryAdapter') +local Adapter = require('core.inventoryAdapter') local Craft = require('turtle.craft') local turtle = _G.turtle diff --git a/glasses/.package b/glasses/.package deleted file mode 100644 index beb116e..0000000 --- a/glasses/.package +++ /dev/null @@ -1,6 +0,0 @@ -{ - title = 'Plethora overlay glasses support', - repository = 'kepler155c/opus-apps/{{OPUS_BRANCH}}/glasses', - description = [[WIP]], - licence = 'MIT', -} diff --git a/glasses/apis/shatter.lua b/glasses/apis/shatter.lua deleted file mode 100644 index 6c58810..0000000 --- a/glasses/apis/shatter.lua +++ /dev/null @@ -1,481 +0,0 @@ -local os = _G.os -local parallel = _G.parallel -local peripheral = _G.peripheral - -local mods = peripheral.wrap("back") ---ensure glasses are present -if not mods.canvas then - error("Shatter requires Overlay Glasses", 2) -end - ---###TERMINAL API CODE###-- ---colors, for reference use -local colors = { - white = 0xf0f0f000, - orange = 0xf2b23300, - magenta = 0xe57fd800, - lightBlue = 0x99b2f200, - yellow = 0xdede6c00, - lime = 0x7fcc1900, - pink = 0xf2b2cc00, - gray = 0x4c4c4c00, - lightGray = 0x99999900, - cyan = 0x4c99b200, - purple = 0xb266e500, - blue = 0x3366cc00, - brown = 0x7f664c00, - green = 0x57a64e00, - red = 0xcc4c4c00, - black = 0x19191900 -} ---colors by number - --colors by number -local cbn = { - colors.white, - colors.orange, - colors.magenta, - colors.lightBlue, - colors.yellow, - colors.lime, - colors.pink, - colors.gray, - colors.lightGray, - colors.cyan, - colors.purple, - colors.blue, - colors.brown, - colors.green, - colors.red, - colors.black -} ---scaled character factor -local ox, oy = 6, 9 --- character size -local sx, sy = 6, 9 ---term bg and fg colors and alpha values -local bg, fg, bgbn, fgbn, fga, bga, fgabn, bgabn = colors.black, colors.white, 2^(#cbn-1), 2^0, 255, 255, 1, 1 ---cursor, pos, and blink -local csr, cx, cy, cb = nil, 1, 1, true -local textScale = 1 -local can = mods.canvas() - ---term size -local tx, ty = can.getSize() -tx, ty = math.floor(tx/ox), math.floor(ty/oy) ---screen rendering in a table -local screen = {} ---populate that table -local function tPop() - local x, y = can.getSize() - for i = 1, math.floor(x/ox) do - screen[i] = {} - for j = 1, math.floor(y/oy) do - screen[i][j] = {bg = {}, fg = {}} - end - end -end -tPop() ---write text in grid fashion and add to table -local function write(x, y, char, color) - x, y = math.floor(x), math.floor(y) - if x > 0 and y > 0 and x <= tx and y <= ty then - if not screen[x][y].fg.getColor then - screen[x][y].fg = can.addText({((x-1)*ox)+1, ((y-1)*oy)+1}, char, color, ox/sx) - else - screen[x][y].fg.setColor(color) - screen[x][y].fg.setText(char) - end - end -end ---draw pixel in grid fashion and add to table -local function draw(x, y, color) - x, y = math.floor(x), math.floor(y) - if x > 0 and y > 0 and x <= tx and y <= ty then - if not screen[x][y].bg.getColor then - screen[x][y].bg = can.addRectangle((x-1)*ox, (y-1)*oy, ox, oy, color) - else - screen[x][y].bg.setColor(color) - end - end -end ---get the data of a particular pixel -local function getData(pixel) - if pixel then - return {bgc = bit32.band(pixel.bg.getColor(), 2^32-1), -- Credit to MC:Anavrins for bit32 ingenuity - fgc = bit32.band(pixel.fg.getColor(), 2^32-1), - txt = pixel.fg.getText()} - end -end ---set the data of a particular pixel -local function setData(pixel, data) - if pixel and data then - if pixel.bg.getPosition then - local x, y = pixel.bg.getPosition() - draw(math.floor(x/ox)+1, math.floor(y/oy)+1, data.bgc) - write(math.floor(x/ox)+1, math.floor(y/oy)+1, data.txt, data.fgc) - end - end -end ---move a row to an entirely different line -local function move(line, to) - if line > 0 and line <= ty and to > 0 and to <= ty then - for i = 1, tx do - setData(screen[i][to], getData(screen[i][line])) - end - end -end ---populate term with default bg and fg colors. -local function repopulate() - local x, y = can.getSize() - for i = 1, math.floor(x/ox) do - for j = 1, math.floor(y/oy) do - draw(i, j, bg) - end - end - for i = 1, math.floor(x/ox) do - for j = 1, math.floor(y/oy) do - write(i, j, "", fg) - end - end -end - -local function resize(x, y) - ox, oy = math.ceil(textScale*sx), math.ceil(textScale*sy) - tx, ty = x, y - csr.remove() - local oldscr = screen -- replicate the screen - screen = {} -- remove it for repopulation of table w/ new scale - tPop() -- repopulate table - repopulate() -- add objects - csr = can.addText({cx*ox, (cy*oy)+1}, "", 0xffffffff, textScale) --recreate cursor - for i = 1, #oldscr do --rerender screen in new scale - for j = 1, #oldscr[i] do - if oldscr[i][j].bg.getColor ~= nil then - --if screen[i] and screen[i][j] then - -- setData(screen[i][j], getData(oldscr[i][j])) - --end - oldscr[i][j].bg.remove() - oldscr[i][j].fg.remove() - end - end - os.sleep(0) - end - os.queueEvent("monitor_resize", "glasses") -end - -local out = {} -out.write = function(str) ---term.write - str = tostring(str) - for i = 1, #str do - write(cx+i-1, cy, str:sub(i, i), fg+fga) - draw(cx+i-1, cy, bg+bga) - end - cx = cx+#str -end -out.blit = function(str, tfg, tbg) ---term.blit - if type(str) ~= "string" then - error("bad argument #1 (expected string, got "..type(str)..")", 2) - elseif type(tfg) ~= "string" then - error("bad argument #2 (expected string, got "..type(tfg)..")", 2) - elseif type(tbg) ~= "string" then - error("bad argument #3 (expected string, got "..type(tbg)..")", 2) - end - for i = 1, #str do - local nfg = cbn[tonumber(tfg:sub(i,i), 16)+1] - local nbg = cbn[tonumber(tbg:sub(i,i), 16)+1] - draw(cx+i-1, cy, nbg+bga) - write(cx+i-1, cy, str:sub(i,i), nfg+fga) - end - cx = cx+#str -end -out.clear = function() ---term.clear - for i = 1, tx do - for j = 1, ty do - write(i, j, "", fg+fga) - draw(i, j, bg+bga) - end - end -end -out.clearLine = function() ---term.clearLine - if cy > 0 and cy <= ty then - for i = 1, tx do - draw(i, cy, bg+bga) - write(i, cy, "", fg+fga) - end - end -end -out.getCursorPos = function() ---term.getCursorPos - return cx, cy -end -out.setCursorPos = function(x, y) ---term.setCursorPos - if type(x) ~= "number" then - error("bad argument #1 (expected number, got "..type(x)..")", 2) - elseif type(y) ~= "number" then - error("bad argument #2 (expected number, got "..type(y)..")", 2) - end - csr.setPosition((x-1)*ox, ((y-1)*oy)+1) - cx, cy = x, y -end - -out.setCursorBlink = function(b) - if type(b) ~= "boolean" then - error("bad argument #1 (expected boolean, got "..type(b)..")", 2) - end - cb = b -end - -out.isColor = function() - return true, "now with more alpha!" -end - -out.isColour = out.isColor - -out.getSize = function() - return tx, ty -end - -out.setSize = function(x, y) - resize(x, y) -end - -out.scroll = function(amount) - local _, tcy = out.getCursorPos() - if type(amount) ~= "number" then - error("bad argument #1 (expected number, got "..type(amount)..")", 2) - end - if amount > 0 then - for i = 1, tx do - move(i, i-amount) - end - elseif amount < 0 then - for i = tx, 1, -1 do - move(i, i-amount) - end - end - out.setCursorPos(1, tcy-amount-1) -end -local function invCol(col) ---A simple error message I am too lazy to type twice ---used in the following few functions - error("invalid color (got "..col..")", 2) -end -local function lb2(num) ---very basic implementation of base 2 logarithm - return math.log(num)/math.log(2) -end -out.setTextColor = function(col) ---term.setTextColor - if type(col) ~= "number" then - error("bad argument #1 (number expected, got "..type(col)..")", 2) - end - if lb2(col) > #cbn or lb2(col) ~= math.ceil(lb2(col)) then - invCol(col) - else - fg = cbn[lb2(col)+1] - fgbn = col - end -end -out.setBackgroundColor = function(col) ---term.setBackgroundColor - if type(col) ~= "number" then - error("bad argument #1 (expected number, got "..type(col)..")", 2) - end - if lb2(col) > #cbn or lb2(col) ~= math.ceil(lb2(col)) then - invCol(col) - else - bg = cbn[lb2(col)+1] - bgbn = col - end -end --- Text & BG Alpha innovated by MC:Ale32bit -out.setTextAlpha = function(val) --- set the alpha value of the text - if type(val) ~= "number" then - error("bad argument #1 (expected number, got "..type(val)..")", 2) - end - if val > 1 then val = 1 elseif val < 0 then val = 0 end - fga = math.floor(val*255) - fgabn = val -end -out.setBackgroundAlpha = function(val) --- set the alpha value of the background - if type(val) ~= "number" then - error("bad argument #1 (expected number, got "..type(val)..")", 2) - end - if val > 1 then val = 1 elseif val < 0 then val = 0 end - bga = math.floor(val*255) - bgabn = val -end -out.setTextHex = function(hex) --- set the hex color value of the text - if type(tonumber(hex, 16)) ~= "number" then - error("bad argument #1 (expected number, got "..type(hex)..")", 2) - end - fg = hex - fgbn = 1 -end -out.setBackgroundHex = function(hex) --- set the hex color value of the background - if type(tonumber(hex, 16)) ~= "number" then - error("bad argument #1 (expected number, got "..type(hex)..")", 2) - end - bg = hex - bgbn = 1 -end -out.getTextColor = function() ---term.getTextColor - return fgbn -end -out.getBackgroundColor = function() ---term.getBackgroundColor - return bgbn -end -out.getTextAlpha = function() --- get the alpha value of the text - return fgabn -end -out.getBackgroundAlpha = function() ---get the alpha value of the background - return bgabn -end -out.getTextHex = function() --- get the hex color value of the text - return fg -end -out.getBackgroundHex = function() --- get the hex color value of the background - return bg -end -local function torgba(hex) --- Converts a hex value into 3 seperate r, g, and b values --- Technically also gets a value, but it thrown out due to what this is needed for --- Credit to MC:valithor2 for this algorithm - local vals = {} - for i = 1, 4 do - vals[i] = hex%256 - hex = (hex-vals[i])/256 - end - return vals[4]/255, vals[3]/255, vals[2]/255 -end -local function refreshColor(oc, nc) --- refreshes terminal when palette values are manipulated - for i = 1, #screen do - for j = 1, #screen[i] do - local op, changed = getData(screen[i][j]), false - if op.bgc == oc then - op.bgc = nc - changed = true - end - if op.fgc == oc then - op.fgc = nc - changed = true - end - if changed then - setData(screen[i][j], op) - end - end - end -end -out.getPaletteColor = function(col) ---term.getPaletteColor - if type(col) ~= "number" then - error("bad argument #1 (number expected, got "..type(col)..")", 2) - end - if lb2(col) > #cbn or lb2(col) ~= math.ceil(lb2(col)) then - invCol(col) - end - return torgba(cbn[lb2(col)+1]) -end -out.setPaletteColor = function(cnum, r, g, b) ---term.setPaletteColor - local oc = cbn[lb2(cnum)+1] - if type(cnum) ~= "number" then - error("bad argument #1 (number expected, got "..type(cnum)..")", 2) - end - if type(r) ~= "number" then - error("bad argument #2 (number expected, got "..type(r)..")", 2) - end - if g then - if type(g) ~= "number" then - error("bad argument #3 (number expected, got "..type(g)..")", 2) - elseif type(b) ~= "number" then - error("bad argument #4 (number expected, got "..type(b)..")", 2) - end - if r > 1 then r = 1 elseif r < 0 then r = 0 end - if g > 1 then g = 1 elseif g < 0 then g = 0 end - if b > 1 then b = 1 elseif b < 0 then b = 0 end - cbn[lb2(cnum)+1] = (((r*255)*(16^6))+((g*255)*(16^4))+((b*255)*(16^2))) - else - cbn[lb2(cnum)+1] = (r*256) - end - if bgbn == cnum then - out.setBackgroundColor(bgbn) - end - if fgbn == cnum then - out.setTextColor(fgbn) - end - --refreshColor(oc, cbn[lb2(cnum)+1]) -- errors -end ---compat for all those UK'ers -out.setTextColour = out.setTextColor -out.setBackgroundColour = out.setBackgroundColor -out.setPaletteColour = out.setPaletteColor -out.getTextColour = out.getTextColor -out.getBackgroundColour = out.getBackgroundColor -out.getPaletteColour = out.getPaletteColor - -out.getTextScale = function() return textScale end -out.setTextScale = function(scale) - if type(scale) ~= "number" then - error("bad argument #1 (number expected, got "..type(scale)..")", 2) - end - if 0.4 >= scale or scale > 10 then - error("Expected number in range 0.5-10", 2) - end - if textScale ~= scale then - local factor = textScale/scale - textScale = scale - resize(tx*factor, ty*factor) - end -end - ---###TERMINAL CREATION CODE###-- -csr = can.addText({cx*ox, (cy*oy)+1}, "", 0xffffffff, ox/sx) -repopulate() -out.cursorRoutine = function() - parallel.waitForAll(function() - --cursor flicker - while true do - if not cb then - csr.setText(" ") - os.sleep() - else - csr.setText("_") - os.sleep(.4) - csr.setText(" ") - os.sleep(.4) - end - end - end, - function() - --glasses event handler conversion - while true do - local e = {os.pullEvent()} - if e[1]:find("glasses") then - local _, b = e[1]:find("glasses") - e[1] = "mouse"..e[1]:sub(b+1, -1) - if e[1] ~= "mouse_scroll" then - e[3], e[4] = math.ceil(e[3]/ox), math.ceil(e[4]/oy) - end - os.queueEvent(unpack(e)) - end - end - end) -end -return out diff --git a/glasses/glassesDriver.lua b/glasses/glassesDriver.lua deleted file mode 100644 index 9b17688..0000000 --- a/glasses/glassesDriver.lua +++ /dev/null @@ -1,31 +0,0 @@ -_G.requireInjector(_ENV) - -local device = _G.device -local kernel = _G.kernel -local os = _G.os - -local glasses = require('shatter') -glasses.name = 'glasses' -glasses.type = 'rayban' -glasses.size = 'face' -device.glasses = glasses - -glasses.setTextScale(.5) -glasses.setSize(100, 40) - -kernel.hook({ 'glasses_click', 'glasses_up', 'glasses_drag' }, function(event, eventData) - local sx, sy = 6, 9 - local scale = glasses.getTextScale() - local ox, oy = math.ceil(scale*sx), math.ceil(scale*sy) - - local lookup = { - glasses_click = 'monitor_touch', - glasses_up = 'monitor_up', - glasses_drag = 'monitor_drag', - } - local x, y = math.floor(eventData[2]/ox) + 1, math.floor(eventData[3]/oy) + 1 - os.queueEvent(lookup[event], 'glasses', x, y) - - glasses.setCursorPos(x, y) - glasses.write('X ' .. eventData[3]) -end) diff --git a/milo/Milo.lua b/milo/Milo.lua index 40cfe1c..6b7f1c9 100644 --- a/milo/Milo.lua +++ b/milo/Milo.lua @@ -1,22 +1,17 @@ local Event = require('event') local Milo = require('milo') local Sound = require('sound') -local Storage = require('storage') +local Storage = require('milo.storage') local UI = require('ui') local Util = require('util') local colors = _G.colors local device = _G.device local fs = _G.fs -local multishell = _ENV.multishell local os = _G.os local shell = _ENV.shell local turtle = _G.turtle -if multishell then - multishell.setTitle(multishell.getCurrent(), 'Milo') -end - local function Syntax(msg) print([[ Turtle must be provided with: diff --git a/milo/MiloRemote.lua b/milo/MiloRemote.lua index e0e8ed0..eba2665 100644 --- a/milo/MiloRemote.lua +++ b/milo/MiloRemote.lua @@ -1,6 +1,6 @@ local Config = require('config') local Event = require('event') -local fuzzy = require('fuzzyMatch') +local fuzzy = require('milo.fuzzyMatch') local Sound = require('sound') local Socket = require('socket') local sync = require('sync').sync diff --git a/milo/apis/craft2.lua b/milo/apis/craft2.lua index 6da9810..36008a3 100644 --- a/milo/apis/craft2.lua +++ b/milo/apis/craft2.lua @@ -1,4 +1,4 @@ -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Util = require('util') local fs = _G.fs diff --git a/milo/apis/milo.lua b/milo/apis/init.lua similarity index 98% rename from milo/apis/milo.lua rename to milo/apis/init.lua index 2b8a572..a24b6d2 100644 --- a/milo/apis/milo.lua +++ b/milo/apis/init.lua @@ -1,6 +1,6 @@ local Config = require('config') -local Craft = require('craft2') -local itemDB = require('itemDB') +local Craft = require('milo.craft2') +local itemDB = require('core.itemDB') local Sound = require('sound') local Util = require('util') @@ -147,7 +147,7 @@ function Milo:requestCrafting(item) end end --- queue up an action that relies on the crafting grid +-- queue an action that interacts with storage function Milo:queueRequest(request, callback) os.queueEvent('milo_queue') table.insert(self.context.queue, { diff --git a/milo/apis/massAdapter.lua b/milo/apis/massAdapter.lua index aff1b9d..dbea78f 100644 --- a/milo/apis/massAdapter.lua +++ b/milo/apis/massAdapter.lua @@ -1,6 +1,6 @@ local class = require('class') -local itemDB = require('itemDB') -local Mini = require('miniAdapter') +local itemDB = require('core.itemDB') +local Mini = require('milo.miniAdapter') local os = _G.os diff --git a/milo/apis/miniAdapter.lua b/milo/apis/miniAdapter.lua index 12a22e2..595fd38 100644 --- a/milo/apis/miniAdapter.lua +++ b/milo/apis/miniAdapter.lua @@ -1,5 +1,5 @@ local class = require('class') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Util = require('util') local device = _G.device diff --git a/milo/apis/storage.lua b/milo/apis/storage.lua index ef016fd..e091e21 100644 --- a/milo/apis/storage.lua +++ b/milo/apis/storage.lua @@ -1,8 +1,8 @@ -local Adapter = require('miniAdapter') +local Adapter = require('milo.miniAdapter') local class = require('class') local Config = require('config') local Event = require('event') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Util = require('util') local device = _G.device diff --git a/milo/core/listing.lua b/milo/core/listing.lua index 705dd07..2c15288 100644 --- a/milo/core/listing.lua +++ b/milo/core/listing.lua @@ -1,6 +1,6 @@ -local Craft = require('craft2') +local Craft = require('milo.craft2') local Event = require('event') -local fuzzy = require('fuzzyMatch') +local fuzzy = require('milo.fuzzyMatch') local Milo = require('milo') local Sound = require('sound') local UI = require('ui') diff --git a/milo/core/machines.lua b/milo/core/machines.lua index 5589c30..c93642f 100644 --- a/milo/core/machines.lua +++ b/milo/core/machines.lua @@ -1,5 +1,5 @@ local Event = require('event') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Milo = require('milo') local UI = require('ui') local Util = require('util') diff --git a/milo/plugins/craftTask.lua b/milo/plugins/craftTask.lua index 09dd3d2..6042b7e 100644 --- a/milo/plugins/craftTask.lua +++ b/milo/plugins/craftTask.lua @@ -1,4 +1,4 @@ -local Craft = require('craft2') +local Craft = require('milo.craft2') local Milo = require('milo') local Sound = require('sound') local Util = require('util') @@ -60,7 +60,7 @@ function craftTask:cycle() end end - elseif not context.controllerAdapter then + else item.status = '(no recipe)' item.statusCode = Craft.STATUS_ERROR item.crafted = 0 diff --git a/milo/plugins/demandCraft.lua b/milo/plugins/demandCraft.lua index c546f2d..5d33521 100644 --- a/milo/plugins/demandCraft.lua +++ b/milo/plugins/demandCraft.lua @@ -1,5 +1,5 @@ -local Craft = require('craft2') -local itemDB = require('itemDB') +local Craft = require('milo.craft2') +local itemDB = require('core.itemDB') local Milo = require('milo') local UI = require('ui') local Util = require('util') diff --git a/milo/plugins/exportTask.lua b/milo/plugins/exportTask.lua index 722110d..5114f30 100644 --- a/milo/plugins/exportTask.lua +++ b/milo/plugins/exportTask.lua @@ -1,4 +1,4 @@ -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Milo = require('milo') local ExportTask = { diff --git a/milo/plugins/exportView.lua b/milo/plugins/exportView.lua index 7b1aa53..1d50478 100644 --- a/milo/plugins/exportView.lua +++ b/milo/plugins/exportView.lua @@ -1,4 +1,4 @@ -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local UI = require('ui') local Util = require('util') diff --git a/milo/plugins/importTask.lua b/milo/plugins/importTask.lua index 92c171b..1ed4290 100644 --- a/milo/plugins/importTask.lua +++ b/milo/plugins/importTask.lua @@ -1,4 +1,4 @@ -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Milo = require('milo') local ImportTask = { diff --git a/milo/plugins/importView.lua b/milo/plugins/importView.lua index 671821b..0be12c2 100644 --- a/milo/plugins/importView.lua +++ b/milo/plugins/importView.lua @@ -1,4 +1,4 @@ -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local UI = require('ui') local Util = require('util') diff --git a/milo/plugins/item/machinesTab.lua b/milo/plugins/item/machinesTab.lua index fe940f3..72b4780 100644 --- a/milo/plugins/item/machinesTab.lua +++ b/milo/plugins/item/machinesTab.lua @@ -1,4 +1,4 @@ -local Craft = require('craft2') +local Craft = require('milo.craft2') local Milo = require('milo') local UI = require('ui') local Util = require('util') diff --git a/milo/plugins/item/manageTab.lua b/milo/plugins/item/manageTab.lua index 3851518..1a252a7 100644 --- a/milo/plugins/item/manageTab.lua +++ b/milo/plugins/item/manageTab.lua @@ -1,4 +1,4 @@ -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Milo = require('milo') local UI = require('ui') local Util = require('util') diff --git a/milo/plugins/item/recipeTab.lua b/milo/plugins/item/recipeTab.lua index 53b8caa..f87a2aa 100644 --- a/milo/plugins/item/recipeTab.lua +++ b/milo/plugins/item/recipeTab.lua @@ -1,5 +1,5 @@ -local Craft = require('craft2') -local itemDB = require('itemDB') +local Craft = require('milo.craft2') +local itemDB = require('core.itemDB') local Milo = require('milo') local UI = require('ui') diff --git a/milo/plugins/item/resetTab.lua b/milo/plugins/item/resetTab.lua index 5587950..034ea6f 100644 --- a/milo/plugins/item/resetTab.lua +++ b/milo/plugins/item/resetTab.lua @@ -1,4 +1,4 @@ -local Craft = require('craft2') +local Craft = require('milo.craft2') local Milo = require('milo') local UI = require('ui') local Util = require('util') diff --git a/milo/plugins/jobMonitor.lua b/milo/plugins/jobMonitor.lua index 7e13c4a..2036321 100644 --- a/milo/plugins/jobMonitor.lua +++ b/milo/plugins/jobMonitor.lua @@ -1,6 +1,6 @@ -local Craft = require('craft2') +local Craft = require('milo.craft2') local Event = require('event') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Milo = require('milo') local Sound = require('sound') local UI = require('ui') diff --git a/milo/plugins/limitTask.lua b/milo/plugins/limitTask.lua index a205810..5001602 100644 --- a/milo/plugins/limitTask.lua +++ b/milo/plugins/limitTask.lua @@ -1,4 +1,4 @@ -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Milo = require('milo') local LimitTask = { diff --git a/milo/plugins/machineLearn.lua b/milo/plugins/machineLearn.lua index 87063aa..b80d11d 100644 --- a/milo/plugins/machineLearn.lua +++ b/milo/plugins/machineLearn.lua @@ -1,4 +1,4 @@ -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Milo = require('milo') local UI = require('ui') local Util = require('util') diff --git a/milo/plugins/machineMover.lua b/milo/plugins/machineMover.lua index a2ac790..a993e2b 100644 --- a/milo/plugins/machineMover.lua +++ b/milo/plugins/machineMover.lua @@ -1,4 +1,4 @@ -local Craft = require('craft2') +local Craft = require('milo.craft2') local Milo = require('milo') local UI = require('ui') local Util = require('util') diff --git a/milo/plugins/potionImportTask.lua b/milo/plugins/potionImportTask.lua index 0f90dc0..cd9dc2d 100644 --- a/milo/plugins/potionImportTask.lua +++ b/milo/plugins/potionImportTask.lua @@ -1,5 +1,5 @@ -local Craft = require('craft2') -local itemDB = require('itemDB') +local Craft = require('milo.craft2') +local itemDB = require('core.itemDB') local Milo = require('milo') local BLAZE_POWDER = "minecraft:blaze_powder:0" diff --git a/milo/plugins/remote.lua b/milo/plugins/remote.lua index 9a2ddc0..c2da9f4 100644 --- a/milo/plugins/remote.lua +++ b/milo/plugins/remote.lua @@ -1,5 +1,5 @@ local Event = require('event') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Milo = require('milo') local Socket = require('socket') diff --git a/milo/plugins/remote/autostore.lua b/milo/plugins/remote/autostore.lua index 1dba7a3..4cc8d8b 100644 --- a/milo/plugins/remote/autostore.lua +++ b/milo/plugins/remote/autostore.lua @@ -1,4 +1,4 @@ -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Event = require('event') local UI = require('ui') local Util = require('util') diff --git a/milo/plugins/remote/depositAll.lua b/milo/plugins/remote/depositAll.lua index d2b9347..bd4d917 100644 --- a/milo/plugins/remote/depositAll.lua +++ b/milo/plugins/remote/depositAll.lua @@ -1,6 +1,6 @@ local Config = require('config') local UI = require('ui') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local args = { ... } local colors = _G.colors diff --git a/milo/plugins/remoteCraft.lua b/milo/plugins/remoteCraft.lua index f79a0d7..7a6a7d9 100644 --- a/milo/plugins/remoteCraft.lua +++ b/milo/plugins/remoteCraft.lua @@ -1,4 +1,4 @@ -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Milo = require('milo') local context = Milo:getContext() diff --git a/milo/plugins/replenishTask.lua b/milo/plugins/replenishTask.lua index 0c36c6c..b9c55f3 100644 --- a/milo/plugins/replenishTask.lua +++ b/milo/plugins/replenishTask.lua @@ -1,4 +1,4 @@ -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Milo = require('milo') local ReplenishTask = { diff --git a/milo/plugins/storageView.lua b/milo/plugins/storageView.lua index bbb7c9a..64057f0 100644 --- a/milo/plugins/storageView.lua +++ b/milo/plugins/storageView.lua @@ -1,4 +1,4 @@ -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local UI = require('ui') local colors = _G.colors diff --git a/milo/plugins/turtleLearn.lua b/milo/plugins/turtleLearn.lua index 36a4063..7c7ea19 100644 --- a/milo/plugins/turtleLearn.lua +++ b/milo/plugins/turtleLearn.lua @@ -1,4 +1,4 @@ -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Milo = require('milo') local UI = require('ui') diff --git a/miners/multiMiner.lua b/miners/multiMiner.lua index 59beda6..7a4838e 100644 --- a/miners/multiMiner.lua +++ b/miners/multiMiner.lua @@ -1,6 +1,6 @@ local Event = require('event') local GPS = require('gps') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Point = require('point') local Socket = require('socket') local Util = require('util') diff --git a/miners/scanningMiner.lua b/miners/scanningMiner.lua index 6092816..83c30b0 100644 --- a/miners/scanningMiner.lua +++ b/miners/scanningMiner.lua @@ -602,7 +602,7 @@ Event.addRoutine(function() local distance = Point.distance( { x = turtle.point.x, y = 0, z = turtle.point.z }, - { x = mining.x, y = 0, z = mining.z } + HOME_PT ) local maxDistance = Point.distance( HOME_PT, diff --git a/neural/Scanner.lua b/neural/Scanner.lua index eff9786..9b5ae0c 100644 --- a/neural/Scanner.lua +++ b/neural/Scanner.lua @@ -1,5 +1,5 @@ local Event = require('event') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Project = require('neural.project') local UI = require('ui') local Util = require('util') diff --git a/storage/Crafter.lua b/storage/Crafter.lua index ed9c0e0..9e6eeaf 100644 --- a/storage/Crafter.lua +++ b/storage/Crafter.lua @@ -24,10 +24,10 @@ MMMMMM ]]-- -local InventoryAdapter = require('inventoryAdapter') +local InventoryAdapter = require('core.inventoryAdapter') local Config = require('config') local Event = require('event') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Peripheral = require('peripheral') local UI = require('ui') local Terminal = require('terminal') diff --git a/core/apis/controllerAdapter.lua b/storage/apis/controllerAdapter.lua similarity index 83% rename from core/apis/controllerAdapter.lua rename to storage/apis/controllerAdapter.lua index 39d7683..73bcb97 100644 --- a/core/apis/controllerAdapter.lua +++ b/storage/apis/controllerAdapter.lua @@ -2,8 +2,8 @@ local Adapter = { } function Adapter.wrap(args) local adapters = { - 'refinedAdapter', - 'meAdapter', + 'core.refinedAdapter', + 'core.meAdapter', } for _,adapterType in ipairs(adapters) do diff --git a/storage/chestManager.lua b/storage/chestManager.lua index 62b76eb..aca15ca 100644 --- a/storage/chestManager.lua +++ b/storage/chestManager.lua @@ -84,14 +84,14 @@ local Ansi = require('ansi') local Config = require('config') local Craft = require('turtle.craft') local Event = require('event') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Peripheral = require('peripheral') local Terminal = require('terminal') local UI = require('ui') local Util = require('util') local ControllerAdapter = require('controllerAdapter') -local InventoryAdapter = require('inventoryAdapter') +local InventoryAdapter = require('core.inventoryAdapter') local colors = _G.colors local device = _G.device diff --git a/storage/levelEmitter.lua b/storage/levelEmitter.lua index 292123b..b086b8a 100644 --- a/storage/levelEmitter.lua +++ b/storage/levelEmitter.lua @@ -1,7 +1,7 @@ -local InventoryAdapter = require('inventoryAdapter') +local InventoryAdapter = require('core.inventoryAdapter') local Config = require('config') local Event = require('event') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local UI = require('ui') local Util = require('util') diff --git a/storage/storageActivity.lua b/storage/storageActivity.lua index d9a2ade..7e7e0d0 100644 --- a/storage/storageActivity.lua +++ b/storage/storageActivity.lua @@ -1,4 +1,4 @@ -local InventoryAdapter = require('inventoryAdapter') +local InventoryAdapter = require('core.inventoryAdapter') local Event = require('event') local UI = require('ui') local Util = require('util') diff --git a/swshop/shopView-example.lua b/swshop/shopView-example.lua index 7d15f03..5971284 100644 --- a/swshop/shopView-example.lua +++ b/swshop/shopView-example.lua @@ -1,6 +1,6 @@ local Config = require('config') local Event = require('event') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Milo = require('milo') local multishell = _ENV.multishell diff --git a/swshop/shopView.lua b/swshop/shopView.lua index 33760ce..c4a1284 100644 --- a/swshop/shopView.lua +++ b/swshop/shopView.lua @@ -1,6 +1,6 @@ local Config = require('config') local Event = require('event') -local itemDB = require('itemDB') +local itemDB = require('core.itemDB') local Milo = require('milo') local Sound = require('sound') local UI = require('ui')