Merge branch 'master' of yunohost.local:minetest-mods/craftguide into nalc-1.2-dev

This commit is contained in:
Sys Quatre 2019-12-22 12:26:18 +01:00
commit 1745cc0ba3
32 changed files with 2245 additions and 1113 deletions

View File

@ -7,4 +7,12 @@ read_globals = {
"sfinv",
"sfinv_buttons",
"vector",
"string",
"table",
"ItemStack",
}
globals = {
"craftguide",
"core",
}

214
API.md Normal file
View File

@ -0,0 +1,214 @@
## API
### Custom recipes
Custom recipes are nonconventional crafts outside the main crafting grid.
They can be registered in-game dynamically and have a size beyond 3x3 items.
**Note:** the registration format differs from the default registration format in everything.
The width is automatically calculated depending where you place the commas. Look at the examples attentively.
#### Registering a custom crafting type (example)
```Lua
craftguide.register_craft_type("digging", {
description = "Digging",
icon = "default_tool_steelpick.png",
})
```
#### Registering a custom crafting recipe (examples)
```Lua
craftguide.register_craft({
type = "digging",
result = "default:cobble 2",
items = {"default:stone"},
})
```
```Lua
craftguide.register_craft({
result = "default:cobble 16",
items = {
"default:stone, default:stone, default:stone",
"default:stone, , default:stone",
"default:stone, default:stone, default:stone",
}
})
```
Recipes can be registered in a Minecraft-like way:
```Lua
craftguide.register_craft({
grid = {
"X #",
" ## ",
"X#X#",
"X X",
},
key = {
['#'] = "default:wood",
['X'] = "default:glass",
},
result = "default:mese 3",
})
```
Multiples recipes can also be registered:
```Lua
craftguide.register_craft({
{
result = "default:mese",
items = {
"default:mese_crystal, default:mese_crystal",
"default:mese_crystal, default:mese_crystal",
}
},
big = {
result = "default:mese 4",
items = {
"default:mese_crystal, default:mese_crystal",
"default:mese_crystal, default:mese_crystal",
"default:mese_crystal, default:mese_crystal",
"default:mese_crystal, default:mese_crystal",
}
},
})
```
Recipes can be registered from a given URL containing a JSON file (HTTP support is required¹):
```Lua
craftguide.register_craft({
url = "https://raw.githubusercontent.com/minetest-mods/craftguide/master/test.json"
})
```
---
### Recipe filters
Recipe filters can be used to filter the recipes shown to players. Progressive
mode is implemented as a recipe filter.
#### `craftguide.add_recipe_filter(name, function(recipes, player))`
Adds a recipe filter with the given name. The filter 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":
```lua
craftguide.add_recipe_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_recipe_filter(name, function(recipe, player))`
Removes all recipe filters and adds a new one.
#### `craftguide.remove_recipe_filter(name)`
Removes the recipe filter with the given name.
#### `craftguide.get_recipe_filters()`
Returns a map of recipe filters, indexed by name.
---
### Search filters
Search filters are used to perform specific searches inside the search field.
They can be used like so: `<optional name>+<filter name>=<value1>,<value2>,<...>`
Examples:
- `+groups=cracky,crumbly`: search for groups `cracky` and `crumbly` in all items.
- `sand+groups=falling_node`: search for group `falling_node` for items which contain `sand` in their names.
Notes:
- If `optional name` is omitted, the search filter will apply to all items, without pre-filtering.
- Filters can be combined.
- The `groups` filter is currently implemented by default.
#### `craftguide.add_search_filter(name, function(item, values))`
Adds a search filter with the given name.
The search function should return a boolean value (whether the given item should be listed or not).
Example function to show items which contain at least a recipe of given width(s):
```lua
craftguide.add_search_filter("widths", function(item, widths)
local has_width
local recipes = recipes_cache[item]
if recipes then
for i = 1, #recipes do
local recipe_width = recipes[i].width
for j = 1, #widths do
local width = tonumber(widths[j])
if width == recipe_width then
has_width = true
break
end
end
end
end
return has_width
end)
```
#### `craftguide.remove_search_filter(name)`
Removes the search filter with the given name.
#### `craftguide.get_search_filters()`
Returns a map of search filters, indexed by name.
---
### Miscellaneous
#### `craftguide.show(player_name, item, show_usages)`
Opens the Crafting Guide with the current filter applied.
* `player_name`: string param.
* `item`: optional, string param. If set, this item is pre-selected. If the item does not exist or has no recipe, use the player's previous selection. By default, player's previous selection is used
* `show_usages`: optional, boolean param. If true, show item usages.
#### `craftguide.group_stereotypes`
This is the table indexing the item groups by stereotypes.
You can add a stereotype like so:
```Lua
craftguide.group_stereotypes.radioactive = "mod:item"
```
#### `craftguide.export_url`
If set, the mod will export all the cached recipes and usages in a JSON format
to the given URL (HTTP support is required¹).
---
**¹** Add `craftguide` to the `secure.http_mods` or `secure.trusted_mods` setting in `minetest.conf`.

