Compare commits

...

110 Commits
1.5 ... 1.10.1

Author SHA1 Message Date
b07f0c0ecd Minor cleaning 2019-11-01 01:03:12 +01:00
92c5b1ab8e Add progress bar info 2019-10-31 23:39:20 +01:00
62d2b302ed Add more accurate caching information 2019-10-25 13:41:56 +02:00
8b4ef8a4b7 Improve search filter accuracy 2019-10-25 01:43:40 +02:00
35b2ecfdc1 Implement visual feedbacks on nav buttons 2019-10-25 01:15:51 +02:00
edbed14d9b Fix non-shown recipes 2019-10-22 12:53:47 +02:00
4e4cb0625c Merge branch 'master' of https://github.com/minetest-mods/craftguide 2019-10-15 15:30:59 +02:00
77dbe040b8 Fix tooltip 2019-10-15 15:30:52 +02:00
d6bd17f6b3 Updated Italian locale (#94)
* Updated Italian locale
2019-10-15 00:42:44 +02:00
b12502a7da Small fixes 2019-10-13 18:31:46 +02:00
e707db9ab9 Fix sfinv grid positioning 2019-10-13 00:27:31 +02:00
270dc19ec1 Fix crash with groups_to_items() 2019-10-12 13:21:46 +02:00
c9c2bf03de Small precisions 2019-10-11 02:45:51 +02:00
ee1eac039e Minor cleaning 2019-10-10 17:50:29 +02:00
4fb4fe1763 Add support for dropped items + support for URL fetched recipes +
bugfixes
2019-10-10 17:34:43 +02:00
98a652259b test 2019-10-09 00:16:42 +02:00
a8ad0435fa Add test file 2019-10-09 00:11:23 +02:00
41021895ce Minor cleaning 2019-10-08 14:56:45 +02:00
abd9274798 Fix crash in progressive mode + refacto 2019-10-08 00:39:28 +02:00
e16c23c29c Minor refactoring 2019-10-05 00:53:33 +02:00
90adfb42c1 Minor refactoring 2019-10-05 00:32:48 +02:00
c32feb44fc Update template 2019-10-05 00:23:46 +02:00
36878ce9a0 Show item drops 2019-10-05 00:09:29 +02:00
8b5de4f7f7 Minor refactoring 2019-10-04 23:11:07 +02:00
9e3997c689 Remove infos from info panel 2019-10-04 22:54:41 +02:00
ce74f49773 Add prev/next buttons for recipes/usages 2019-10-04 22:40:23 +02:00
fb4805ccf0 Add button background only if engine >= 5.1 2019-10-04 21:50:32 +02:00
2d332913c5 Fix messages in craft command 2019-10-04 01:10:55 +02:00
5446e0dbdd Update README + API 2019-10-04 00:45:49 +02:00
16ceea1aaf Fix message 2019-10-04 00:25:10 +02:00
c570fa2337 Tune fs style 2019-10-04 00:20:20 +02:00
5d7bb6de53 Update locale template + fix craft command 2019-10-04 00:17:15 +02:00
138ac1ae2c Add missing textures 2019-10-03 23:58:27 +02:00
502318fb66 Major Interface Overhaul 2019-10-03 23:54:15 +02:00
937f5f0918 Fix aliased items once and for all(?) 2019-10-03 17:02:19 +02:00
b09870a5b2 Fix aliased items 2019-10-01 13:05:53 +02:00
9e48e9ea3e Fix missing recipes (again) 2019-09-30 18:04:50 +02:00
94637c624e Do not override alias func 2019-09-30 16:33:15 +02:00
bb6b3a4ee5 Show recipes for force-alised items 2019-09-30 11:17:01 +02:00
a50a99836a Fix version number check 2019-09-29 21:17:16 +02:00
e2134e479e Delete description file 2019-09-29 20:39:31 +02:00
3320fbdd6b Full backward compat with MT 0.4.17 2019-09-29 20:30:47 +02:00
19fb5e2691 Check compat for background[] 2019-09-29 17:23:03 +02:00
9dd63cd83a Fixed comment 2019-09-29 15:28:53 +02:00
07820fa37c Re-add accidentally removed 2019-09-29 15:24:04 +02:00
29f87f2607 Put the page number color back 2019-09-29 15:20:21 +02:00
aef1fe0dc6 Fix non-shown aliased recipes 2019-09-29 15:16:41 +02:00
22ff82cc89 Merge pull request #90 from h4ml3t/Italian
Add Italian locale
2019-09-29 13:41:11 +02:00
dd98cb2cb3 Italian locale 2019-09-29 13:30:22 +02:00
f184341663 String checking 2019-09-25 16:22:38 +02:00
3f9d7bc12d Table check 2019-09-25 12:44:49 +02:00
60b09a27f7 Ensure that no fuel usages are not shown 2019-09-19 13:38:07 +02:00
a936452e21 Fix non-shown recipes 2019-09-18 20:09:03 +02:00
768e06e2d0 why the hell the page number not colorized anymore? 2019-09-16 12:56:04 +02:00
732535c9da Another attempt to fix nil crash 2019-09-16 12:33:28 +02:00
7a8b8d19df Fix possible nil crash 2019-09-15 22:39:08 +02:00
9dcccadfc2 Minor fix 2019-09-12 13:10:31 +02:00
7c891ff2b6 Small fix for custom recipe 2019-09-11 19:39:49 +02:00
06bef9777a Minor cleaning 2019-09-11 17:25:29 +02:00
738c2140a7 Show itemstring for unknown item 2019-09-11 16:35:56 +02:00
2ffef6794a Do not require to specify width in custom recipes 2019-09-11 16:28:37 +02:00
fb1b0cf869 Notification success: do not depend on dtime 2019-09-11 13:43:13 +02:00
59b806c9c4 Progressive: Update items in sfinv without page change 2019-09-11 12:25:28 +02:00
db626eaece Small cleaning 2019-09-10 17:27:59 +02:00
3b3da66a0d Improve tooltip for toolrepair 2019-09-10 16:01:00 +02:00
84795a6523 Fix tooltip for replacements 2019-09-10 12:37:39 +02:00
fc3f1fece2 Code cleaning 2019-09-10 12:29:32 +02:00
00a88a320a craftguide can show repairable tools 2019-09-10 00:05:55 +02:00
19b8e28afb Code cleaning 2019-09-09 21:56:37 +02:00
12e35f80f0 Fix replace tooltip 2019-09-09 19:30:44 +02:00
11da33ca76 Add comment 2019-09-09 19:10:33 +02:00
08e758aca5 Fix shapeless width bounds 2019-09-09 19:02:09 +02:00
727758b816 craftguide can read replacements! 2019-09-09 19:01:52 +02:00
b026e94d6e Fix custom recipe icon position 2019-09-08 12:48:46 +02:00
b8c79d1765 Change sign texture again 2019-09-08 12:31:45 +02:00
742627aa8c Add more doc to custom recipes 2019-09-08 12:28:30 +02:00
bf616f5d21 Add fallback background is not -dev version 2019-09-07 13:02:42 +02:00
22787e41e3 Change sign texture 2019-09-06 21:19:40 +02:00
6b76c8c10f API to set a custom background 2019-09-06 17:56:41 +02:00
5f68d2de11 Improve the interface 2019-09-06 17:06:23 +02:00
ea12d5ca14 Optimize textures with oxipng 2019-09-06 16:33:19 +02:00
3d77ec58b4 Ability to register custom crafts dynamically 2019-09-06 15:51:30 +02:00
83151cb394 More interface fine-tuning 2019-09-06 13:31:50 +02:00
337ac898cd Fine-tune items positioning + Remove zoom in/out features 2019-09-05 21:04:27 +02:00
cb0200a222 Small cleanup 2019-09-05 15:02:38 +02:00
ae4b15a748 Improve grid display 2019-09-05 14:42:35 +02:00
2fa14ae146 Code cleaning 2019-08-31 13:34:54 +02:00
8b86dfc857 Fine-tune HUD 2019-08-30 18:36:34 +02:00
c468ab22fd Update mod.conf 2019-08-30 17:20:39 +02:00
d324c5f1e5 Progressive mode: Add a Steam-like HUD success + remove useless API functions 2019-08-30 17:05:03 +02:00
dfa45789e2 Style cleaning 2019-08-29 15:41:32 +02:00
80a0d67f15 Ability to register recipes in MC-like way 2019-08-29 14:56:53 +02:00
22c5c9444e Interpret group value 0 as "not in group".
This fixes instances where items are counted as part of a group by
craftguide but not by the engine.
2019-08-29 14:47:19 +02:00
97676d094e Fix possible crash 2019-06-30 19:42:32 +02:00
ca18ae0e3a Fix nil item crash in get_tooltip() - Fixes #84, regression caused by d950c71db (@pauloue) 2019-06-30 16:37:09 +02:00
e710fcd483 Small optimization 2019-06-23 01:42:12 +02:00
a2e4f20791 Items with no recipes but with usages are shown 2019-06-23 01:25:18 +02:00
22a85f50c1 Sugar 2019-05-08 20:57:45 +02:00
0271f61fc2 Change tooltip format 2019-03-21 17:44:32 +01:00
84756af3a1 Opens the stereotypes to the API 2019-03-21 17:34:20 +01:00
9dc656d5a2 Fix broken assert() 2019-03-21 00:21:11 +01:00
4c0371c5cc Progressive mode: Fix crash on player leaving 2019-03-14 14:11:44 +01:00
b6181ebd7a Minor cleanup 2019-03-13 16:56:35 +01:00
eb7292da7a 2×2 for shapeless recipe w/ <= 4 items 2019-03-13 15:22:45 +01:00
9df355b899 Add more assert checks 2019-03-12 16:54:26 +01:00
a242f6c61c Revert some changes 2019-03-11 03:01:37 +01:00
c9ebd5c069 Cleanup 2019-03-10 16:27:36 +01:00
054a7ab3af Update russian translations 2019-03-07 13:47:41 +01:00
b1a67eb632 Add examples in doc 2019-03-07 13:43:47 +01:00
e0e57b45ea Quick fix 2019-03-04 01:19:13 +01:00
22 changed files with 1603 additions and 744 deletions

View File

@ -9,4 +9,10 @@ read_globals = {
"vector",
"string",
"table",
"ItemStack",
}
globals = {
"craftguide",
"core",
}

148
API.md
View File

@ -2,6 +2,12 @@
### 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
@ -11,17 +17,77 @@ craftguide.register_craft_type("digging", {
})
```
#### Registering a custom crafting recipe (example)
#### Registering a custom crafting recipe (examples)
```Lua
craftguide.register_craft({
type = "digging",
width = 1,
output = "default:cobble 2",
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
@ -51,14 +117,14 @@ craftguide.add_recipe_filter("Hide secretstuff", function(recipes)
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.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.
@ -70,10 +136,15 @@ Returns a map of recipe filters, indexed by name.
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.
- The `groups` filter is currently implemented by default.
#### `craftguide.add_search_filter(name, function(item, values))`
@ -114,49 +185,6 @@ Returns a map of search filters, indexed by name.
---
### Custom formspec elements
#### `craftguide.add_formspec_element(name, def)`
Adds a formspec element to the current formspec.
Supported types: `box`, `label`, `image`, `button`, `tooltip`, `item_image`, `image_button`, `item_image_button`
Example:
```lua
craftguide.add_formspec_element("export", {
type = "button",
element = function(data)
-- Should return a table of parameters according to the formspec element type.
-- Note: for all buttons, the 'name' parameter *must not* be specified!
if data.recipes then
return {
data.iX - 3.7, -- X
sfinv_only and 7.9 or 8, -- Y
1.6, -- W
1, -- H
ESC(S("Export")) -- label
}
end
end,
-- Optional.
action = function(player, data)
-- When the button is pressed.
print("Exported!")
end
})
```
#### `craftguide.remove_formspec_element(name)`
Removes the formspec element with the given name.
#### `craftguide.get_formspec_elements()`
Returns a map of formspec elements, indexed by name.
---
### Miscellaneous
#### `craftguide.show(player_name, item, show_usages)`
@ -166,3 +194,21 @@ 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`.

View File

@ -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 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:
@ -16,6 +16,7 @@ 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
![Preview2](https://i.imgur.com/bToFH38.png)
![Preview2](https://i.imgur.com/w7KMS9G.png)

View File

@ -1,2 +0,0 @@
sfinv?
sfinv_buttons?

View File

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

2083
init.lua

File diff suppressed because it is too large Load Diff

View File

@ -3,20 +3,14 @@
Craft Guide=Rezeptbuch
Crafting Guide=Rezeptbuch
Crafting Guide Sign=Rezepttafel
Search=Suche
Reset=Zurücksetzen
Previous page=Vorherige Seite
Next page=Nächste Seite
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 is too big to be displayed (@1x@2)=Rezept ist zu groß für die Anzeige (@1×@2)
Recipe's too big to be displayed (@1x@2)=Rezept ist zu groß für die Anzeige (@1×@2)
Shapeless=Formlos
Cooking=Kochen
Increase window size=Fenster vergrößern
Decrease window size=Fenster verkleinern
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

View File

@ -2,20 +2,18 @@
Craft Guide=Guide de recettes
Crafting Guide=Guide de recettes
Search=Rechercher
Reset=Réinitialiser
Previous page=Page précédente
Next page=Page suivante
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 is too big to be displayed (@1x@2)=La recette est trop grande pour être affichée (@1x@2)
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
Increase window size=Agrandir la fenêtre
Decrease window size=Réduire la fenêtre
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é

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

View File

@ -2,24 +2,18 @@
Craft Guide=книга рецептов крафта
Crafting Guide=книга рецептов крафта
Crafting Guide Sign=
Search=Поиск
Reset=Сброс
Previous page=Предыдущая страница
Next page=Следущая страница
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 is too big to be displayed (@1x@2)=Рецепт слишком большой для показа (@1x@2)
Shapeless=
Cooking=
Increase window size=Увеличить окно
Decrease window size=Уменьшить окно
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=
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

@ -3,23 +3,26 @@
Craft Guide=
Crafting Guide=
Crafting Guide Sign=
Search=
Reset=
Previous page=
Next page=
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 is too big to be displayed (@1x@2)=
Recipe's too big to be displayed (@1x@2)=
Shapeless=
Cooking=
Increase window size=
Decrease window size=
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=
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 +1,3 @@
name = craftguide
optional_depends = sfinv, sfinv_buttons
description = The most comprehensive Crafting Guide on Minetest

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: 1.1 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: 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