Compare commits
317 Commits
Author | SHA1 | Date |
---|---|---|
Jean-Patrick Guerrero | f379998943 | |
Jean-Patrick Guerrero | bf9066a539 | |
Jean-Patrick Guerrero | a6a42b5970 | |
Jean-Patrick Guerrero | 7613e7dacb | |
Jean-Patrick Guerrero | 03e9538886 | |
Jean-Patrick Guerrero | fcf30daca2 | |
SmallJoker | eeca37be0f | |
Jean-Patrick Guerrero | 1cd2bd21d7 | |
Jean-Patrick Guerrero | d8039c04a8 | |
Jean-Patrick Guerrero | 8796170637 | |
Jean-Patrick Guerrero | 1e7e41c73e | |
Jean-Patrick Guerrero | fcea88ac8c | |
Jean-Patrick Guerrero | 8bde3fd86b | |
Jean-Patrick Guerrero | fd764e2e36 | |
Jean-Patrick Guerrero | d6083e2c03 | |
Jean-Patrick Guerrero | 42e255f07f | |
Jean-Patrick Guerrero | fab1c54234 | |
Jean-Patrick Guerrero | 46c0d9e81b | |
Jean-Patrick Guerrero | 9e50192c54 | |
Jean-Patrick Guerrero | 12aad9e55f | |
Jean-Patrick Guerrero | 1fe30415f3 | |
Jean-Patrick Guerrero | cce82cdbb4 | |
Jean-Patrick Guerrero | 63ae743a68 | |
Jean-Patrick Guerrero | 2e30413b52 | |
Jean-Patrick Guerrero | 83832b4508 | |
Jean-Patrick Guerrero | e2864d9cd0 | |
Jean-Patrick Guerrero | fa2910925e | |
Jean-Patrick Guerrero | 6cb4888722 | |
Jean-Patrick Guerrero | 7d9ddcb397 | |
Jean-Patrick Guerrero | 75e1acad46 | |
Jean-Patrick Guerrero | a5e913f3a4 | |
Jean-Patrick Guerrero | 24fdd07f56 | |
Jean-Patrick Guerrero | 7e70ccab27 | |
Jean-Patrick Guerrero | 3bd2da9e32 | |
Jean-Patrick Guerrero | b7bfa5a623 | |
Jean-Patrick Guerrero | c15ce57d1b | |
Jean-Patrick Guerrero | a941a2c562 | |
Jean-Patrick Guerrero | 87049e2782 | |
Jean-Patrick Guerrero | f70cb29214 | |
Jean-Patrick Guerrero | be05b2a865 | |
Jean-Patrick Guerrero | 639dab4da5 | |
Jean-Patrick Guerrero | 2dc89b43f0 | |
Jean-Patrick Guerrero | 7f15ad68e5 | |
Jean-Patrick Guerrero | a4111a4d7b | |
Jean-Patrick Guerrero | 61af916fa1 | |
Jean-Patrick Guerrero | 671fae8926 | |
Jean-Patrick Guerrero | 4b3ab0af5f | |
Jean-Patrick Guerrero | 64ca5e8188 | |
Jean-Patrick Guerrero | 443831c179 | |
Jean-Patrick Guerrero | 37a01cc836 | |
Jean-Patrick Guerrero | 227be72798 | |
Jean-Patrick Guerrero | dc5d28fdf0 | |
Jean-Patrick Guerrero | 967adee84f | |
Jean-Patrick Guerrero | dc9a05bf01 | |
Jean-Patrick Guerrero | 0032c27832 | |
Jean-Patrick Guerrero | b486b65231 | |
Jean-Patrick Guerrero | 211c02abce | |
Jean-Patrick Guerrero | f5928abb02 | |
Jean-Patrick Guerrero | b11639e87f | |
Jean-Patrick Guerrero | 25874d6f6d | |
Jean-Patrick Guerrero | 3bbb014ec0 | |
Jean-Patrick Guerrero | 5051ee75e0 | |
Jean-Patrick Guerrero | 78f1eb2a02 | |
Jean-Patrick Guerrero | 14a74cff4a | |
Jean-Patrick Guerrero | 9a15ecd78f | |
Jean-Patrick Guerrero | af75db86cc | |
Jean-Patrick Guerrero | 8e3a25c37b | |
Jean-Patrick Guerrero | 46d1c114f2 | |
Jean-Patrick Guerrero | 7e3a322b0e | |
Jean-Patrick Guerrero | 034c7cbe71 | |
Jean-Patrick Guerrero | 0f90a84d95 | |
Jean-Patrick Guerrero | 084103b105 | |
Jean-Patrick Guerrero | 8843bb978c | |
Jean-Patrick Guerrero | b9e4d75545 | |
Jean-Patrick Guerrero | 58e45166b3 | |
Jean-Patrick Guerrero | 69a483dd42 | |
Jean-Patrick Guerrero | bbe5b69001 | |
Jean-Patrick Guerrero | c6f1ae266a | |
Jean-Patrick Guerrero | 25e241daa2 | |
Jean-Patrick Guerrero | a964fd768c | |
Jean-Patrick Guerrero | fdfc6fe934 | |
Jean-Patrick Guerrero | 9d26dc4840 | |
Jean-Patrick Guerrero | e74b485e7c | |
Jean-Patrick Guerrero | 09e73745fb | |
Jean-Patrick Guerrero | d7619cd778 | |
Jean-Patrick Guerrero | cb1e407c55 | |
Jean-Patrick Guerrero | 71af07067d | |
Jean-Patrick Guerrero | 6156dd55ad | |
Jean-Patrick Guerrero | b2b43fcf80 | |
Jean-Patrick Guerrero | 1d2023325d | |
Jean-Patrick Guerrero | 6c59066f89 | |
Jean-Patrick Guerrero | b8bf923125 | |
Jean-Patrick Guerrero | 0de66b1a09 | |
Jean-Patrick Guerrero | aa46556020 | |
Jean-Patrick Guerrero | ce59bd35d4 | |
Jean-Patrick Guerrero | 8c3efefd92 | |
Jean-Patrick Guerrero | 92c6a53fb2 | |
Jean-Patrick Guerrero | f17922cf68 | |
Yiu Man Ho | f91436d6ce | |
Jean-Patrick Guerrero | 4cc44d004e | |
Jean-Patrick Guerrero | 584c215aee | |
Jean-Patrick Guerrero | 5b91f9f171 | |
Jean-Patrick Guerrero | 54e6406e53 | |
Jean-Patrick Guerrero | 917dd8714f | |
Jean-Patrick Guerrero | 6ef7dda7de | |
Jean-Patrick Guerrero | a3c41cbd8d | |
Jean-Patrick Guerrero | 3866c41ab9 | |
Jean-Patrick Guerrero | e2c13c4d27 | |
Jean-Patrick Guerrero | a7d5653d8f | |
Jean-Patrick Guerrero | efe7434dd4 | |
Jean-Patrick Guerrero | df26d31a2d | |
Jean-Patrick Guerrero | 50d19faa48 | |
Jean-Patrick Guerrero | d93f5b0cf2 | |
Jean-Patrick Guerrero | f83bc9cccf | |
Jean-Patrick Guerrero | f88e0412fc | |
Jean-Patrick Guerrero | 6e6ff93d29 | |
Jean-Patrick Guerrero | 2fd3604cac | |
Jean-Patrick Guerrero | 96f9c85c77 | |
Jean-Patrick Guerrero | 9412ac740a | |
Jean-Patrick Guerrero | f2a5c4255e | |
Jean-Patrick Guerrero | d903aaca89 | |
Jean-Patrick Guerrero | c30db91662 | |
Jean-Patrick Guerrero | 1fb7790c4e | |
Jean-Patrick Guerrero | 74785bca5e | |
Jean-Patrick Guerrero | 7ea6899b06 | |
Jean-Patrick Guerrero | 9a0e36d884 | |
Jean-Patrick Guerrero | 9890d8a669 | |
Jean-Patrick Guerrero | 98f8499103 | |
Jean-Patrick Guerrero | d57cb7865b | |
Jean-Patrick Guerrero | 0b37b2bb2f | |
Jean-Patrick Guerrero | 701c7ae690 | |
Jean-Patrick Guerrero | 14c1372550 | |
Jean-Patrick Guerrero | 4a85acec9a | |
Jean-Patrick Guerrero | fa1e330856 | |
Jean-Patrick Guerrero | 89979a8610 | |
Jean-Patrick Guerrero | 2771ec12f5 | |
Jean-Patrick Guerrero | bba7dd81b9 | |
Jean-Patrick Guerrero | 1ebc1eab68 | |
Alexander Weber | 84a7377ed0 | |
Jean-Patrick Guerrero | c008f5097d | |
Jean-Patrick Guerrero | bfa7f4d631 | |
Jean-Patrick Guerrero | 3a0a2c032d | |
Jean-Patrick Guerrero | bfdb67783b | |
Jean-Patrick Guerrero | 00dcea5c50 | |
Jean-Patrick Guerrero | 361c64e51c | |
Jean-Patrick Guerrero | c0823faad3 | |
Jean-Patrick Guerrero | e6d1857799 | |
Jean-Patrick Guerrero | 95e1aea493 | |
Jean-Patrick Guerrero | 1980fefa50 | |
Jean-Patrick Guerrero | 835ab3ba36 | |
Louis Royer | b596a0d10c | |
Louis Royer | a51fe10c92 | |
Jean-Patrick Guerrero | 24115a0d84 | |
Jean-Patrick Guerrero | 13b4edcc46 | |
Jean-Patrick Guerrero | f7515ab429 | |
Jean-Patrick Guerrero | 763e953b8b | |
Jean-Patrick Guerrero | 5ef410730a | |
Jean-Patrick Guerrero | fc1141c624 | |
Jean-Patrick Guerrero | 9fa0c44cd7 | |
Jean-Patrick Guerrero | da186f63a4 | |
Jean-Patrick Guerrero | 543d162abb | |
Jean-Patrick Guerrero | ba191499f9 | |
Jean-Patrick Guerrero | c4576d14ec | |
Jean-Patrick Guerrero | e899935c8e | |
Jean-Patrick Guerrero | 50bdedb503 | |
Jean-Patrick Guerrero | 40d70c0339 | |
Jean-Patrick Guerrero | b6e1a4965e | |
Jean-Patrick Guerrero | 4b744e243c | |
Jean-Patrick Guerrero | f74956e8e7 | |
Jean-Patrick Guerrero | 1247e1a641 | |
Jean-Patrick Guerrero | 049dabe5bb | |
Jean-Patrick Guerrero | 6d332a94ac | |
Jean-Patrick Guerrero | e941443a59 | |
Jean-Patrick Guerrero | 0b7bfca0ec | |
Jean-Patrick Guerrero | 60d89f51e7 | |
Jean-Patrick Guerrero | 1c990f6476 | |
Jean-Patrick Guerrero | 6f2c79e7e1 | |
Jean-Patrick Guerrero | 762c166485 | |
Jean-Patrick Guerrero | 0806894dc2 | |
Jean-Patrick Guerrero | 7e0819aa18 | |
Jean-Patrick Guerrero | 4a5f18124a | |
Jean-Patrick Guerrero | c7a56824c2 | |
Jean-Patrick Guerrero | 35c3bc170d | |
Jean-Patrick Guerrero | 4ff1fd15b8 | |
Jean-Patrick Guerrero | 35021a6f0b | |
Jean-Patrick Guerrero | 7ef62f4f8b | |
Jean-Patrick Guerrero | f075e67be9 | |
Jean-Patrick Guerrero | cd17b8d38e | |
Jean-Patrick Guerrero | 46cb7615bf | |
Jean-Patrick Guerrero | 679e005f58 | |
Jean-Patrick Guerrero | bf28a48c40 | |
Jean-Patrick Guerrero | bd5c5fcd16 | |
Jean-Patrick Guerrero | 095e45197e | |
Jean-Patrick Guerrero | 13252049c2 | |
Jean-Patrick Guerrero | 87177d0d7f | |
Jean-Patrick Guerrero | 109965175d | |
Jean-Patrick Guerrero | 4ff200dfd9 | |
Wuzzy2 | 3baab53b84 | |
Hamlet | 8a4fbd0933 | |
Jean-Patrick Guerrero | 5560374801 | |
Jean-Patrick Guerrero | 5e23600001 | |
Jean-Patrick Guerrero | f39ca50f3b | |
Jean-Patrick Guerrero | 450797e148 | |
Jean-Patrick Guerrero | 6d994fc8d5 | |
Jean-Patrick Guerrero | 1910b4b345 | |
pauloue | 4823a9dd62 | |
Jean-Patrick Guerrero | 689840d6f5 | |
Jean-Patrick Guerrero | 3f34d275c1 | |
Jean-Patrick Guerrero | 8c7408f66f | |
Jean-Patrick Guerrero | 4483f60cbc | |
Jean-Patrick Guerrero | 79693f5c88 | |
Jean-Patrick Guerrero | b8c491a489 | |
Jean-Patrick Guerrero | 34231e01df | |
R3R3R3 | 2d6951cd0c | |
Jean-Patrick Guerrero | df21df2bce | |
orbea | 5669bcdcb7 | |
Jean-Patrick Guerrero | 3ad05328bf | |
Jean-Patrick Guerrero | 7793019357 | |
Jean-Patrick Guerrero | a97c0b96b3 | |
Jean-Patrick Guerrero | 63769603c4 | |
Jean-Patrick Guerrero | 189a3ff971 | |
Jean-Patrick Guerrero | ca723202d6 | |
Jean-Patrick Guerrero | a3e7031c04 | |
Jean-Patrick Guerrero | 5fc7e7c087 | |
Jean-Patrick Guerrero | aa61333ee3 | |
Jean-Patrick Guerrero | e2cdfc28b0 | |
Jean-Patrick Guerrero | aa9f7d6da3 | |
Jean-Patrick Guerrero | d87c64618c | |
Jean-Patrick Guerrero | 3455257df5 | |
Jean-Patrick Guerrero | 251a8b1bc9 | |
Jean-Patrick Guerrero | 4dd40e06f5 | |
Jean-Patrick Guerrero | f9f9988868 | |
Jean-Patrick Guerrero | dcb479dc44 | |
Jean-Patrick Guerrero | 82bb95387e | |
Jean-Patrick Guerrero | 8626584dbd | |
Jean-Patrick Guerrero | f7ccd282be | |
Jean-Patrick Guerrero | c9773f1ee9 | |
Jean-Patrick Guerrero | 001176b124 | |
Jean-Patrick Guerrero | 2c2dbc9efc | |
Jean-Patrick Guerrero | 24d8faec59 | |
Jean-Patrick Guerrero | 58b2f49c8c | |
Jean-Patrick Guerrero | a823a200b7 | |
Jean-Patrick Guerrero | 3c3733a226 | |
Jean-Patrick Guerrero | 55f919ab8f | |
Jean-Patrick Guerrero | 937b40aae4 | |
Jean-Patrick Guerrero | 97036d9f9a | |
Jean-Patrick Guerrero | 17a8c5ddd8 | |
Jean-Patrick Guerrero | 9fb5a93b2b | |
bell07 | 00a79d26e5 | |
Jean-Patrick Guerrero | 303aa3ef91 | |
Jean-Patrick Guerrero | 89059f20b6 | |
Jean-Patrick Guerrero | 0d2af529ef | |
Jean-Patrick Guerrero | 7a7bb8dc51 | |
Jean-Patrick Guerrero | 4241c89c17 | |
Jean-Patrick Guerrero | 70d38d1c63 | |
Jean-Patrick Guerrero | 92c5b1ab8e | |
Jean-Patrick Guerrero | 62d2b302ed | |
Jean-Patrick Guerrero | 8b4ef8a4b7 | |
Jean-Patrick Guerrero | 35b2ecfdc1 | |
Jean-Patrick Guerrero | edbed14d9b | |
Jean-Patrick Guerrero | 4e4cb0625c | |
Jean-Patrick Guerrero | 77dbe040b8 | |
Hamlet | d6bd17f6b3 | |
Jean-Patrick Guerrero | b12502a7da | |
Jean-Patrick Guerrero | e707db9ab9 | |
Jean-Patrick Guerrero | 270dc19ec1 | |
Jean-Patrick Guerrero | c9c2bf03de | |
Jean-Patrick Guerrero | ee1eac039e | |
Jean-Patrick Guerrero | 4fb4fe1763 | |
Jean-Patrick Guerrero | 98a652259b | |
Jean-Patrick Guerrero | a8ad0435fa | |
Jean-Patrick Guerrero | 41021895ce | |
Jean-Patrick Guerrero | abd9274798 | |
Jean-Patrick Guerrero | e16c23c29c | |
Jean-Patrick Guerrero | 90adfb42c1 | |
Jean-Patrick Guerrero | c32feb44fc | |
Jean-Patrick Guerrero | 36878ce9a0 | |
Jean-Patrick Guerrero | 8b5de4f7f7 | |
Jean-Patrick Guerrero | 9e3997c689 | |
Jean-Patrick Guerrero | ce74f49773 | |
Jean-Patrick Guerrero | fb4805ccf0 | |
Jean-Patrick Guerrero | 2d332913c5 | |
Jean-Patrick Guerrero | 5446e0dbdd | |
Jean-Patrick Guerrero | 16ceea1aaf | |
Jean-Patrick Guerrero | c570fa2337 | |
Jean-Patrick Guerrero | 5d7bb6de53 | |
Jean-Patrick Guerrero | 138ac1ae2c | |
Jean-Patrick Guerrero | 502318fb66 | |
Jean-Patrick Guerrero | 937f5f0918 | |
Jean-Patrick Guerrero | b09870a5b2 | |
Jean-Patrick Guerrero | 9e48e9ea3e | |
Jean-Patrick Guerrero | 94637c624e | |
Jean-Patrick Guerrero | bb6b3a4ee5 | |
Jean-Patrick Guerrero | a50a99836a | |
Jean-Patrick Guerrero | e2134e479e | |
Jean-Patrick Guerrero | 3320fbdd6b | |
Jean-Patrick Guerrero | 19fb5e2691 | |
Jean-Patrick Guerrero | 9dd63cd83a | |
Jean-Patrick Guerrero | 07820fa37c | |
Jean-Patrick Guerrero | 29f87f2607 | |
Jean-Patrick Guerrero | aef1fe0dc6 | |
Jean-Patrick Guerrero | 22ff82cc89 | |
h4ml3t | dd98cb2cb3 | |
Jean-Patrick Guerrero | f184341663 | |
Jean-Patrick Guerrero | 3f9d7bc12d | |
Jean-Patrick Guerrero | 60b09a27f7 | |
Jean-Patrick Guerrero | a936452e21 | |
Jean-Patrick Guerrero | 768e06e2d0 | |
Jean-Patrick Guerrero | 732535c9da | |
Jean-Patrick Guerrero | 7a8b8d19df | |
Jean-Patrick Guerrero | 9dcccadfc2 | |
Jean-Patrick Guerrero | 7c891ff2b6 | |
Jean-Patrick Guerrero | 06bef9777a | |
Jean-Patrick Guerrero | 738c2140a7 | |
Jean-Patrick Guerrero | 2ffef6794a | |
Jean-Patrick Guerrero | fb1b0cf869 | |
Jean-Patrick Guerrero | 59b806c9c4 |
|
@ -1,14 +1,12 @@
|
|||
unused_args = false
|
||||
allow_defined_top = true
|
||||
|
||||
read_globals = {
|
||||
"minetest",
|
||||
"default",
|
||||
"sfinv",
|
||||
"sfinv_buttons",
|
||||
"vector",
|
||||
"string",
|
||||
"table",
|
||||
"ItemStack",
|
||||
}
|
||||
|
||||
globals = {
|
||||
|
|
114
API.md
|
@ -5,6 +5,9 @@
|
|||
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
|
||||
|
@ -19,13 +22,23 @@ craftguide.register_craft_type("digging", {
|
|||
```Lua
|
||||
craftguide.register_craft({
|
||||
type = "digging",
|
||||
width = 1,
|
||||
result = "default:cobble 2",
|
||||
items = {"default:stone"},
|
||||
})
|
||||
```
|
||||
|
||||
Recipes can also be registered in a Minecraft-like way:
|
||||
```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({
|
||||
|
@ -43,6 +56,38 @@ craftguide.register_craft({
|
|||
})
|
||||
```
|
||||
|
||||
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
|
||||
|
@ -52,7 +97,7 @@ 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
|
||||
Adds a recipe filter with the given `name`. The filter function returns 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`.
|
||||
|
@ -72,9 +117,13 @@ craftguide.add_recipe_filter("Hide secretstuff", function(recipes)
|
|||
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.
|
||||
Removes the recipe filter with the given `name`.
|
||||
|
||||
#### `craftguide.get_recipe_filters()`
|
||||
|
||||
|
@ -85,50 +134,41 @@ 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>,<...>`
|
||||
You can cumulate several filters to perform a specific search.
|
||||
They can be used like so: `<optional_name> +<filter name>=<value1>,<value2>,<...>`
|
||||
|
||||
Examples:
|
||||
Example usages:
|
||||
|
||||
- `+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.
|
||||
- `wood +groups=flammable +type=node`: search for group `flammable` amongst items which contain
|
||||
`wood` in their names AND have a `node` drawtype.
|
||||
|
||||
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.
|
||||
- If `optional_name` is omitted, the search filter will apply to all items, without pre-filtering.
|
||||
- The `groups` and `type` filters are 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).
|
||||
Adds a search filter with the given `name`.
|
||||
The search function must 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):
|
||||
Example function sorting items by drawtype:
|
||||
|
||||
```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
|
||||
craftguide.add_search_filter("type", function(item, drawtype)
|
||||
if drawtype == "node" then
|
||||
return reg_nodes[item]
|
||||
elseif drawtype == "item" then
|
||||
return reg_craftitems[item]
|
||||
elseif drawtype == "tool" then
|
||||
return reg_tools[item]
|
||||
end
|
||||
|
||||
return has_width
|
||||
end)
|
||||
```
|
||||
|
||||
#### `craftguide.remove_search_filter(name)`
|
||||
|
||||
Removes the search filter with the given name.
|
||||
Removes the search filter with the given `name`.
|
||||
|
||||
#### `craftguide.get_search_filters()`
|
||||
|
||||
|
@ -155,13 +195,11 @@ You can add a stereotype like so:
|
|||
craftguide.group_stereotypes.radioactive = "mod:item"
|
||||
```
|
||||
|
||||
#### `craftguide.background`
|
||||
#### `craftguide.export_url`
|
||||
|
||||
You can set a custom background theme by overriding this variable:
|
||||
If set, the mod will export all the cached recipes and usages in a JSON format
|
||||
to the given URL (HTTP support is required¹).
|
||||
|
||||
```Lua
|
||||
craftguide.background = "<file_name.png>:<middle>"
|
||||
---
|
||||
|
||||
```
|
||||
|
||||
`middle` (number) refers to a 9-sliced background. Read the engine's Lua API documentation for more info.
|
||||
**¹** Add `craftguide` to the `secure.http_mods` or `secure.trusted_mods` setting in `minetest.conf`.
|
||||
|
|
13
README.md
|
@ -1,20 +1,21 @@
|
|||
# ![Preview1](http://i.imgur.com/fIPNYkb.png) Crafting Guide
|
||||
|
||||
[![ContentDB](https://content.minetest.net/packages/jp/craftguide/shields/title/)](https://content.minetest.net/packages/jp/craftguide/) [![ContentDB](https://content.minetest.net/packages/jp/craftguide/shields/downloads/)](https://content.minetest.net/packages/jp/craftguide/)
|
||||
|
||||
#### `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 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:
|
||||
`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).
|
||||
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/oGSvbTW.png)
|
||||
![Preview2](https://user-images.githubusercontent.com/7883281/103141399-113b5e00-46f4-11eb-96cd-0167972ca1cf.png)
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
The most comprehensive Crafting Guide
|
||||
on Minetest.
|
|
@ -3,7 +3,7 @@ License of source code
|
|||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-2019 Jean-Patrick Guerrero and contributors.
|
||||
Copyright (c) 2015-present Jean-Patrick Guerrero and contributors.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -27,7 +27,8 @@ THE SOFTWARE.
|
|||
Licenses of media (textures)
|
||||
----------------------------
|
||||
|
||||
Copyright © Diego Martínez (kaeza): craftguide_*_icon.png (CC BY-SA 3.0)
|
||||
paramat (CC BY-SA 3.0):
|
||||
craftguide_arrow.png - derived from a texture by BlockMen (CC BY-SA 3.0)
|
||||
|
||||
You are free to:
|
||||
Share — copy and redistribute the material in any medium or format.
|
||||
|
|
|
@ -3,17 +3,58 @@
|
|||
Craft Guide=Rezeptbuch
|
||||
Crafting Guide=Rezeptbuch
|
||||
Crafting Guide Sign=Rezepttafel
|
||||
Bookmarks=Lesezeichen
|
||||
Usage @1 of @2=Verwendung @1 von @2
|
||||
Recipe @1 of @2=Rezept @1 von @2
|
||||
No recipes=Keine Rezepte
|
||||
No usages=Keine Verwendungen
|
||||
Burning time: @1=Brennzeit: @1
|
||||
Cooking time: @1=Kochzeit: @1
|
||||
Replaced by @1 on smelting=Ersetzt durch @1 beim Schmelzen
|
||||
Replaced by @1 on burning=Ersetzt durch @1 beim Brennen
|
||||
Replaced by @1 on crafting=Ersetzt durch @1 beim Fertigen
|
||||
Repairable by step of @1=Reparierbar um @1
|
||||
Any item belonging to the group(s): @1=Beliebiger Gegenstand aus Gruppe(n): @1
|
||||
Any black dye=Beliebiger schwarzer Farbstoff
|
||||
Any black flower=Beliebige schwarze Blume
|
||||
Any blue dye=Beliebiger blauer Farbstoff
|
||||
Any blue flower=Beliebige blaue Blume
|
||||
Any brown dye=Beliebiger brauner Farbstoff
|
||||
Any coal=Beliebige Kohle
|
||||
Any cyan dye=Beliebiger türkiser Farbstoff
|
||||
Any dark green dye=Beliebiger dunkelgrüner Farbstoff
|
||||
Any dark grey dye=Beliebiger dunkelgrauer Farbstoff
|
||||
Any green dye=Beliebiger grüner Farbstoff
|
||||
Any green flower=Beliebige grüne Blume
|
||||
Any grey dye=Beliebiger grauer Farbstoff
|
||||
Any kind of stone block=Beliebiger Steinblock
|
||||
Any magenta dye=Beliebiger magenta Farbstoff
|
||||
Any orange dye=Beliebiger orange Farbstoff
|
||||
Any orange flower=Beliebige orange Blume
|
||||
Any pink dye=Beliebiger rosa Farbstoff
|
||||
Any red dye=Beliebiger roter Farbstoff
|
||||
Any red flower=Beliebige rote Blume
|
||||
Any sand=Beliebiger Sand
|
||||
Any stick=Beliebiger Stock
|
||||
Any tree=Beliebiger Baum
|
||||
Any vessel=Beliebiger Behälter
|
||||
Any violet dye=Beliebiger violetter Farbstoff
|
||||
Any violet flower=Beliebige violette Blume
|
||||
Any white dye=Beliebiger weißer Farbstoff
|
||||
Any white flower=Beliebige weiße Blume
|
||||
Any wood planks=Beliebige Holzplanken
|
||||
Any wool=Beliebige Wolle
|
||||
Any yellow dye=Beliebiger gelber Farbstoff
|
||||
Any yellow flower=Beliebige gelbe Blume
|
||||
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
|
||||
No node pointed=Auf keinem Block gezeigt
|
||||
You don't know a recipe or usage for this item=Sie kennen kein Rezept und keine Verwendung für diesen Gegenstand
|
||||
No recipe or usage for this item=Kein Rezept und keine Verwendung für diesen Gegenstand
|
||||
Digging=Graben
|
||||
Digging Chance=Grabechance
|
||||
@1 of chance to drop=@1 Abwurfwahrscheinlichkeit
|
||||
|
|
|
@ -2,8 +2,12 @@
|
|||
|
||||
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
|
||||
Crafting Guide Sign=Guide de recettes
|
||||
Bookmarks=Favoris
|
||||
Usage @1 of @2=Usage @1 sur @2
|
||||
Recipe @1 of @2=Recette @1 sur @2
|
||||
No recipes=Pas de recettes
|
||||
No usages=Pas d'usages
|
||||
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
|
||||
|
@ -11,12 +15,55 @@ 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)
|
||||
Any black dye=Quelconque colorant noir
|
||||
Any black flower=Quelconque fleur noire
|
||||
Any blue dye=Quelconque colorant bleu
|
||||
Any blue flower=Quelconque fleur bleue
|
||||
Any brown dye=Quelconque colorant marron
|
||||
Any coal=Quelconque charbon
|
||||
Any cyan dye=Quelconque colorant bleu ciel
|
||||
Any dark green dye=Quelconque colorant vert foncé
|
||||
Any dark grey dye=Quelconque colorant gris foncé
|
||||
Any green dye=Quelconque colorant vert
|
||||
Any green flower=Quelconque fleur verte
|
||||
Any grey dye=Quelconque colorant gris
|
||||
Any kind of stone block=Quelconque roche
|
||||
Any magenta dye=Quelconque colorant magenta
|
||||
Any orange dye=Quelconque colorant orange
|
||||
Any orange flower=Quelconque fleur orange
|
||||
Any pink dye=Quelconque colorant rose
|
||||
Any red dye=Quelconque colorant rouge
|
||||
Any red flower=Quelconque fleur rouge
|
||||
Any sand=Quelconque sable
|
||||
Any stick=Quelconque bâton
|
||||
Any tree=Quelconque tronc d'arbre
|
||||
Any vessel=Quelconque couvert
|
||||
Any violet dye=Quelconque colorant violet
|
||||
Any violet flower=Quelconque fleur violette
|
||||
Any white dye=Quelconque colorant blanc
|
||||
Any white flower=Quelconque fleur blanche
|
||||
Any wood planks=Quelconques planches de bois
|
||||
Any wool=Quelconque laine
|
||||
Any yellow dye=Quelconque colorant jaune
|
||||
Any yellow flower=Quelconque fleur jaune
|
||||
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
|
||||
You don't know a recipe or usage for this item=Vous ne connaissez aucune recette pour ce bloc
|
||||
No recipe or usage for this node=Aucune recette pour ce bloc
|
||||
Digging=Destruction
|
||||
Digging (by chance)=Destruction (par chance)
|
||||
@1 of chance to drop=@1 de chance de tomber
|
||||
Mark this item=Mettre en favori.
|
||||
Unmark this item=Enlever des favoris.
|
||||
Cannot mark this item. Limit of bookmarks reached.=Impossible de mettre cet item en favori. Limite des favoris atteinte.
|
||||
Only drop if using one of these tools: @1=Tombe seulement si détruit avec un de ces outils : @1
|
||||
Only drop if using this tool: @1=Tombe seulement si détruit avec cet outil : @1
|
||||
Craft @1 stack=Fabriquer @1 objet
|
||||
Craft @1 stacks=Fabriquer @1 objets
|
||||
@1 added in your inventory=@1 mis dans votre inventaire
|
||||
@1 crafted=@1 fabriqué(s)
|
||||
Quick crafting=Fabrication rapide
|
||||
|
|
|
@ -0,0 +1,60 @@
|
|||
# textdomain: craftguide
|
||||
|
||||
Craft Guide=Guida di assemblaggio
|
||||
Crafting Guide=Guida d'assemblaggio
|
||||
Crafting Guide Sign=Cartello della guida di assemblaggio
|
||||
Bookmarks=Segnalibri
|
||||
Usage @1 of @2=Utilizzo @1 di @2
|
||||
Recipe @1 of @2=Ricetta @1 di @2
|
||||
No recipes=Nessuna ricetta
|
||||
No usages=Nessun utilizzo
|
||||
Burning time: @1=Tempo di combustione: @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 combustione
|
||||
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/ai gruppo/i: @1
|
||||
Any black dye=Qualunque tintura nera
|
||||
Any black flower=Qualunque fiore nero
|
||||
Any blue dye=Qualunque tintura blu
|
||||
Any blue flower=Qualunque fiore blu
|
||||
Any brown dye=Qualunque tintura marrone
|
||||
Any coal=Qualunque carbone
|
||||
Any cyan dye=Qualunque tintura ciano
|
||||
Any dark green dye=Qualunque tintura verde scura
|
||||
Any dark grey dye=Qualunque tintura grigio scura
|
||||
Any green dye=Qualunque tintura verde
|
||||
Any green flower=Qualunque fiore verde
|
||||
Any grey dye=Qualunque tintura grigia
|
||||
Any kind of stone block=Qualunque tipo di blocco di pietra
|
||||
Any magenta dye=Qualunque tintura magenta
|
||||
Any orange dye=Qualunque tintura arancione
|
||||
Any orange flower=Qualunque fiore arancione
|
||||
Any pink dye=Qualunque tintura rosa
|
||||
Any red dye=Qualunque tintura rossa
|
||||
Any red flower=Qualunque fiore rosso
|
||||
Any sand=Qualunque sabbia
|
||||
Any stick=Qualunque bastone
|
||||
Any tree=Qualunque albero
|
||||
Any vessel=Qualunque contenitore
|
||||
Any violet dye=Qualunque tintura viola
|
||||
Any violet flower=Qualunque fiore viola
|
||||
Any white dye=Qualunque tintura bianca
|
||||
Any white flower=Qualunque fiore bianco
|
||||
Any wood planks=Qualunque asse di legno
|
||||
Any wool=Qualunque lana
|
||||
Any yellow dye=Qualunque tintura gialla
|
||||
Any yellow flower=Qualunque fiore giallo
|
||||
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/le ricetta/e del nodo puntato
|
||||
No node pointed=Nessun nodo puntato
|
||||
You don't know a recipe or usage for this item=Non conosci una ricetta o un utilizzo per questo oggetto
|
||||
No recipe or usage for this item=Nessuna ricetta o utilizzo per questo oggetto
|
||||
Digging=Scavando
|
||||
Digging Chance=Probabilità di scavare
|
||||
@1 of chance to drop=@1 di probabilità di rilascio
|
|
@ -0,0 +1,40 @@
|
|||
# textdomain: craftguide
|
||||
|
||||
Any black dye=任何黑染料
|
||||
Any black flower=任何黑花
|
||||
Any blue dye=任何蓝染料
|
||||
Any blue flower=任何蓝花
|
||||
Any brown dye=任何棕染料
|
||||
Any coal=任何煤炭
|
||||
Any cyan dye=任何青染料
|
||||
Any dark green dye=任何暗绿染料
|
||||
Any dark grey dye=任何暗灰染料
|
||||
Any green dye=任何绿染料
|
||||
Any green flower=任何绿花
|
||||
Any grey dye=任何灰染料
|
||||
Any item belonging to the group(s): @1=任何属于以下组别的物品:@1
|
||||
Any kind of stone block=任何石方块
|
||||
Any magenta dye=任何品红染料
|
||||
Any orange dye=任何橙染料
|
||||
Any orange flower=任何橙花
|
||||
Any pink dye=任何粉红染料
|
||||
Any red dye=任何红染料
|
||||
Any red flower=任何红花
|
||||
Any sand=任何沙
|
||||
Any stick=任何棒
|
||||
Any vessel=任何容器
|
||||
Any violet dye=任何紫染料
|
||||
Any violet flower=任何紫花
|
||||
Any white dye=任何白染料
|
||||
Any white flower=任何白花
|
||||
Any wood planks=任何木板
|
||||
Any wool=任何羊毛
|
||||
Any yellow dye=任何黄染料
|
||||
Any yellow flower=任何黄花
|
||||
Cooking time: @1=熔炼时间为:@1
|
||||
No items to show=没有可显示的项目。
|
||||
Recipe @1 of @2=第@1个配方,共@2个
|
||||
Usage @1 of @2=第@1个用法,共@2个
|
||||
Recipe is too big to be displayed=配方太大,无法显示。
|
||||
Shapeless=无序配方
|
||||
Unknown Item=不明物品
|
|
@ -3,8 +3,11 @@
|
|||
Craft Guide=
|
||||
Crafting Guide=
|
||||
Crafting Guide Sign=
|
||||
Bookmarks=
|
||||
Usage @1 of @2=
|
||||
Recipe @1 of @2=
|
||||
No recipes=
|
||||
No usages=
|
||||
Burning time: @1=
|
||||
Cooking time: @1=
|
||||
Replaced by @1 on smelting=
|
||||
|
@ -12,12 +15,55 @@ 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)=
|
||||
Any black dye=
|
||||
Any black flower=
|
||||
Any blue dye=
|
||||
Any blue flower=
|
||||
Any brown dye=
|
||||
Any coal=
|
||||
Any cyan dye=
|
||||
Any dark green dye=
|
||||
Any dark grey dye=
|
||||
Any green dye=
|
||||
Any green flower=
|
||||
Any grey dye=
|
||||
Any stone=
|
||||
Any magenta dye=
|
||||
Any orange dye=
|
||||
Any orange flower=
|
||||
Any pink dye=
|
||||
Any red dye=
|
||||
Any red flower=
|
||||
Any sand=
|
||||
Any stick=
|
||||
Any tree=
|
||||
Any vessel=
|
||||
Any violet dye=
|
||||
Any violet flower=
|
||||
Any white dye=
|
||||
Any white flower=
|
||||
Any wood planks=
|
||||
Any wool=
|
||||
Any yellow dye=
|
||||
Any yellow flower=
|
||||
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=
|
||||
You don't know a recipe or usage for this item=
|
||||
No recipe or usage for this node=
|
||||
Digging=
|
||||
Digging (by chance)=
|
||||
@1 of chance to drop=
|
||||
Mark this item=
|
||||
Unmark this item=
|
||||
Cannot mark this item. Limit of bookmarks reached.=
|
||||
Only drop if using one of these tools: @1=
|
||||
Only drop if using this tool: @1=
|
||||
Craft @1 stack=
|
||||
Craft @1 stacks=
|
||||
@1 added in your inventory=
|
||||
@1 crafted=
|
||||
Quick crafting=
|
||||
|
|
1
mod.conf
|
@ -1,3 +1,2 @@
|
|||
name = craftguide
|
||||
optional_depends = sfinv, sfinv_buttons
|
||||
description = The most comprehensive Crafting Guide on Minetest
|
||||
|
|
BIN
screenshot.png
Before Width: | Height: | Size: 35 KiB |
|
@ -1,5 +1,2 @@
|
|||
# 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
|
||||
craftguide_progressive_mode (Learn crafting recipes progressively) bool false
|
||||
|
|
|
@ -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: 230 B After Width: | Height: | Size: 469 B |
Before Width: | Height: | Size: 68 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 146 B |
After Width: | Height: | Size: 146 B |
After Width: | Height: | Size: 146 B |
After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 708 B |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 6.9 KiB |
After Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 727 B |
After Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 305 B After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 22 KiB |