63 lines
2.5 KiB
Lua
Raw Normal View History

2016-07-24 16:45:43 +02:00
local doc_identifier = {}
doc_identifier.huds = {}
doc_identifier.countdown_ids = {}
doc_identifier.place = function(itemstack, user, pointed_thing)
local username = user:get_player_name()
if pointed_thing.type == "node" then
local pos = pointed_thing.under
local node = minetest.get_node(pos)
if minetest.registered_nodes[node.name] ~= nil then
local nodedef = minetest.registered_nodes[node.name]
if(node.name == "ignore") then
return itemstack
end
if doc.entry_exists("nodes", node.name) then
doc.show_entry(username, "nodes", node.name)
else
minetest.show_formspec(
username,
"doc_identifier:error_missing_node_info",
"size[12,2;]label[0,0.2;The identifier was unable to extract information from this block.]button_exit[4.5,1.5;3,1;okay;OK]"
)
end
end
else
return itemstack
end
return itemstack
end
minetest.register_tool("doc_identifier:identifier_solid", {
description = "block identifier",
tool_capabilities = {},
wield_image = "doc_identifier_identifier.png",
inventory_image = "doc_identifier_identifier.png",
liquids_pointable = false,
on_place = doc_identifier.place,
on_use = function(itemstack, user, pointed_thing)
return ItemStack("doc_identifier:identifier_liquid")
end,
})
minetest.register_tool("doc_identifier:identifier_liquid", {
description = "block identifier",
tool_capabilities = {},
groups = { not_in_creative_inventory = 1 },
wield_image = "doc_identifier_identifier_liquid.png",
inventory_image = "doc_identifier_identifier_liquid.png",
liquids_pointable = true,
on_place = doc_identifier.place,
on_use = function(itemstack, user, pointed_thing)
return ItemStack("doc_identifier:identifier_solid")
end,
})
minetest.register_alias("doc_identifier:identifier", "doc_identifier:identifier_solid")
2016-07-24 17:57:44 +02:00
-- Add documentation
doc.sub.minetest_game.add_helptexts(
{ ["doc_identifier:identifier_solid"] = "This useful little helper can be used to quickly learn more about about one's closer environment. It identifies and analyzes blocks and it shows extensive information of a block on which it is used." },
{ ["doc_identifier:identifier_solid"] = "Point and rightclick on any block and other things in your world you wish to learn more about, a help screen will be shown to you. The identifier comes in two modes: Solid mode (red) and liquid mode (blue). In liquid mode this tool points to liquids as well while in solid mode this is not the case. Liquid mode is required if you want to identify a liquid. You change the mode with a left click." })