First mock-up
This commit is contained in:
commit
41eb204305
0
depends.txt
Normal file
0
depends.txt
Normal file
83
init.lua
Normal file
83
init.lua
Normal file
@ -0,0 +1,83 @@
|
||||
doc = {}
|
||||
|
||||
doc.VERSION = {}
|
||||
doc.VERSION.MAJOR = 0
|
||||
doc.VERSION.MINOR = 1
|
||||
doc.VERSION.PATCH = 0
|
||||
doc.VERSION.STRING = "0.1.0"
|
||||
|
||||
|
||||
doc.data = {}
|
||||
doc.data.categories = {}
|
||||
doc.data.entries = {}
|
||||
|
||||
|
||||
function doc.new_category(id, def)
|
||||
if doc.data.categories[id] ~= nil and id ~= nil then
|
||||
doc.data.categories[id] = def
|
||||
end
|
||||
end
|
||||
|
||||
function doc.new_entry(def)
|
||||
if doc.data.entries[id] ~= nil and id ~= nil then
|
||||
doc.data.entries[id] = def
|
||||
end
|
||||
end
|
||||
|
||||
function doc.show_doc(playername)
|
||||
local formspec = doc.formspec_core()..doc.formspec_main()
|
||||
minetest.show_formspec(playername, "doc:main", formspec)
|
||||
end
|
||||
|
||||
function doc.formspec_core(tab)
|
||||
if tab == nil then tab = 1 else tab = tostring(tab) end
|
||||
return "size[12,9]tabheader[0,0;doc_header;Main,Category,Entry;"..tab..";true;false]"
|
||||
end
|
||||
|
||||
function doc.formspec_main()
|
||||
return "label[0,1;Main]"
|
||||
end
|
||||
|
||||
function doc.formspec_category()
|
||||
return "label[0,1;Category]"
|
||||
end
|
||||
|
||||
function doc.formspec_entry()
|
||||
return "label[0,1;Entry]"
|
||||
end
|
||||
|
||||
function doc.process_form(player,formname,fields)
|
||||
local playername = player:get_player_name()
|
||||
--[[ process clicks on the tab header ]]
|
||||
if(formname == "doc:main" or formname == "doc:category" or formname == "doc:entry") then
|
||||
if fields.doc_header ~= nil then
|
||||
local tab = tonumber(fields.doc_header)
|
||||
local formspec, subformname, contents
|
||||
if(tab==1) then
|
||||
contents = doc.formspec_main()
|
||||
subformname = "main"
|
||||
elseif(tab==2) then
|
||||
contents = doc.formspec_category()
|
||||
subformname = "category"
|
||||
elseif(tab==3) then
|
||||
contents = doc.formspec_entry()
|
||||
subformname = "entry"
|
||||
end
|
||||
formspec = doc.formspec_core(tab)..contents
|
||||
minetest.show_formspec(playername, "doc:" .. subformname, formspec)
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_on_player_receive_fields(doc.process_form)
|
||||
|
||||
minetest.register_chatcommand("doc", {
|
||||
params = "",
|
||||
description = "Show in-game documentation system.",
|
||||
privs = {},
|
||||
func = function(playername, param)
|
||||
doc.show_doc(playername)
|
||||
end,
|
||||
}
|
||||
)
|
Loading…
x
Reference in New Issue
Block a user