mirror of
https://github.com/minetest-mods/digtron.git
synced 2025-01-03 09:37:27 +01:00
builder formspec work
This commit is contained in:
parent
c6aa2840d3
commit
b6ccd1c714
29
init.lua
29
init.lua
@ -97,12 +97,41 @@ minetest.register_lbm({
|
||||
end
|
||||
})
|
||||
|
||||
-- internationalization boilerplate
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
minetest.register_lbm({
|
||||
name = "digtron:builder_extrusion_upgrade",
|
||||
nodenames = {"digtron:builder"},
|
||||
action = function(pos, node)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_int("extrusion", 1)
|
||||
meta:set_string("formspec",
|
||||
"size[8,5.2]" ..
|
||||
default.gui_bg ..
|
||||
default.gui_bg_img ..
|
||||
default.gui_slots ..
|
||||
"list[current_name;main;0.5,0;1,1;]" ..
|
||||
"label[0.5,0.8;" .. S("Block to build") .. "]" ..
|
||||
"field[2.3,0.8;1,0.1;extrusion;" .. S("Extrusion") .. ";${extrusion}]" ..
|
||||
"tooltip[extrusion;" .. S("Builder will extrude this many blocks in the direction it is facing.\nCan be set from 1 to @1.\nNote that Digtron won't build into unloaded map regions.", digtron.maximum_extrusion) .. "]" ..
|
||||
"field[3.3,0.8;1,0.1;period;" .. S("Periodicity") .. ";${period}]" ..
|
||||
"tooltip[period;" .. S("Builder will build once every n steps.\nThese steps are globally aligned, so all builders with the\nsame period and offset will build on the same location.") .. "]" ..
|
||||
"field[4.3,0.8;1,0.1;offset;" .. S("Offset") .. ";${offset}]" ..
|
||||
"tooltip[offset;" .. S("Offsets the start of periodicity counting by this amount.\nFor example, a builder with period 2 and offset 0 builds\nevery even-numbered block and one with period 2 and\noffset 1 builds every odd-numbered block.") .. "]" ..
|
||||
"button_exit[5.0,0.5;1,0.1;set;" .. S("Save &\nShow") .. "]" ..
|
||||
"tooltip[set;" .. S("Saves settings") .. "]" ..
|
||||
"field[6.3,0.8;1,0.1;build_facing;" .. S("Facing") .. ";${build_facing}]" ..
|
||||
"tooltip[build_facing;" .. S("Value from 0-23. Not all block types make use of this.\nUse the 'Read & Save' button to copy the facing of the block\ncurrently in the builder output location.") .. "]" ..
|
||||
"button_exit[7.0,0.5;1,0.1;read;" .. S("Read &\nSave") .. "]" ..
|
||||
"tooltip[read;" .. S("Reads the facing of the block currently in the build location,\nthen saves all settings.") .. "]" ..
|
||||
"list[current_player;main;0,1.3;8,1;]" ..
|
||||
default.get_hotbar_bg(0,1.3) ..
|
||||
"list[current_player;main;0,2.5;8,3;8]" ..
|
||||
"listring[current_player;main]" ..
|
||||
"listring[current_name;main]"
|
||||
)
|
||||
end
|
||||
})
|
||||
|
||||
|
@ -9,19 +9,19 @@ local builder_formspec =
|
||||
default.gui_bg ..
|
||||
default.gui_bg_img ..
|
||||
default.gui_slots ..
|
||||
"list[current_name;main;0,0;1,1;]" ..
|
||||
"label[0,0.8;" .. S("Block to build") .. "]" ..
|
||||
"field[1.3,0.8;1,0.1;extrusion;" .. S("Extrusion") .. ";${extrusion}]" ..
|
||||
"list[current_name;main;0.5,0;1,1;]" ..
|
||||
"label[0.5,0.8;" .. S("Block to build") .. "]" ..
|
||||
"field[2.3,0.8;1,0.1;extrusion;" .. S("Extrusion") .. ";${extrusion}]" ..
|
||||
"tooltip[extrusion;" .. S("Builder will extrude this many blocks in the direction it is facing.\nCan be set from 1 to @1.\nNote that Digtron won't build into unloaded map regions.", digtron.maximum_extrusion) .. "]" ..
|
||||
"field[2.3,0.8;1,0.1;period;" .. S("Periodicity") .. ";${period}]" ..
|
||||
"field[3.3,0.8;1,0.1;period;" .. S("Periodicity") .. ";${period}]" ..
|
||||
"tooltip[period;" .. S("Builder will build once every n steps.\nThese steps are globally aligned, so all builders with the\nsame period and offset will build on the same location.") .. "]" ..
|
||||
"field[3.3,0.8;1,0.1;offset;" .. S("Offset") .. ";${offset}]" ..
|
||||
"field[4.3,0.8;1,0.1;offset;" .. S("Offset") .. ";${offset}]" ..
|
||||
"tooltip[offset;" .. S("Offsets the start of periodicity counting by this amount.\nFor example, a builder with period 2 and offset 0 builds\nevery even-numbered block and one with period 2 and\noffset 1 builds every odd-numbered block.") .. "]" ..
|
||||
"button_exit[4.0,0.5;1,0.1;set;" .. S("Save &\nShow") .. "]" ..
|
||||
"button_exit[5.0,0.5;1,0.1;set;" .. S("Save &\nShow") .. "]" ..
|
||||
"tooltip[set;" .. S("Saves settings") .. "]" ..
|
||||
"field[5.3,0.8;1,0.1;build_facing;" .. S("Facing") .. ";${build_facing}]" ..
|
||||
"field[6.3,0.8;1,0.1;build_facing;" .. S("Facing") .. ";${build_facing}]" ..
|
||||
"tooltip[build_facing;" .. S("Value from 0-23. Not all block types make use of this.\nUse the 'Read & Save' button to copy the facing of the block\ncurrently in the builder output location.") .. "]" ..
|
||||
"button_exit[6.0,0.5;1,0.1;read;" .. S("Read &\nSave") .. "]" ..
|
||||
"button_exit[7.0,0.5;1,0.1;read;" .. S("Read &\nSave") .. "]" ..
|
||||
"tooltip[read;" .. S("Reads the facing of the block currently in the build location,\nthen saves all settings.") .. "]" ..
|
||||
"list[current_player;main;0,1.3;8,1;]" ..
|
||||
default.get_hotbar_bg(0,1.3) ..
|
||||
@ -29,12 +29,6 @@ local builder_formspec =
|
||||
"listring[current_player;main]" ..
|
||||
"listring[current_name;main]"
|
||||
|
||||
if minetest.get_modpath("doc") then
|
||||
builder_formspec = builder_formspec ..
|
||||
"button_exit[7.0,0.5;1,0.1;help;" .. S("Help") .. "]" ..
|
||||
"tooltip[help;" .. S("Show documentation about this block") .. "]"
|
||||
end
|
||||
|
||||
-- Builds objects in the targeted node. This is a complicated beastie.
|
||||
minetest.register_node("digtron:builder", {
|
||||
description = S("Digtron Builder Module"),
|
||||
|
Loading…
Reference in New Issue
Block a user