From 7ed9f76f1501ed2dbe57ec7a247973b8e229c8c2 Mon Sep 17 00:00:00 2001 From: MCorange Date: Sun, 25 Aug 2024 23:47:51 +0300 Subject: [PATCH] :3 --- keypadOS.lua | 11 +++++++---- src/main.lua | 25 +++++++++++++++++++++++-- src/ui.lua | 3 +++ 3 files changed, 33 insertions(+), 6 deletions(-) diff --git a/keypadOS.lua b/keypadOS.lua index 62edac0..cacb2d3 100644 --- a/keypadOS.lua +++ b/keypadOS.lua @@ -7,7 +7,7 @@ local require = function(path) return __DEFAULT_IMPORT(path) end end -local __UPDATE_HASH = "c4faab9a8d910c7a5777c0d0c8190204a9ae1f53" +local __UPDATE_HASH = "18ceba38b88d8a5429e953d23257a26a01c642cf" rawset(__BUNDLER_FILES, "updater.lua", function () local utils = require("utils.lua") local config = require("config.lua") @@ -109,6 +109,7 @@ rawset(__BUNDLER_FILES, "ui.lua", function () local basalt = require("basalt") local config = require("config.lua") local updater = require("updater.lua") + local blibs = require("main").blibs; local monitor = utils.Cast(peripheral.find("monitor")) local drive = utils.Cast(peripheral.find("drive")) local mod = {} @@ -128,6 +129,7 @@ rawset(__BUNDLER_FILES, "ui.lua", function () end basalt.debug("test") if ui.pin == config.correctPin then + blibs.notifier.notify("5", "Unlocked door :3 love u"); ui.enterButton:setBackground(colors.green) ui.pinLabel:setText("Welcome") redstone.setOutput("front", true) @@ -230,15 +232,16 @@ end) rawset(__BUNDLER_FILES, "main.lua", function () local utils = require("utils.lua") local updater = require("updater.lua") - local main = {} + local mod = {} KEYPADOS_VERSION = "4.0" - function main.Main() + function mod.main(blibs) + mod.blibs = blibs; utils.MonReset(0.5) updater.GetBasalt() utils.MonPrint("keypadOS v" .. KEYPADOS_VERSION) utils.MonReset(1) require("ui.lua").InitUi() end - return main + return mod; end) return require("main.lua").Main diff --git a/src/main.lua b/src/main.lua index a146aec..86c6712 100644 --- a/src/main.lua +++ b/src/main.lua @@ -1,11 +1,32 @@ --- keycardOS "bootloader", has no access to basalt --- intended for checking for updates, and automatically updating basalt if it is missing local utils = require("utils.lua") local updater = require("updater.lua") + local mod = {} + KEYPADOS_VERSION = "4.0" --- @class BootloaderLibs +--- @field log Logger +--- @field updater Updater +--- @field notifier Notifier +--- @field json JsonParser + + +--- @class Logger +--- @field error fun(...) +--- @field warn fun(...) +--- @field info fun(...) +--- @field debug fun(...) + +--- @class Updater +--- @field addEntry fun(path: string, branch: string, url: string) + +--- @class JsonParser +--- @field decode fun(s: string): table +--- @field encode fun(s: table): string + +--- @class Notifier +--- @field notify fun(priority: "1"|"2"|"3"|"4"|"5", body: string) ---@param blibs BootloaderLibs function mod.main(blibs) diff --git a/src/ui.lua b/src/ui.lua index e9488db..0274f5a 100644 --- a/src/ui.lua +++ b/src/ui.lua @@ -2,6 +2,8 @@ local utils = require("utils.lua") local basalt = require("basalt") local config = require("config.lua") local updater = require("updater.lua") +local blibs = require("main").blibs; + --- @type Monitor local monitor = utils.Cast(peripheral.find("monitor")) --- @type drive @@ -38,6 +40,7 @@ local function unlockDoor(ui) basalt.debug("test") if ui.pin == config.correctPin then + blibs.notifier.notify("5", "Unlocked door :3 love u"); ui.enterButton:setBackground(colors.green) ui.pinLabel:setText("Welcome") redstone.setOutput("front", true)