diff --git a/neural/apis/glasses.lua b/neural/apis/glasses.lua index be5fb86..1fb398c 100644 --- a/neural/apis/glasses.lua +++ b/neural/apis/glasses.lua @@ -8,26 +8,12 @@ local Terminal = require('opus.terminal') local Util = require('opus.util') -local device = _G.device +local device = _G.device local Glasses = { } -function Glasses.create(args) - local opts = { - x = 1, y = 20, - width = 51, height = 19, - scale = .5, - name = 'glasses', - opacity = 0xff, - } - Util.merge(opts, args) - - local xs, ys = 6 * opts.scale, 9 * opts.scale - local glasses = device['plethora:glasses'] - local canvas = glasses.canvas() - local _, cy = 1, 1 - local lines = { } - local map = { +function Glasses.getPalette(opacity) + local pal = { ['0'] = 0xF0F0F000, ['1'] = 0xF2B23300, ['2'] = 0xE57FD800, @@ -45,10 +31,30 @@ function Glasses.create(args) ['e'] = 0xCC4C4C00, ['f'] = 0x19191900, } - - for k,v in pairs(map) do - map[k] = v + opts.opacity + if opacity then + for k,v in pairs(pal) do + pal[k] = v + opacity + end end + return pal +end + +function Glasses.create(args) + local opts = { + x = 1, y = 20, + width = 51, height = 19, + scale = .5, + name = 'glasses', + opacity = 0xff, + } + Util.merge(opts, args) + + local xs, ys = 6 * opts.scale, 9 * opts.scale + local glasses = device['plethora:glasses'] + local canvas = glasses.canvas() + local _, cy = 1, 1 + local lines = { } + local pal = Glasses.getPalette(opts.opacity) local pos = { x = opts.x * xs, y = opts.y * ys } @@ -77,8 +83,8 @@ function Glasses.create(args) blit = function(text, fg, bg) for x = 1, #text do local ln = lines[cy] - ln.bg[x].setColor(map[bg:sub(x, x)]) - ln.text[x].setColor(map[fg:sub(x, x)]) + ln.bg[x].setColor(pal[bg:sub(x, x)]) + ln.text[x].setColor(pal[fg:sub(x, x)]) ln.text[x].setText(text:sub(x, x)) end end, diff --git a/neural/autorun/splash.lua b/neural/autorun/splash.lua index b74f722..ac92708 100644 --- a/neural/autorun/splash.lua +++ b/neural/autorun/splash.lua @@ -1,7 +1,10 @@ +local device = _G.device +local kernel = _G.kernel + local opus = { 'fffff00', 'ffff07000', - 'ff00770b00 4444', + 'ff00770b00f4444', 'ff077777444444444', 'f07777744444444444', 'f0000777444444444', @@ -12,29 +15,14 @@ local opus = { '077000000000', } -local hex = { - ['0'] = 0xF0F0F04F, - ['1'] = 0xF2B2334F, - ['2'] = 0xE57FD84F, - ['3'] = 0x99B2F24F, - ['4'] = 0xDEDE6C4F, - ['5'] = 0x7FCC194F, - ['6'] = 0xF2B2CC4F, - ['7'] = 0x4C4C4C4F, - ['8'] = 0x9999994F, - ['9'] = 0x4C99B24F, - ['a'] = 0xB266E54F, - ['b'] = 0x3366CC4F, - ['c'] = 0x7F664C4F, - ['d'] = 0x57A64E4F, - ['e'] = 0xCC4C4C4F, --- ['f'] = 0x191919FF, -- transparent -} - local function update() - local canvas = device['plethora:glasses'] and device['plethora:glasses'].canvas() + local canvas = device['plethora:glasses'] and device['plethora:glasses'].canvas() if canvas then - local Tween = require('opus.ui.tween') + local Tween = require('opus.ui.tween') + local Glasses = require('neural.glasses') + + local pal = Glasses.getPalette(0x4f) + pal['f'] = nil -- transparent canvas.clear() local w, h = canvas.getSize() @@ -42,7 +30,7 @@ local function update() local group = canvas.addGroup(pos) local function drawLine(k, line) for i = 1, #line do - local pix = hex[line:sub(i, i)] + local pix = pal[line:sub(i, i)] if pix then group.addRectangle(i*1.5, k*2.25, 1.5, 2.25, pix) end @@ -63,8 +51,6 @@ local function update() end kernel.run({ - title = 'opus', - env = _ENV, hidden = true, fn = update, }) diff --git a/neural/etc/apps.db b/neural/etc/apps.db index 31c01d7..f61f97a 100644 --- a/neural/etc/apps.db +++ b/neural/etc/apps.db @@ -3,12 +3,14 @@ title = "ElytraFly", category = "Neural", run = "elytraFly.lua", + iconExt = "\30\55\31\50\131\30\56\31\55\135\30\55\31\56\148\30\50\31\55\140\30\56\151\139\30\55\31\50\131\10\30\55\31\56\138\30\56\128\30\55\149\30\50\31\50\128\30\56\31\55\149\31\56\128\30\55\133\10\30\50\31\55\138\30\55\31\56\139\30\50\31\55\159\31\50\128\30\55\144\31\56\135\30\50\31\55\133", requires = "neuralInterface", }, [ "0d57bd5497ca26a92593094bf3e21c5097192fa3" ] = { title = "Fisher", category = "Neural", run = "fisher.lua", + iconExt = "\30\50\31\50\128\128\128\30\99\135\30\55\31\99\135\30\50\31\50\128\10\30\50\31\50\128\30\99\159\30\50\31\99\158\129\30\55\31\50\149\30\50\128\10\30\99\31\50\135\30\50\31\99\135\31\50\128\31\48\140\31\55\129\31\50\128", requires = "neuralInterface", }, [ "9101fc1744ab274aaa0b54ee22b14ca53ee6e236" ] = { @@ -27,12 +29,22 @@ title = "Ores", category = "Neural", run = "ores.lua", + iconExt = "\30\50\31\50\128\30\48\135\30\51\31\48\131\145\30\50\31\51\144\31\50\128\10\30\48\31\50\149\31\51\151\30\51\31\48\131\31\57\138\30\57\31\51\147\30\50\31\50\128\10\30\50\31\50\128\31\51\139\30\57\140\134\30\50\31\57\129\31\50\128", requires = "neuralInterface", }, [ "7f2465ac7cefab2766e6ee0714647089df9364b0ff09858c84b21b8a436a845d" ] = { title = "Equipment", category = "Neural", run = "Equipment", + iconExt = "\30\55\31\50\151\30\48\31\55\135\30\51\131\131\30\57\131\30\55\31\57\144\30\50\31\50\128\10\30\55\31\50\149\31\51\151\30\50\31\55\135\131\30\55\31\57\130\149\30\50\31\50\128\10\30\50\31\55\130\131\31\50\128\128\31\55\130\131\31\50\128", requires = "neuralInterface", - } + }, + [ "b492db2750ce6e21640a530c75a39ee7a6ac411e5962b6d96d27572784cd8ab4" ] = { + title = "Nwm", + category = "Neural", + iconExt = "\30\50\31\50\128\31\99\140\144\31\50\128\31\99\136\30\99\31\50\155\30\50\128\128\ +\30\50\31\50\128\128\31\99\137\30\102\31\102\128\30\50\132\30\102\31\50\145\30\50\31\102\157\31\50\128\ +\30\50\31\50\128\128\128\128\128\128\128\128", + run = "nwm.lua", + }, } diff --git a/neural/mobFollow.lua b/neural/mobFollow.lua index 1ef1601..b14818a 100644 --- a/neural/mobFollow.lua +++ b/neural/mobFollow.lua @@ -3,6 +3,11 @@ local Util = require('opus.util') local Point = require('opus.point') local Proxy = require('core.proxy') +--[[ + Have a mob follow you. The mob's neural must have the + neural package installed. +]] + local os = _G.os local args = { ... } diff --git a/neural/neuralLook.lua b/neural/neuralLook.lua index 9a35c78..c2dbbf5 100644 --- a/neural/neuralLook.lua +++ b/neural/neuralLook.lua @@ -2,6 +2,11 @@ local Array = require('opus.array') local neural = require('neural.interface') local Point = require('opus.point') +--[[ + Animate an armor stand or mob. Will just look + at anything that moves. +]] + local os = _G.os neural.assertModules({ diff --git a/neural/neuralRecorder.lua b/neural/neuralRecorder.lua index b1484f6..9966706 100644 --- a/neural/neuralRecorder.lua +++ b/neural/neuralRecorder.lua @@ -2,6 +2,10 @@ local GPS = require('opus.gps') local Point = require('opus.point') local Util = require('opus.util') +--[[ + Record your movements for playback on another mob. +]] + local os = _G.os local parallel = _G.parallel local peripheral = _G.peripheral diff --git a/neural/nwm.lua b/neural/nwm.lua index 91d2fe5..b1d230e 100644 --- a/neural/nwm.lua +++ b/neural/nwm.lua @@ -87,9 +87,6 @@ local function hook(e, eventData) return true end -local hookEvents = Util.keys(events) -kernel.hook(hookEvents, hook) - local function run(args) local window = Glasses.create(args) @@ -190,6 +187,9 @@ UI:setPage(UI.Page { end, }) +local hookEvents = Util.keys(events) +kernel.hook(hookEvents, hook) + for _,v in pairs(config.session) do run(v) end