Merge branch 'master' of yunohost.local:minetest-mods/craftguide into nalc-1.2-dev
@ -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.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`.
|
34
README.md
@ -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)
|
||||
|
@ -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
|
@ -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
@ -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: 5.8 KiB |
BIN
textures/craftguide_clear_icon_hover.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
textures/craftguide_next_icon_hover.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 728 B |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 5.7 KiB |
BIN
textures/craftguide_search_icon_hover.png
Normal file
After Width: | Height: | Size: 7.1 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 |