1.5 KiB
Minimal API for doc_identifier
Introduction
The tool can identify blocks and players natively, and also handles falling nodes
(__builtin:falling_node
) and dropped items (__builtin:dropped_item
) on its own.
However, the identifier can't “identify” (=open the appropriate entry) custom objects
because the mod doesn't know which help entry to open (if there is any).
One example would be the boat object (boats:boat
) from the boats mod in Minetest
Game.
If the player tries to use the tool on an unknown object, an error message is shown.
Because of this, this mod provides a minimal API for mods to assign a help entry
to an object type: doc_identifier.register_object
.
doc.sub.identifier.register_object(object_name, category_id, entry_id)
Registers the object/entity with the internal name object_name
to the
entry entry_id
in the category category_id
.
It is in the modder's responsibility to make sure that both the category and
entry already exist (use doc.entry_exists
) at the time of the function call,
otherwise, stability can not be guaranteed.
Returns nil
.
Example
From doc_minetest_game
:
if minetest.get_modpath("doc_identifier") ~= nil then
doc.sub.identifier.register_object("boats:boat", "craftitems", "boats:boat")
end
This enables the tool to be used on the boat object itself. The conditional is an idiom to check for the existance of this mod.
Note on dependencies
If you just need the aforementioned function from this mod, using only an optional dependency for your mod is probably enough.