2.2 KiB
Crafting Guide
craftguide
is the most comprehensive crafting guide on Minetest.
Consult the Minetest Wiki for more details.
This crafting guide is a blue book named "Crafting Guide" or a wooden sign.
This crafting guide features a progressive mode.
The progressive mode is a Terraria-like system that only shows recipes you can craft
from items you ever had in your inventory. To enable it: craftguide_progressive_mode = true
in minetest.conf
.
craftguide
is also integrated in sfinv
(Minetest Game inventory). To enable it:
craftguide_sfinv_only = true
in minetest.conf
.
Use the command /craft
to show the recipe(s) of the pointed node.
API
Custom recipes
Registering a custom crafting type
craftguide.register_craft_type("digging", {
description = "Digging",
icon = "default_tool_steelpick.png",
})
Registering a custom crafting recipe
craftguide.register_craft({
type = "digging",
width = 1,
output = "default:cobble 2",
items = {"default:stone"},
})
Progressive mode
craftguide.add_progressive_filter(name, function(recipes, player))
This function adds a recipe filter when progressive mode is enabled.
The default craftguide
filter will still be used.
The function should return the recipes to be displayed, given the available
recipes and an ObjectRef
to the user. Each recipe is a table of the form
returned by minetest.get_craft_recipe
.
Example function to hide recipes for items from a mod called "secretstuff":
craftguide.add_progressive_filter("Hide secretstuff", function(recipes)
local filtered = {}
for _, recipe in ipairs(recipes) do
if recipe.output:sub(1,12) ~= "secretstuff:" then
filtered[#filtered + 1] = recipe
end
end
return filtered
end)
craftguide.set_progressive_filter(name, function(recipes, player))
This function sets an unique recipe filter when progressive mode is enabled.
The default craftguide
progressive filter will be overridden.
craftguide.get_progressive_filters()
This function returns all progressive filters that are applied to recipes in progressive mode.