diff options
| -rw-r--r-- | init.lua | 137 | 
1 files changed, 39 insertions, 98 deletions
@@ -756,41 +756,47 @@ local function gather_descs()  	-- NOTE: Mod introduces group “not_in_doc”: Items with this group will not have entries  	-- NOTE: New group “in_doc”: forces an entry on this item when the item would otherwise not have one -	-- Add node entries -	for id, def in pairs(minetest.registered_nodes) do -		local name, ld, uh -		local forced = false -		if (forced_items[id] == true or def.groups.in_doc) and minetest.registered_nodes[id] ~= nil then forced = true end -		if item_name_overrides[id] ~= nil then -			name = item_name_overrides[id] -		else -			name = def.description -		end -		if not (name == nil or name == "" or def.groups.not_in_doc or forced_items[id] == false) or forced then -			if help.longdesc[id] ~= nil then -				ld = help.longdesc[id] -			end -			if help.usagehelp[id] ~= nil then -				uh = help.usagehelp[id] -			end -			local hide = false -			if def.groups.not_in_creative_inventory ~= nil and not forced then -				hide = true -			end -			local infotable = { -				name = name, -				hidden = hide, -				data = { -					longdesc = ld, -					usagehelp = uh, -					itemstring = id, -					def = def, +	local add_entries = function(deftable, category_id) +		for id, def in pairs(deftable) do +			local name, ld, uh +			local forced = false +			if (forced_items[id] == true or def.groups.in_doc) and def ~= nil then forced = true end +			if item_name_overrides[id] ~= nil then +				name = item_name_overrides[id] +			else +				name = def.description +			end +			if not (name == nil or name == "" or def.groups.not_in_doc or forced_items[id] == false) or forced then +				if help.longdesc[id] ~= nil then +					ld = help.longdesc[id] +				end +				if help.usagehelp[id] ~= nil then +					uh = help.usagehelp[id] +				end +				local hide = false +				if def.groups.not_in_creative_inventory ~= nil and not forced then +					hide = true +				end +				local infotable = { +					name = name, +					hidden = hide, +					data = { +						longdesc = ld, +						usagehelp = uh, +						itemstring = id, +						def = def, +					}  				} -			} -			doc.new_entry("nodes", id, infotable) +				doc.new_entry(category_id, id, infotable) +			end  		end  	end + + +	-- Add node entries +	add_entries(minetest.registered_nodes, "nodes") +  	-- Add entry for the default tool (“hand”)  	-- Custom longdesc and usagehelp may be set by mods through the add_helptexts function  	if help.longdesc[""] == nil then @@ -807,75 +813,10 @@ local function gather_descs()  		}  	})  	-- Add tool entries -	for id, def in pairs(minetest.registered_tools) do -		local name, ld, uh -		local forced = false -		if (forced_items[id] == true or def.groups.in_doc) and minetest.registered_tools[id] ~= nil then forced = true end -		if item_name_overrides[id] ~= nil then -			name = item_name_overrides[id] -		else -			name = def.description -		end -		if not (name == nil or name == "" or def.groups.not_in_doc or forced_items[id] == false) or forced then -			if help.longdesc[id] ~= nil then -				ld = help.longdesc[id] -			end -			if help.usagehelp[id] ~= nil then -				uh = help.usagehelp[id] -			end -			local hide = false -			if def.groups.not_in_creative_inventory ~= nil and not forced then -				hide = true -			end -			local infotable = { -				name = name, -				hidden = hide, -				data = { -					longdesc = ld, -					usagehelp = uh, -					itemstring = id, -					def = def, -				} -			} -			doc.new_entry("tools", id, infotable) -		end -	end +	add_entries(minetest.registered_tools, "tools")  	-- Add craftitem entries -	for id, def in pairs(minetest.registered_craftitems) do -		local name, ld, uh -		name = def.description -		local forced = false -		if (forced_items[id] == true or def.groups.in_doc) and minetest.registered_craftitems[id] ~= nil then forced = true end -		if item_name_overrides[id] ~= nil then -			name = item_name_overrides[id] -		else -			name = def.description -		end -		if not (name == nil or name == "" or def.groups.not_in_doc or forced_items[id] == false) or forced then -			if help.longdesc[id] ~= nil then -				ld = help.longdesc[id] -			end -			if help.usagehelp[id] ~= nil then -				uh = help.usagehelp[id] -			end -			local hide = false -			if def.groups.not_in_creative_inventory ~= nil and not forced then -				hide = true -			end -			local infotable = { -				name = name, -				hidden = hide, -				data = { -					longdesc = ld, -					usagehelp = uh, -					itemstring = id, -					def = def, -				} -			} -			doc.new_entry("craftitems", id, infotable) -		end -	end +	add_entries(minetest.registered_craftitems, "craftitems")  end  minetest.after(0, gather_descs)  | 