View File

@ -1,38 +1,22 @@
## ![Preview1](http://i.imgur.com/fIPNYkb.png) Crafting Guide ##
# ![Preview1](http://i.imgur.com/fIPNYkb.png) Crafting Guide
#### `craftguide` is the most comprehensive crafting guide on Minetest. ####
#### Consult the [Minetest Wiki](http://wiki.minetest.net/Crafting_guide) for more details. ####
#### `craftguide` is the most comprehensive crafting guide on Minetest.
#### Consult the [Minetest Wiki](http://wiki.minetest.net/Crafting_guide) 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`.
This mode is a Terraria-like system that 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) when you enable it with
`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.
---
For developers, `craftguide` also has a [modding API](https://github.com/minetest-mods/craftguide/blob/master/API.md).
`craftguide` has an API to register **custom recipes**. Demos:
#### Registering a custom crafting type ####
```Lua
craftguide.register_craft_type("digging", {
description = "Digging",
icon = "default_tool_steelpick.png",
})
```
Love this mod? Donations are appreciated: https://www.paypal.me/jpg84240
#### Registering a custom crafting recipe ####
```Lua
craftguide.register_craft({
type = "digging",
width = 1,
output = "default:cobble 2",
items = {"default:stone"},
})
```
![Preview2](https://i.imgur.com/bToFH38.png)
![Preview2](https://i.imgur.com/w7KMS9G.png)

View File

@ -1,3 +0,0 @@
sfinv?
sfinv_buttons?
intllib?

View File

@ -1,2 +0,0 @@
The most comprehensive Crafting Guide
on Minetest.

2541
init.lua

File diff suppressed because it is too large Load Diff

View File

@ -1,45 +0,0 @@
-- Fallback functions for when `intllib` is not installed.
-- Code released under Unlicense <http://unlicense.org>.
-- Get the latest version of this file at:
-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua
local function format(str, ...)
local args = { ... }
local function repl(escape, open, num, close)
if escape == "" then
local replacement = tostring(args[tonumber(num)])
if open == "" then
replacement = replacement..close
end
return replacement
else
return "@"..open..num..close
end
end
return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl))
end
local gettext, ngettext
if minetest.get_modpath("intllib") then
if intllib.make_gettext_pair then
-- New method using gettext.
gettext, ngettext = intllib.make_gettext_pair()
else
-- Old method using text files.
gettext = intllib.Getter()
end
end
-- Fill in missing functions.
gettext = gettext or function(msgid, ...)
return format(msgid, ...)
end
ngettext = ngettext or function(msgid, msgid_plural, n, ...)
return format(n==1 and msgid or msgid_plural, ...)
end
return gettext, ngettext

View File

@ -1,15 +1,28 @@
License of source code
----------------------
« Copyright © 2015-2018, Jean-Patrick Guerrero <jeanpatrick.guerrero@gmail.com>
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
Copyright (c) 2015-2019 Jean-Patrick Guerrero and contributors.
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The Software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders X be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the Software.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Except as contained in this notice, the name of the <copyright holders> shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the <copyright holders>. »
Licenses of media (textures)
----------------------------

19
locale/craftguide.de.tr Normal file
View File

@ -0,0 +1,19 @@
# textdomain: craftguide
Craft Guide=Rezeptbuch
Crafting Guide=Rezeptbuch
Crafting Guide Sign=Rezepttafel
Usage @1 of @2=Verwendung @1 von @2
Recipe @1 of @2=Rezept @1 von @2
Burning time: @1=Brennzeit: @1
Cooking time: @1=Kochzeit: @1
Any item belonging to the group(s): @1=Beliebiger Gegenstand aus Gruppe(n): @1
Recipe's too big to be displayed (@1x@2)=Rezept ist zu groß für die Anzeige (@1×@2)
Shapeless=Formlos
Cooking=Kochen
No item to show=Nichts anzuzeigen
Collect items to reveal more recipes=Gegenstände aufsammeln, um mehr Rezepte aufzudecken
Show recipe(s) of the pointed node=Rezept(e) des gezeigten Blocks anzeigen
No node pointed=Auf keinen Block gezeigt
You don't know a recipe for this node=Sie kennen kein Rezept für diesen Block
No recipe for this node=Kein Rezept für diesen Block

22
locale/craftguide.fr.tr Normal file
View File

@ -0,0 +1,22 @@
# textdomain: craftguide
Craft Guide=Guide de recettes
Crafting Guide=Guide de recettes
Usage @1 of @2=Usage @1 de @2
Recipe @1 of @2=Recette @1 de @2
Burning time: @1=Temps de combustion : @1
Cooking time: @1=Temps de cuisson : @1
Replaced by @1 on smelting=Remplacé par @1 lors de la cuisson
Replaced by @1 on burning=Remplacé par @1 lors de la combustion
Replaced by @1 on crafting=Remplacé par @1 lors de la fabrication
Repairable by step of @1=Réparable par étape de @1
Any item belonging to the group(s): @1=Tout item appartenant au(x) groupe(s) : @1
Recipe's too big to be displayed (@1x@2)=La recette est trop grande pour être affichée (@1x@2)
Shapeless=Sans forme
Cooking=Cuisson
No item to show=Aucun item à afficher
Collect items to reveal more recipes=Collecte des items pour révéler plus de recettes
Show recipe(s) of the pointed node=Affiche les recettes du bloc visé
No node pointed=Aucun bloc visé
You don't know a recipe for this node=Tu ne connais aucune recette pour ce bloc
No recipe for this node=Aucune recette pour ce bloc

26
locale/craftguide.it.tr Normal file
View File

@ -0,0 +1,26 @@
# textdomain: craftguide
Craft Guide=Guida di assemblaggio
Crafting Guide=Guida d'assemblaggio
Crafting Guide Sign=Cartello della guida d'assemblaggio
Usage @1 of @2=Utilizzo @1 di @2
Recipe @1 of @2=Ricetta @1 di @2
Burning time: @1=Tempo di bruciatura: @1
Cooking time: @1=Tempo di cottura: @1
Replaced by @1 on smelting=Sostituito da @1 alla fusione
Replaced by @1 on burning=Sostituito da @1 alla bruciatura
Replaced by @1 on crafting=Sostituito da @1 all'assemblaggio
Repairable by step of @1=Riparabile per passo di @1
Any item belonging to the group(s): @1=Qualunque oggetto appartenente al gruppo: @1
Recipe's too big to be displayed (@1x@2)=La ricetta è troppo grande per essere mostrata (@1x@2)
Shapeless=Senza forma
Cooking=Cottura
No item to show=Nessun oggetto da mostrare
Collect items to reveal more recipes=Raccogli oggetti per svelare più ricette
Show recipe(s) of the pointed node=Mostra la ricetta del nodo puntato
No node pointed=Nessun nodo puntato
You don't know a recipe for this node=Non conosci una ricetta per questo nodo
No recipe for this node=Nessuna ricetta per questo nodo
Digging=Scavando
Digging Chance=Probabilità di scavare
@1 of chance to drop=@1 di probabilità di rilascio

19
locale/craftguide.ru.tr Normal file
View File

@ -0,0 +1,19 @@
# textdomain: craftguide
Craft Guide=книга рецептов крафта
Crafting Guide=книга рецептов крафта
Crafting Guide Sign=Знак с книгой рецептов
Usage @1 of @2=использование @1 из @2
Recipe @1 of @2=Рецепт @1 из @2
Burning time: @1=Время горения: @1
Cooking time: @1=Время преготовления: @1
Any item belonging to the group(s): @1=Любой элемент из группы: @1
Recipe's too big to be displayed (@1x@2)=Рецепт слишком большой для показа (@1x@2)
Shapeless=Бесформенный
Cooking=Приготовление
No item to show=Нет элемента для показа
Collect items to reveal more recipes=Собирайте предметы, чтобы раскрыть больше рецептов
Show recipe(s) of the pointed node=Показать рецепт(ы) выбранной ноды
No node pointed=Не указана нода
You don't know a recipe for this node=Вы не знаете рецепт для этой ноды
No recipe for this node=Нет рецептов для этой ноды

View File

@ -1,90 +0,0 @@
# German translation for craftguide mod.
# Copyright (C) 2018
# This file is distributed under the same license as the craftguide package.
# codexp <codexp@gmx.net>, 2018.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: 1.27\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-23 00:17+0100\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: German\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: init.lua
msgid "Unknown Item (@1)"
msgstr "Unbekannter Gegenstand (@1)"
#: init.lua
msgid "Any item belonging to the group(s)"
msgstr "Beliebiger Gegenstand aus der Gruppe"
#: init.lua
msgid "Cooking time"
msgstr "Kochzeit"
#: init.lua
msgid "Burning time"
msgstr "Brennzeit"
#: init.lua
msgid "Alternate"
msgstr "Andere"
#: init.lua
msgid "Recipe @1 of @2"
msgstr "Rezept @1 von @2"
#: init.lua
msgid ""
"Recipe is too big to\n"
"be displayed (@1x@2)"
msgstr ""
"Rezept ist zu groß\n"
"für die Anzeige (@1x@2)"
#: init.lua
msgid "Search"
msgstr "Suche"
#: init.lua
msgid "Reset"
msgstr "Zurücksetzen"
#: init.lua
msgid "Increase window size"
msgstr "Fenster vergrößern"
#: init.lua
msgid "Decrease window size"
msgstr "Fenster verkleinern"
#: init.lua
msgid "Previous page"
msgstr "Vorherige Seite"
#: init.lua
msgid "Next page"
msgstr "Nächste Seite"
#: init.lua
msgid "No item to show"
msgstr "Nichts anzuzeigen"
#: init.lua
msgid "Crafting Guide"
msgstr "Rezeptbuch"
#: init.lua
msgid "Crafting Guide Sign"
msgstr "Rezepttafel"
#: init.lua
msgid "Shows a list of available crafting recipes, cooking recipes and fuels"
msgstr "Zeigt eine Liste von verfügbaren Rezepten, Kochrezepten und Brennmaterialien"

View File

@ -1,91 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: craftguide\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-23 18:35+0100\n"
"PO-Revision-Date: 2018-04-18 02:02+0800\n"
"Language-Team: muhdnurhidayat <mnh48mail@gmail.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.6\n"
"Last-Translator: MuhdNurHidayat (MNH48) <mnh48mail@gmail.com>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"Language: ms\n"
#: init.lua
msgid "Unknown Item (@1)"
msgstr "Item Tidak Diketahui (@1)"
#: init.lua
msgid "Any item belonging to the group(s)"
msgstr "Sebarang item dari kumpulan"
#: init.lua
msgid "Cooking time"
msgstr "Tempoh memasak"
#: init.lua
msgid "Burning time"
msgstr "Tempoh pembakaran"
#: init.lua
msgid "Alternate"
msgstr "Resipi lain"
#: init.lua
msgid "Recipe @1 of @2"
msgstr "Resipi @1 dari @2"
#: init.lua
msgid ""
"Recipe is too big to\n"
"be displayed (@1x@2)"
msgstr ""
"Resipi terlalu besar\n"
"untuk paparan (@1x@2)"
#: init.lua
msgid "Search"
msgstr "Cari"
#: init.lua
msgid "Reset"
msgstr "Set semula"
#: init.lua
msgid "Increase window size"
msgstr "Besarkan saiz tetingkap"
#: init.lua
msgid "Decrease window size"
msgstr "Kecilkan saiz tetingkap"
#: init.lua
msgid "Previous page"
msgstr "Halaman sebelumnya"
#: init.lua
msgid "Next page"
msgstr "Halaman seterusnya"
#: init.lua
msgid "No item to show"
msgstr "Tiada item untuk dipaparkan"
#: init.lua
msgid "Crafting Guide"
msgstr "Panduan Pertukangan"
#: init.lua
msgid "Crafting Guide Sign"
msgstr "Papan Tanda Panduan Pertukangan"
#: init.lua
msgid "Shows a list of available crafting recipes, cooking recipes and fuels"
msgstr "Menunjukkan senarai resipi pertukangan, resipi memasak dan bahan api yang ada"

View File

@ -1,90 +0,0 @@
# Russian translation for craftguide mod.
# Copyright (C) 2018
# This file is distributed under the same license as the craftguide package.
# codexp <codexp@gmx.net>, 2018.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: 1.27\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-23 00:17+0100\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: Russian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: init.lua
msgid "Unknown Item (@1)"
msgstr "Неизвестный элемент (@1)"
#: init.lua
msgid "Any item belonging to the group(s)"
msgstr "Любой элемент из группы"
#: init.lua
msgid "Cooking time"
msgstr "Время преготовления"
#: init.lua
msgid "Burning time"
msgstr "Время горения"
#: init.lua
msgid "Alternate"
msgstr "Другой"
#: init.lua
msgid "Recipe @1 of @2"
msgstr "Рецепт @1 из @2"
#: init.lua
msgid ""
"Recipe is too big to\n"
"be displayed (@1x@2)"
msgstr ""
"Рецепт слишком большой\n"
"для показа (@1x@2)"
#: init.lua
msgid "Search"
msgstr "Поиск"
#: init.lua
msgid "Reset"
msgstr "Сброс"
#: init.lua
msgid "Increase window size"
msgstr "Увеличить окно"
#: init.lua
msgid "Decrease window size"
msgstr "Уменьшить окно"
#: init.lua
msgid "Previous page"
msgstr "Предыдущая страница"
#: init.lua
msgid "Next page"
msgstr "Следущая страница"
#: init.lua
msgid "No item to show"
msgstr "Нет элемента для показа"
#: init.lua
msgid "Crafting Guide"
msgstr "книга рецептов крафта"
#: init.lua
msgid "Crafting Guide Sign"
msgstr "табличка рецептов крафта"
#: init.lua
msgid "Shows a list of available crafting recipes, cooking recipes and fuels"
msgstr "Показывает список рецептов крафта, преготовления и топливо"

28
locale/template Normal file
View File

@ -0,0 +1,28 @@
# textdomain: craftguide
Craft Guide=
Crafting Guide=
Crafting Guide Sign=
Usage @1 of @2=
Recipe @1 of @2=
No recipes=
No usages=
Burning time: @1=
Cooking time: @1=
Replaced by @1 on smelting=
Replaced by @1 on burning=
Replaced by @1 on crafting=
Repairable by step of @1=
Any item belonging to the group(s): @1=
Recipe's too big to be displayed (@1x@2)=
Shapeless=
Cooking=
No item to show=
Collect items to reveal more recipes=
Show recipe(s) of the pointed node=
No node pointed=
You don't know a recipe or usage for this item=
No recipe or usage for this item=
Digging=
Digging Chance=
@1 of chance to drop=

View File

@ -1,88 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-23 18:35+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: init.lua
msgid "Unknown Item (@1)"
msgstr ""
#: init.lua
msgid "Any item belonging to the group(s)"
msgstr ""
#: init.lua
msgid "Cooking time"
msgstr ""
#: init.lua
msgid "Burning time"
msgstr ""
#: init.lua
msgid "Alternate"
msgstr ""
#: init.lua
msgid "Recipe @1 of @2"
msgstr ""
#: init.lua
msgid ""
"Recipe is too big to\n"
"be displayed (@1x@2)"
msgstr ""
#: init.lua
msgid "Search"
msgstr ""
#: init.lua
msgid "Reset"
msgstr ""
#: init.lua
msgid "Increase window size"
msgstr ""
#: init.lua
msgid "Decrease window size"
msgstr ""
#: init.lua
msgid "Previous page"
msgstr ""
#: init.lua
msgid "Next page"
msgstr ""
#: init.lua
msgid "No item to show"
msgstr ""
#: init.lua
msgid "Crafting Guide"
msgstr ""
#: init.lua
msgid "Crafting Guide Sign"
msgstr ""
#: init.lua
msgid "Shows a list of available crafting recipes, cooking recipes and fuels"
msgstr ""

View File

@ -1 +1,3 @@
name = craftguide
optional_depends = sfinv, sfinv_buttons
description = The most comprehensive Crafting Guide on Minetest

View File

@ -1,4 +1,5 @@
#For enabling some options of craftguide.
# The progressive mode shows recipes you can craft from items you ever had in your inventory.
craftguide_progressive_mode (Progressive Mode) bool false
# Integration in the default Minetest Game inventory.
craftguide_sfinv_only (Sfinv only) bool false

8
test.json Normal file
View File

@ -0,0 +1,8 @@
{
"items": [
"default:stone, default:stone, default:stone",
"default:stone, , default:stone",
"default:stone, default:stone, default:stone"
],
"result": "default:cobble 16"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 B

After

Width:  |  Height:  |  Size: 68 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 728 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 912 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 685 B

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB