Compare commits
140 Commits
Author | SHA1 | Date | |
---|---|---|---|
b07f0c0ecd | |||
92c5b1ab8e | |||
62d2b302ed | |||
8b4ef8a4b7 | |||
35b2ecfdc1 | |||
edbed14d9b | |||
4e4cb0625c | |||
77dbe040b8 | |||
d6bd17f6b3 | |||
b12502a7da | |||
e707db9ab9 | |||
270dc19ec1 | |||
c9c2bf03de | |||
ee1eac039e | |||
4fb4fe1763 | |||
98a652259b | |||
a8ad0435fa | |||
41021895ce | |||
abd9274798 | |||
e16c23c29c | |||
90adfb42c1 | |||
c32feb44fc | |||
36878ce9a0 | |||
8b5de4f7f7 | |||
9e3997c689 | |||
ce74f49773 | |||
fb4805ccf0 | |||
2d332913c5 | |||
5446e0dbdd | |||
16ceea1aaf | |||
c570fa2337 | |||
5d7bb6de53 | |||
138ac1ae2c | |||
502318fb66 | |||
937f5f0918 | |||
b09870a5b2 | |||
9e48e9ea3e | |||
94637c624e | |||
bb6b3a4ee5 | |||
a50a99836a | |||
e2134e479e | |||
3320fbdd6b | |||
19fb5e2691 | |||
9dd63cd83a | |||
07820fa37c | |||
29f87f2607 | |||
aef1fe0dc6 | |||
22ff82cc89 | |||
dd98cb2cb3 | |||
f184341663 | |||
3f9d7bc12d | |||
60b09a27f7 | |||
a936452e21 | |||
768e06e2d0 | |||
732535c9da | |||
7a8b8d19df | |||
9dcccadfc2 | |||
7c891ff2b6 | |||
06bef9777a | |||
738c2140a7 | |||
2ffef6794a | |||
fb1b0cf869 | |||
59b806c9c4 | |||
db626eaece | |||
3b3da66a0d | |||
84795a6523 | |||
fc3f1fece2 | |||
00a88a320a | |||
19b8e28afb | |||
12e35f80f0 | |||
11da33ca76 | |||
08e758aca5 | |||
727758b816 | |||
b026e94d6e | |||
b8c79d1765 | |||
742627aa8c | |||
bf616f5d21 | |||
22787e41e3 | |||
6b76c8c10f | |||
5f68d2de11 | |||
ea12d5ca14 | |||
3d77ec58b4 | |||
83151cb394 | |||
337ac898cd | |||
cb0200a222 | |||
ae4b15a748 | |||
2fa14ae146 | |||
8b86dfc857 | |||
c468ab22fd | |||
d324c5f1e5 | |||
dfa45789e2 | |||
80a0d67f15 | |||
22c5c9444e | |||
97676d094e | |||
ca18ae0e3a | |||
e710fcd483 | |||
a2e4f20791 | |||
22a85f50c1 | |||
0271f61fc2 | |||
84756af3a1 | |||
9dc656d5a2 | |||
4c0371c5cc | |||
b6181ebd7a | |||
eb7292da7a | |||
9df355b899 | |||
a242f6c61c | |||
c9ebd5c069 | |||
054a7ab3af | |||
b1a67eb632 | |||
e0e57b45ea | |||
3f7ad71e00 | |||
eb2a81b8b5 | |||
92daae3e95 | |||
799c0c7038 | |||
8b79f32150 | |||
183a9ff7a1 | |||
cdc8e410b6 | |||
7219a6096b | |||
7f44517701 | |||
5e4a362a15 | |||
058cd05ed7 | |||
fa30a0d076 | |||
92cf2307db | |||
bfe99092db | |||
97e6eceb75 | |||
d6432f53bb | |||
c62994f9af | |||
8f6f8dda7e | |||
40b5f8725a | |||
0956e86d73 | |||
07bc14e516 | |||
b3bba5c2ff | |||
4560457504 | |||
3f44ae00d2 | |||
1ba1e41dcd | |||
3cf4bef83a | |||
c4272d8d24 | |||
aac3e3f693 | |||
fc2d2e585c | |||
e37f1df6d3 |
@ -7,4 +7,12 @@ read_globals = {
|
||||
"sfinv",
|
||||
"sfinv_buttons",
|
||||
"vector",
|
||||
"string",
|
||||
"table",
|
||||
"ItemStack",
|
||||
}
|
||||
|
||||
globals = {
|
||||
"craftguide",
|
||||
"core",
|
||||
}
|
||||
|
214
API.md
Normal 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.http_post_data`
|
||||
|
||||
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`.
|
68
README.md
@ -6,7 +6,7 @@
|
||||
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
|
||||
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). To enable it:
|
||||
@ -14,69 +14,9 @@ from items you ever had in your inventory. To enable it: `craftguide_progressive
|
||||
|
||||
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).
|
||||
|
||||
---
|
||||
Love this mod? Donations are appreciated: https://www.paypal.me/jpg84240
|
||||
|
||||
## API
|
||||
|
||||
### Custom recipes
|
||||
|
||||
#### Registering a custom crafting type
|
||||
|
||||
```Lua
|
||||
craftguide.register_craft_type("digging", {
|
||||
description = "Digging",
|
||||
icon = "default_tool_steelpick.png",
|
||||
})
|
||||
```
|
||||
|
||||
#### Registering a custom crafting recipe
|
||||
|
||||
```Lua
|
||||
craftguide.register_craft({
|
||||
type = "digging",
|
||||
width = 1,
|
||||
output = "default:cobble 2",
|
||||
items = {"default:stone"},
|
||||
})
|
||||
```
|
||||
|
||||
### 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.remove_recipe_filter(name)`
|
||||
|
||||
Removes the recipe filter with the given name.
|
||||
|
||||
#### `craftguide.set_recipe_filter(name, function(recipe, player))`
|
||||
|
||||
Removes all recipe filters and adds a new one.
|
||||
|
||||
#### `craftguide.get_recipe_filters()`
|
||||
|
||||
Returns a map of recipe filters, indexed by name.
|
||||

|
||||
|
@ -1,3 +0,0 @@
|
||||
sfinv?
|
||||
sfinv_buttons?
|
||||
intllib?
|
@ -1,2 +0,0 @@
|
||||
The most comprehensive Crafting Guide
|
||||
on Minetest.
|
45
intllib.lua
@ -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
|
19
locale/craftguide.de.tr
Normal 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
@ -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
@ -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
@ -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=Нет рецептов для этой ноды
|
90
locale/de.po
@ -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"
|
91
locale/ms.po
@ -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"
|
90
locale/ru.po
@ -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
@ -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=
|
@ -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 ""
|
2
mod.conf
@ -1 +1,3 @@
|
||||
name = craftguide
|
||||
optional_depends = sfinv, sfinv_buttons
|
||||
description = The most comprehensive Crafting Guide on Minetest
|
||||
|
@ -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
@ -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"
|
||||
}
|
Before Width: | Height: | Size: 169 B After Width: | Height: | Size: 68 B |
BIN
textures/craftguide_bg_full.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 728 B |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 5.7 KiB |
BIN
textures/craftguide_selected.png
Normal file
After Width: | Height: | Size: 912 B |
Before Width: | Height: | Size: 685 B After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 685 B |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 2.9 KiB |