1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-09-30 19:22:14 +00:00
This commit is contained in:
birdlover32767 2025-09-24 17:44:04 +03:00 committed by GitHub
commit 07a38ac549
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -46,33 +46,54 @@ local function get_formspec(dialogdata)
end
local fields = {}
local function add_field(x, name, label, value)
local function add_field(x, name, label, value, tooltips)
fields[#fields + 1] = ("field[%f,%f;3.3,1;%s;%s;%s]"):format(
x, height, name, label, core.formspec_escape(value or "")
)
if tooltips then
fields[#fields + 1] = ("tooltip[%s;%s]"):format(name, table.concat(tooltips, "\n"))
end
end
-- First row
height = height + 0.3
add_field(0.3, "te_offset", fgettext("Offset"), t[1])
add_field(3.6, "te_scale", fgettext("Scale"), t[2])
add_field(6.9, "te_seed", fgettext("Seed"), t[6])
add_field(0.3, "te_offset", fgettext("Offset"), t[1], {fgettext("This value offsets the final noise.")})
add_field(3.6, "te_scale", fgettext("Scale"), t[2], {
fgettext("This value is multiplied with the noise before the offset is added.")})
add_field(6.9, "te_seed", fgettext("Seed"), t[6], {
fgettext("This value acts as a random seed for the noise. The same seed results in the same noise.")})
height = height + 1.1
-- Second row
add_field(0.3, "te_spreadx", fgettext("X spread"), t[3])
add_field(0.3, "te_spreadx", fgettext("X spread"), t[3], {
fgettext("This value scales the noise in the X axis by this value."),
fgettext("This is also the scale of the largest structures in the X direction of the noise.")})
if dimension == 3 then
add_field(3.6, "te_spready", fgettext("Y spread"), t[4])
add_field(3.6, "te_spready", fgettext("Y spread"), t[4], {
fgettext("This value scales the noise in the Y axis by this value."),
fgettext("This is also the scale of the largest structures in the Y direction of the noise.")})
else
fields[#fields + 1] = "label[4," .. height - 0.2 .. ";" ..
fgettext("2D Noise") .. "]"
end
add_field(6.9, "te_spreadz", fgettext("Z spread"), t[5])
add_field(6.9, "te_spreadz", fgettext("Z spread"), t[5], {
fgettext("This value scales the noise in the Z axis by this value."),
fgettext("This is also the scale of the largest structures in the Z direction of the noise.")})
height = height + 1.1
-- Third row
add_field(0.3, "te_octaves", fgettext("Octaves"), t[7])
add_field(3.6, "te_persist", fgettext("Persistence"), t[8])
add_field(6.9, "te_lacun", fgettext("Lacunarity"), t[9])
add_field(0.3, "te_octaves", fgettext("Octaves"), t[7], {
fgettext("This value controls how many octaves the noise will have."), "",
fgettext("An octave is a simple noise generator."),
fgettext("Its scale and amplitude will be multiplied based on the Persistence and Lacunarity settings."),
fgettext("Finally, all of the octaves will be added to generate this noise.")})
add_field(3.6, "te_persist", fgettext("Persistence"), t[8], {
fgettext("This value multiplies every octave's amplitude by persistence^i where i is the place of the octave."),
fgettext("Example: If the persistence was 0.5, the 1st octave would be amplified by 1,"),
fgettext("the 2nd would be by 0.5, the 3rd would be by 0.25, etc.")})
add_field(6.9, "te_lacun", fgettext("Lacunarity"), t[9], {
fgettext("This value multiplies every octave's scale by lacunarity^i where i is the place of the octave."),
fgettext("Example: If the lacunarity was 3, the 1st octave would be scaled by 1,"),
fgettext("the 2nd would be by 3, the 3rd would be by 9, etc.")})
height = height + 1.1
@ -95,6 +116,9 @@ local function get_formspec(dialogdata)
for noise settings in the settings menu. ]]
.. fgettext("defaults") .. ";" -- defaults
.. tostring(flags["defaults"] == true) .. "]" -- to get false if nil
.. "tooltip[cb_defaults;" .. fgettext("This flag overrides the eased flag based on the noise map type.")
.. "\n" .. fgettext("2D noise will make eased on.")
.. "\n" .. fgettext("3D noise will make eased off.") .. "]"
.. "checkbox[5," .. height - 0.6 .. ";cb_eased;"
--[[~ "eased" is a noise parameter flag.
It is used to make the map smoother and
@ -102,6 +126,10 @@ local function get_formspec(dialogdata)
the settings menu. ]]
.. fgettext("eased") .. ";" -- eased
.. tostring(flags["eased"] == true) .. "]"
.. "tooltip[cb_eased;"
.. fgettext("This flag maps noise gradient values onto a quintic S-curve before performing interpolation.")
.. "\n" .. fgettext("This results in smooth noise instead of gridlike noise.") .. "\n"
.. fgettext("Making 3D noise eased is not recommended because it significantly increases the load.") .. "]"
.. "checkbox[5," .. height - 0.15 .. ";cb_absvalue;"
--[[~ "absvalue" is a noise parameter flag.
It is short for "absolute value".
@ -109,6 +137,9 @@ local function get_formspec(dialogdata)
the settings menu. ]]
.. fgettext("absvalue") .. ";" -- absvalue
.. tostring(flags["absvalue"] == true) .. "]"
.. "tooltip[cb_absvalue;"
.. fgettext("This flag takes the absolute value of each octave while adding them together.")
.. "\n" .. fgettext("This results in spiky noise.") .. "]"
height = height + 1