50 lines
1.9 KiB
Lua
50 lines
1.9 KiB
Lua
--Basalt configurated installer
|
|
local filePath = "basalt.lua" --here you can change the file path default: basalt
|
|
if not(fs.exists(filePath))then
|
|
shell.run("pastebin run ESs1mg7P packed true "..filePath:gsub(".lua", "")) -- this is an alternative to the wget command
|
|
end
|
|
|
|
-- toastonrye's example: Redstone Analog Output
|
|
local basalt = require(filePath:gsub(".lua", "")) -- here you can change the variablename in any variablename you want default: basalt
|
|
local w, h = term.getSize() -- dimensions to use when drawing the sub frame
|
|
|
|
local main = basalt.createFrame()
|
|
:show()
|
|
:setBackground(colours.blue) -- using colours to easily determine what frame I'm in
|
|
|
|
local sub = main:addFrame()
|
|
:setPosition(2,2)
|
|
:setSize(w-2,h-2)
|
|
:setBackground(colours.lightBlue)
|
|
|
|
local rFrame = sub:addFrame("redstoneFrame")
|
|
:setPosition(1,1)
|
|
:setSize(25,5)
|
|
:setMoveable(true) -- the next release of Basalt will fix spelling to :setMovable
|
|
:setBackground(colours.red)
|
|
|
|
-- Redstone Analog Output
|
|
local redstoneAnalog = rFrame:addLabel() -- label that displays the value of the slider & Redstone output
|
|
:setPosition(18,3):setText("1")
|
|
|
|
redstone.setAnalogOutput("left", 1) -- initialize the redstone output to 1, to match the above label
|
|
|
|
rFrame:addLabel() -- draw a label on the frame
|
|
:setText("Redstone Analog Output")
|
|
:setPosition(1,2)
|
|
|
|
rFrame:addSlider()
|
|
:setPosition(1,3)
|
|
:onChange(function(self) -- when a player interacts with the slider, update the variable redstoneAnalog
|
|
redstoneAnalog:setText(self:getValue())
|
|
end)
|
|
:setMaxValue(15) -- max value of the slider, default 8. Redstone has 15 levels (16 including 0)
|
|
:setSize(15,1) -- draw the slider to this size, without this redstoneAnalog value can have decimals
|
|
|
|
redstoneAnalog:onChange(function(self) -- when the slider value changes, change the Redstone output to match
|
|
redstone.setAnalogOutput("left", tonumber(self:getValue()))
|
|
basalt.debug(self:getValue())
|
|
end)
|
|
|
|
basalt.autoUpdate()
|