📖 The most comprehensive Crafting Guide on Minetest
Go to file
2019-01-13 01:48:14 +01:00
locale Add Malay translation 2018-04-18 02:03:11 +08:00
textures New icons 2018-11-25 16:08:20 +01:00
.gitignore Add .gitignore 2016-08-05 15:55:19 +02:00
.luacheckrc Add a /craft command to show recipe of pointed node 2018-12-13 20:31:45 +01:00
depends.txt Support for sfinv! 2018-11-11 22:58:26 +01:00
description.txt Minor cleanup 2016-12-24 03:39:57 +01:00
init.lua get_formspec -> make_formspec 2019-01-13 01:48:14 +01:00
intllib.lua Add Russian and German translations (using intllib) (#28) 2018-04-08 22:31:16 +02:00
LICENSE New icons 2018-11-25 16:08:20 +01:00
mod.conf Initial commit 2016-02-20 15:42:52 -08:00
README.md Progressive: refactor, fix some bugs, add API function 2019-01-13 01:37:23 +01:00
screenshot.png Add screenshot.png 2016-03-27 22:28:17 -07:00
settingtypes.txt Support for sfinv! 2018-11-11 22:58:26 +01:00

Preview1 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 in inventory. The progressive mode can be enabled with craftguide_progressive_mode = true in minetest.conf.

craftguide is also integrated in sfinv (Minetest Game inventory) when you enable it with craftguide_sfinv_only = true in minetest.conf.

Use the command /craft to show the recipe(s) of the pointed node.

Preview2


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.progressive_filter_recipes(recipes, player)

This function is used to filter recipes when progressive mode is enabled. It can be overridden to change the recipes that are normally displayed.

The function should return the recipes to be displayed, given the available recipes and an ObjectRef to the craft guide 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":

function craftguide.progressive_filter_recipes(recipes, player)
	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