View difference between Paste ID: NX2Jqvut and HxidtGxr
SHOW: | | - or go back to the newest paste.
1
--Basalt configurated installer
2
local filePath = "basalt.lua" --here you can change the file path default: basalt
3
if not(fs.exists(filePath))then
4
    shell.run("pastebin run ESs1mg7P packed true "..filePath:gsub(".lua", "")) -- this is an alternative to the wget command
5
end
6
7
-- toastonrye's example: Redstone Analog Output
8
local basalt = require(filePath:gsub(".lua", "")) -- here you can change the variablename in any variablename you want default: basalt
9-
local w, h = term.getSize()
9+
local w, h = term.getSize() -- dimensions to use when drawing the sub frame
10
11
local main = basalt.createFrame()
12
 :show()
13-
 :setBackground(colours.blue)
13+
 :setBackground(colours.blue) -- using colours to easily determine what frame I'm in
14
15
local sub = main:addFrame()
16
 :setPosition(2,2)
17
 :setSize(w-2,h-2)
18
 :setBackground(colours.lightBlue)
19
 
20
local rFrame = sub:addFrame("redstoneFrame")
21
 :setPosition(1,1)
22
 :setSize(25,5)
23-
 :setMoveable(true)
23+
 :setMoveable(true) -- the next release of Basalt will fix spelling to :setMovable
24
 :setBackground(colours.red)
25
26
-- Redstone Analog Output
27-
local redstoneAnalog = rFrame:addLabel()
27+
local redstoneAnalog = rFrame:addLabel() -- label that displays the value of the slider & Redstone output
28
 :setPosition(18,3):setText("1")
29
30-
redstone.setAnalogOutput("left", 1)
30+
redstone.setAnalogOutput("left", 1) -- initialize the redstone output to 1, to match the above label
31
32-
rFrame:addLabel()
32+
rFrame:addLabel() -- draw a label on the frame
33
 :setText("Redstone Analog Output")
34
 :setPosition(1,2)
35
 
36
rFrame:addSlider()
37
 :setPosition(1,3)
38-
 :onChange(function(self)
38+
 :onChange(function(self) -- when a player interacts with the slider, update the variable redstoneAnalog
39
  redstoneAnalog:setText(self:getValue())
40
 end)
41-
 :setMaxValue(15)
41+
 :setMaxValue(15) -- max value of the slider, default 8. Redstone has 15 levels (16 including 0)
42-
 :setSize(15,1)
42+
 :setSize(15,1) -- draw the slider to this size, without this redstoneAnalog value can have decimals
43
44-
redstoneAnalog:onChange(function(self)
44+
redstoneAnalog:onChange(function(self) -- when the slider value changes, change the Redstone output to match
45
 redstone.setAnalogOutput("left", tonumber(self:getValue()))
46
 basalt.debug(self:getValue())
47
end)
48
49
basalt.autoUpdate()