Compare commits
267 Commits
Author | SHA1 | Date | |
---|---|---|---|
b8db525dac | |||
cbf6256593 | |||
893959b5d4 | |||
8a5a14747e | |||
b53959f177 | |||
685b40f318 | |||
e96d279d29 | |||
c87a179cb5 | |||
7e2256253d | |||
f2cc874ec0 | |||
5c96ede065 | |||
1c4ae1df28 | |||
970220c561 | |||
4ca50e846d | |||
0ab3dd5ffa | |||
7820d88a30 | |||
34841eddf3 | |||
6f588e1927 | |||
d0ff046873 | |||
996b39fb39 | |||
0e411d8696 | |||
c69f45ecd8 | |||
a0eb4803d1 | |||
ac4a7352fd | |||
c7987a6c72 | |||
b24411b189 | |||
a1b2d03a71 | |||
c3f050b737 | |||
00042c77e1 | |||
c1bd944465 | |||
b1fff8617b | |||
c5dd2be569 | |||
f2eb377d96 | |||
3b5c81cb3a | |||
dde5148934 | |||
ce9a29de80 | |||
6ccfd52267 | |||
d392f04c11 | |||
978c2b23a2 | |||
d612f8697d | |||
2274b426a5 | |||
612039cc26 | |||
a98b0c08af | |||
e0166288c6 | |||
9ab92ba056 | |||
8d55d89efe | |||
554acd002b | |||
ca5cd92ff3 | |||
0c2d3a5cba | |||
5a36209ac9 | |||
666200df76 | |||
4bc1bfee8b | |||
304f74c7a4 | |||
833d27975e | |||
d2d8be9f18 | |||
6fe9f96cad | |||
b0002eb7cf | |||
7e648246eb | |||
f0b5eb7a18 | |||
859feb4105 | |||
ecda62fc2f | |||
7c5c6f38f2 | |||
4d4a5ebae8 | |||
8fb82aedb2 | |||
297855b164 | |||
49e9fda9f9 | |||
f85b0f7801 | |||
61beb77d6a | |||
8c5a83ac97 | |||
4a9172821d | |||
a0c0a8bad7 | |||
1b71a85f53 | |||
eb28f3346a | |||
5110e910ff | |||
54c917e5c3 | |||
5915ab20f7 | |||
7a48b93719 | |||
77bac4c077 | |||
88dd9beb9d | |||
a7bbfa00dd | |||
1a0aab9b5e | |||
3f6aa287d9 | |||
eed43032bc | |||
3db6bbead0 | |||
2f5456ad21 | |||
aecb325919 | |||
313fd6f217 | |||
fd9d5ea994 | |||
56f8b68f5a | |||
e244a82d04 | |||
6fe45c0fac | |||
a372bd8a81 | |||
ab68eff744 | |||
84733879b4 | |||
c4a05272ce | |||
91b88e81af | |||
3dd4ff005c | |||
3bc506d9dc | |||
1f88d1a871 | |||
e910c20ae2 | |||
e96fffc639 | |||
451dde2a73 | |||
056d4a3dde | |||
9618ea64b7 | |||
2d4726217a | |||
5b83c6d726 | |||
756d4e2857 | |||
03b3c10014 | |||
122b774c85 | |||
6dfc8fe598 | |||
de4a6a6ca5 | |||
29925efeac | |||
cdd0eed116 | |||
a9700417f8 | |||
d479f13ce6 | |||
7b8f02ccde | |||
aaa2072a6c | |||
094c83d0c4 | |||
f7e9e987ab | |||
555f9e4de2 | |||
88c20f8a3b | |||
3dc8e038f3 | |||
e2102f1069 | |||
96882004c9 | |||
89c2249bcb | |||
3e5b7cbb55 | |||
6e1e50ae20 | |||
62f1d17fa7 | |||
6f26524885 | |||
e091ca1c43 | |||
4deee41ef2 | |||
328ad308f3 | |||
694b9237e8 | |||
eecb3439ab | |||
7c9785d448 | |||
797db59345 | |||
ae5164509c | |||
96398cafdf | |||
4c256095a8 | |||
b67005afbc | |||
caa7674aaa | |||
ee54d858c7 | |||
8f58e3fda2 | |||
9bc190443c | |||
c7c043fcb1 | |||
6a3c8b8089 | |||
255b079caa | |||
49964fddae | |||
6add8a03e5 | |||
fc851eade2 | |||
2e05628048 | |||
46c5a6fc42 | |||
90a072d6de | |||
cfd498be78 | |||
b7d001aa45 | |||
7402e47e77 | |||
7030441d5d | |||
288821dda5 | |||
586b8da9de | |||
1391bad8eb | |||
fc89da4276 | |||
e3f183b9c8 | |||
ab07ee4762 | |||
08aa5c953c | |||
6ba15bc555 | |||
6e696a6ecb | |||
e1679e6461 | |||
eb9e30dda7 | |||
110164cc22 | |||
7a9e046d44 | |||
839da854f5 | |||
cb8802a5c2 | |||
ef28c96a13 | |||
550edbf2e4 | |||
7f604c62f1 | |||
406defae02 | |||
f06e5c3b5a | |||
817b424ed8 | |||
5f6e8277e5 | |||
5ea3dbaab0 | |||
99d9377b8f | |||
383e2e55f7 | |||
7b125c71d2 | |||
ed3ab46846 | |||
82b9a54980 | |||
127ab50950 | |||
e5c2ddfb4e | |||
a7a89eb3b9 | |||
e7cf85469d | |||
d8c8c21fd4 | |||
3cf2919189 | |||
729b489f02 | |||
dcd2dc73e0 | |||
030c921485 | |||
e931f6121c | |||
e1bf417119 | |||
0859e9bf16 | |||
04ea2e6877 | |||
4cbd8bc44a | |||
dcd383dffd | |||
35edbcc57a | |||
39ec2b987c | |||
6b30c0d8cf | |||
d2a9144ba8 | |||
3132fd40b7 | |||
b71aaf24f3 | |||
c4bfe59d2f | |||
c3472a3580 | |||
36e186c899 | |||
b52adb811c | |||
9901a6f8ea | |||
f2820c0328 | |||
2be1359986 | |||
50cd768fec | |||
adbe14a004 | |||
ba05c8d7b3 | |||
bb42557455 | |||
479ec368d7 | |||
3e48d288db | |||
4ce919d1ef | |||
aa541c3da3 | |||
bc403798d8 | |||
1ec8d10b88 | |||
24fe985b00 | |||
269dc54c47 | |||
dba46c70b9 | |||
24928e7343 | |||
bbab3a8899 | |||
364b3f6d11 | |||
de41ca2a75 | |||
71e95d3008 | |||
ece5223f24 | |||
efcd3277e6 | |||
ea4ae437d3 | |||
5c826f7ea7 | |||
83d92ed402 | |||
2f9ca2d5ca | |||
4763463469 | |||
1455b1ff05 | |||
eefd2967b8 | |||
0032754e46 | |||
3b89f6932c | |||
9adbcf2615 | |||
b672eeaab8 | |||
42c787ebaa | |||
e46c2a64dc | |||
da41d5bfa7 | |||
63de3e4628 | |||
5e492c9e2a | |||
b460ad58ab | |||
a97d1ce163 | |||
222ae80d93 | |||
9e09edd497 | |||
c30b69fd9c | |||
99460530b6 | |||
9b1fe9b0fe | |||
d17268a88a | |||
dc6c43166c | |||
28bd5a9886 | |||
d631c3edc1 | |||
4bd445e5d3 | |||
544b9810c7 | |||
bf3979cc79 | |||
9aedeacf6b | |||
fa023a4f5a | |||
49670878ba | |||
da9b19a76f |
9
.editorconfig
Normal file
@ -0,0 +1,9 @@
|
||||
[*]
|
||||
end_of_line = lf
|
||||
|
||||
[*.{lua,txt,md,json}]
|
||||
charset = utf8
|
||||
indent_size = 8
|
||||
indent_style = tab
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
12
.luacheckrc
@ -1,10 +1,14 @@
|
||||
unused_args = false
|
||||
allow_defined_top = true
|
||||
|
||||
ignore = {
|
||||
"get_debug_grid",
|
||||
}
|
||||
|
||||
read_globals = {
|
||||
"minetest",
|
||||
"default",
|
||||
"armor",
|
||||
"skins",
|
||||
"awards",
|
||||
"vector",
|
||||
"string",
|
||||
"table",
|
||||
@ -12,6 +16,8 @@ read_globals = {
|
||||
}
|
||||
|
||||
globals = {
|
||||
"craftguide",
|
||||
"i3",
|
||||
"core",
|
||||
"sfinv",
|
||||
"unified_inventory",
|
||||
}
|
||||
|
123
API.md
@ -1,5 +1,62 @@
|
||||
## API
|
||||
|
||||
### Custom tabs
|
||||
|
||||
#### `i3.new_tab(def)`
|
||||
|
||||
Custom tabs can be added to the `i3` inventory as follow (example):
|
||||
|
||||
```Lua
|
||||
i3.new_tab {
|
||||
name = "stuff",
|
||||
description = "Stuff",
|
||||
image = "image.png", -- Optional, adds an image next to the tab description
|
||||
|
||||
-- Determine if the tab is visible by a player, `false` or `nil` hide the tab
|
||||
access = function(player, data)
|
||||
local name = player:get_player_name()
|
||||
if name == "singleplayer" then
|
||||
return false
|
||||
end
|
||||
end,
|
||||
|
||||
formspec = function(player, data, fs)
|
||||
fs("label[3,1;This is just a test]")
|
||||
end,
|
||||
|
||||
fields = function(player, data, fields)
|
||||
|
||||
end,
|
||||
}
|
||||
```
|
||||
|
||||
- `player` is an `ObjectRef` to the user.
|
||||
- `data` are the user data.
|
||||
- `fs` is the formspec table which is callable with a metamethod. Each call adds a new entry.
|
||||
|
||||
#### `i3.set_fs(player[, extra_formspec])`
|
||||
|
||||
Updates the current formspec. `extra_formspec` adds an additional formspec string.
|
||||
|
||||
#### `i3.remove_tab(tabname)`
|
||||
|
||||
Deletes a tab by name.
|
||||
|
||||
#### `i3.set_tab(player[, tabname])`
|
||||
|
||||
Sets the current tab by name. `player` is an `ObjectRef` to the user.
|
||||
`tabname` can be omitted to get an empty tab.
|
||||
|
||||
#### `i3.override_tab(tabname, def)`
|
||||
|
||||
Overrides a tab by name. `def` is the tab definition like seen in `i3.set_tab`.
|
||||
|
||||
#### `i3.get_tabs()`
|
||||
|
||||
Returns the list of registered tabs.
|
||||
|
||||
---
|
||||
|
||||
### Custom recipes
|
||||
|
||||
Custom recipes are nonconventional crafts outside the main crafting grid.
|
||||
@ -84,7 +141,7 @@ Recipes can be registered from a given URL containing a JSON file (HTTP support
|
||||
|
||||
```Lua
|
||||
i3.register_craft({
|
||||
url = "https://raw.githubusercontent.com/minetest-mods/i3/master/test.json"
|
||||
url = "https://raw.githubusercontent.com/minetest-mods/i3/main/tests/test_online_recipe.json"
|
||||
})
|
||||
```
|
||||
|
||||
@ -97,7 +154,7 @@ mode is implemented as a recipe filter.
|
||||
|
||||
#### `i3.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`.
|
||||
@ -123,7 +180,7 @@ Removes all recipe filters and adds a new one.
|
||||
|
||||
#### `i3.remove_recipe_filter(name)`
|
||||
|
||||
Removes the recipe filter with the given name.
|
||||
Removes the recipe filter with the given `name`.
|
||||
|
||||
#### `i3.get_recipe_filters()`
|
||||
|
||||
@ -134,50 +191,43 @@ 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>,<...>`
|
||||
These filters are cumulative 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`: search for group `flammable` amongst items which contain
|
||||
`wood` 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.
|
||||
- If `optional_name` is omitted, the search filter will apply to all items, without pre-filtering.
|
||||
- The `+groups` filter is currently implemented by default.
|
||||
|
||||
#### `i3.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`. `values` is a table of all possible values.
|
||||
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
|
||||
i3.add_search_filter("widths", function(item, widths)
|
||||
local has_width
|
||||
local recipes = recipes_cache[item]
|
||||
i3.add_search_filter("types", function(item, drawtypes)
|
||||
local t = {}
|
||||
|
||||
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
|
||||
for i, dt in ipairs(drawtypes) do
|
||||
t[i] = (dt == "node" and reg_nodes[item] and 1) or
|
||||
(dt == "item" and reg_craftitems[item] and 1) or
|
||||
(dt == "tool" and reg_tools[item] and 1) or nil
|
||||
end
|
||||
|
||||
return has_width
|
||||
return #t > 0
|
||||
end)
|
||||
```
|
||||
|
||||
#### `i3.remove_search_filter(name)`
|
||||
|
||||
Removes the search filter with the given name.
|
||||
Removes the search filter with the given `name`.
|
||||
|
||||
#### `i3.get_search_filters()`
|
||||
|
||||
@ -187,23 +237,6 @@ Returns a map of search filters, indexed by name.
|
||||
|
||||
### Miscellaneous
|
||||
|
||||
#### `i3.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.
|
||||
|
||||
#### `i3.group_stereotypes`
|
||||
|
||||
This is the table indexing the item groups by stereotypes.
|
||||
You can add a stereotype like so:
|
||||
|
||||
```Lua
|
||||
i3.group_stereotypes.radioactive = "mod:item"
|
||||
```
|
||||
|
||||
#### `i3.export_url`
|
||||
|
||||
If set, the mod will export all the cached recipes and usages in a JSON format
|
||||
|
1
LICENSE
@ -29,6 +29,7 @@ Licenses of media (textures)
|
||||
|
||||
paramat (CC BY-SA 3.0):
|
||||
i3_arrow.png - derived from a texture by BlockMen (CC BY-SA 3.0)
|
||||
i3_hotbar.png
|
||||
|
||||
You are free to:
|
||||
Share — copy and redistribute the material in any medium or format.
|
||||
|
52
README.md
@ -1,18 +1,52 @@
|
||||
# i3
|
||||
|
||||
#### A tiling inventory for Minetest
|
||||
[](https://content.minetest.net/packages/jp/i3/) [](https://content.minetest.net/packages/jp/i3/)
|
||||
|
||||
**`i3`** is a tiling inventory for Minetest with a modern UI using the latest technologies of the Minetest engine.
|
||||
It offers everything what [**`craftguide`**](https://github.com/minetest-mods/craftguide) can do, with an inventory on top of that.
|
||||
#### **`i3`** is a next-generation inventory for Minetest.
|
||||
|
||||
This inventory features a **Progressive Mode**.
|
||||
This mode is a Terraria-like system that shows recipes you can craft from items you ever had in your inventory.
|
||||
To enable it: `i3_progressive_mode = true` in `minetest.conf`.
|
||||
This inventory offers a slick, modern UI made with the latest technologies of the Minetest engine.
|
||||
**`i3`** provides a rich [**API**](https://github.com/minetest-mods/i3/blob/master/API.md) for mod developers who want to extend it.
|
||||
|
||||
For developers, **`i3`** also has a [modding API](https://github.com/minetest-mods/i3/blob/master/API.md).
|
||||
This mod requires **Minetest 5.4+**
|
||||
|
||||
This mod also supports [`3d_armor`](https://github.com/minetest-mods/3d_armor) for a nice player model preview.
|
||||
#### List of features:
|
||||
- Crafting Guide (only in survival mode)
|
||||
- Progressive Mode¹
|
||||
- Quick Crafting
|
||||
- Backpacks
|
||||
- 3D Player Model Preview
|
||||
- Inventory Sorting (alphabetical + item stack compression)
|
||||
- Item Bookmarks
|
||||
- Waypoints
|
||||
- Item List Compression (**`moreblocks`** supported)
|
||||
|
||||
**¹** *This mode is a Terraria-like system that shows recipes you can craft from items you ever had in your inventory.
|
||||
To enable it: `i3_progressive_mode = true` in `minetest.conf`.*
|
||||
|
||||
|
||||
#### This mod officially supports the following mods:
|
||||
- [**`3d_armor`**](https://content.minetest.net/packages/stu/3d_armor/)
|
||||
- [**`skinsdb`**](https://content.minetest.net/packages/bell07/skinsdb/)
|
||||
- [**`awards`**](https://content.minetest.net/packages/rubenwardy/awards/)
|
||||
|
||||
#### Recommendations
|
||||
|
||||
To use this mod in the best conditions:
|
||||
|
||||
- Use LuaJIT
|
||||
- Use a HiDPI widescreen display
|
||||
- Use the default Freetype font style
|
||||
|
||||
#### Notes
|
||||
|
||||
`i3` uses a larger inventory than the usual inventories in Minetest games.
|
||||
Thus, most chests will be unadapted to this inventory size.
|
||||
The `i3` inventory is 9 slots wide by default (without backpack), such as in Minecraft.
|
||||
|
||||
Report any bug on the [**Bug Tracker**](https://github.com/minetest-mods/i3/issues).
|
||||
|
||||
Love this mod? Donations are appreciated: https://www.paypal.me/jpg84240
|
||||
|
||||

|
||||
Demo video (outdated): https://www.youtube.com/watch?v=25nCAaqeacU
|
||||
|
||||

|
||||
|
319
etc/compress.lua
Normal file
@ -0,0 +1,319 @@
|
||||
local fmt, insert = string.format, table.insert
|
||||
|
||||
local wood_types = {
|
||||
"acacia_wood", "aspen_wood", "junglewood", "pine_wood",
|
||||
}
|
||||
|
||||
local material_tools = {
|
||||
"bronze", "diamond", "mese", "stone", "wood",
|
||||
}
|
||||
|
||||
local material_stairs = {
|
||||
"acacia_wood", "aspen_wood", "brick", "bronzeblock", "cobble", "copperblock",
|
||||
"desert_cobble", "desert_sandstone", "desert_sandstone_block", "desert_sandstone_brick",
|
||||
"desert_stone", "desert_stone_block", "desert_stonebrick",
|
||||
"glass", "goldblock", "ice", "junglewood", "mossycobble", "obsidian",
|
||||
"obsidian_block", "obsidian_glass", "obsidianbrick", "pine_wood",
|
||||
"sandstone", "sandstone_block", "sandstonebrick",
|
||||
"silver_sandstone", "silver_sandstone_block", "silver_sandstone_brick",
|
||||
"snowblock", "steelblock", "stone", "stone_block", "stonebrick",
|
||||
"straw", "tinblock",
|
||||
}
|
||||
|
||||
local colors = {
|
||||
"black", "blue", "brown", "cyan", "dark_green", "dark_grey", "green",
|
||||
"grey", "magenta", "orange", "pink", "red", "violet", "yellow",
|
||||
}
|
||||
|
||||
local to_compress = {
|
||||
["default:wood"] = {
|
||||
replace = "wood",
|
||||
by = wood_types,
|
||||
},
|
||||
|
||||
["default:fence_wood"] = {
|
||||
replace = "wood",
|
||||
by = wood_types,
|
||||
},
|
||||
|
||||
["default:fence_rail_wood"] = {
|
||||
replace = "wood",
|
||||
by = wood_types,
|
||||
},
|
||||
|
||||
["default:mese_post_light"] = {
|
||||
replace = "mese_post_light",
|
||||
by = {
|
||||
"mese_post_light_acacia_wood",
|
||||
"mese_post_light_aspen_wood",
|
||||
"mese_post_light_junglewood",
|
||||
"mese_post_light_pine_wood",
|
||||
}
|
||||
},
|
||||
|
||||
["doors:gate_wood_closed"] = {
|
||||
replace = "wood",
|
||||
by = wood_types,
|
||||
},
|
||||
|
||||
["wool:white"] = {
|
||||
replace = "white",
|
||||
by = colors
|
||||
},
|
||||
|
||||
["dye:white"] = {
|
||||
replace = "white",
|
||||
by = colors
|
||||
},
|
||||
|
||||
["default:axe_steel"] = {
|
||||
replace = "steel",
|
||||
by = material_tools
|
||||
},
|
||||
|
||||
["default:pick_steel"] = {
|
||||
replace = "steel",
|
||||
by = material_tools
|
||||
},
|
||||
|
||||
["default:shovel_steel"] = {
|
||||
replace = "steel",
|
||||
by = material_tools
|
||||
},
|
||||
|
||||
["default:sword_steel"] = {
|
||||
replace = "steel",
|
||||
by = material_tools
|
||||
},
|
||||
|
||||
["farming:hoe_steel"] = {
|
||||
replace = "steel",
|
||||
by = {"wood", "stone"}
|
||||
},
|
||||
|
||||
["stairs:slab_wood"] = {
|
||||
replace = "wood",
|
||||
by = material_stairs
|
||||
},
|
||||
|
||||
["stairs:stair_wood"] = {
|
||||
replace = "wood",
|
||||
by = material_stairs
|
||||
},
|
||||
|
||||
["stairs:stair_inner_wood"] = {
|
||||
replace = "wood",
|
||||
by = material_stairs
|
||||
},
|
||||
|
||||
["stairs:stair_outer_wood"] = {
|
||||
replace = "wood",
|
||||
by = material_stairs
|
||||
},
|
||||
|
||||
["walls:cobble"] = {
|
||||
replace = "cobble",
|
||||
by = {"desertcobble", "mossycobble"}
|
||||
},
|
||||
}
|
||||
|
||||
local circular_saw_names = {
|
||||
{"micro", "_1"},
|
||||
{"panel", "_1"},
|
||||
{"micro", "_2"},
|
||||
{"panel", "_2"},
|
||||
{"micro", "_4"},
|
||||
{"panel", "_4"},
|
||||
{"micro", ""},
|
||||
{"panel", ""},
|
||||
|
||||
{"micro", "_12"},
|
||||
{"panel", "_12"},
|
||||
{"micro", "_14"},
|
||||
{"panel", "_14"},
|
||||
{"micro", "_15"},
|
||||
{"panel", "_15"},
|
||||
{"stair", "_outer"},
|
||||
{"stair", ""},
|
||||
|
||||
{"stair", "_inner"},
|
||||
{"slab", "_1"},
|
||||
{"slab", "_2"},
|
||||
{"slab", "_quarter"},
|
||||
{"slab", ""},
|
||||
{"slab", "_three_quarter"},
|
||||
{"slab", "_14"},
|
||||
{"slab", "_15"},
|
||||
|
||||
{"slab", "_two_sides"},
|
||||
{"slab", "_three_sides"},
|
||||
{"slab", "_three_sides_u"},
|
||||
{"stair", "_half"},
|
||||
{"stair", "_alt_1"},
|
||||
{"stair", "_alt_2"},
|
||||
{"stair", "_alt_4"},
|
||||
{"stair", "_alt"},
|
||||
{"stair", "_right_half"},
|
||||
|
||||
{"slope", ""},
|
||||
{"slope", "_half"},
|
||||
{"slope", "_half_raised"},
|
||||
{"slope", "_inner"},
|
||||
{"slope", "_inner_half"},
|
||||
{"slope", "_inner_half_raised"},
|
||||
{"slope", "_inner_cut"},
|
||||
{"slope", "_inner_cut_half"},
|
||||
|
||||
{"slope", "_inner_cut_half_raised"},
|
||||
{"slope", "_outer"},
|
||||
{"slope", "_outer_half"},
|
||||
{"slope", "_outer_half_raised"},
|
||||
{"slope", "_outer_cut"},
|
||||
{"slope", "_outer_cut_half"},
|
||||
{"slope", "_outer_cut_half_raised"},
|
||||
{"slope", "_cut"},
|
||||
}
|
||||
|
||||
local moreblocks_nodes = {
|
||||
"coal_stone",
|
||||
"wood_tile",
|
||||
"iron_checker",
|
||||
"circle_stone_bricks",
|
||||
"cobble_compressed",
|
||||
"plankstone",
|
||||
"clean_glass",
|
||||
"split_stone_tile",
|
||||
"all_faces_tree",
|
||||
"dirt_compressed",
|
||||
"coal_checker",
|
||||
"clean_glow_glass",
|
||||
"tar",
|
||||
"clean_super_glow_glass",
|
||||
"stone_tile",
|
||||
"cactus_brick",
|
||||
"super_glow_glass",
|
||||
"desert_cobble_compressed",
|
||||
"copperpatina",
|
||||
"coal_stone_bricks",
|
||||
"glow_glass",
|
||||
"cactus_checker",
|
||||
"all_faces_pine_tree",
|
||||
"all_faces_aspen_tree",
|
||||
"all_faces_acacia_tree",
|
||||
"all_faces_jungle_tree",
|
||||
"iron_stone",
|
||||
"grey_bricks",
|
||||
"wood_tile_left",
|
||||
"wood_tile_down",
|
||||
"wood_tile_center",
|
||||
"wood_tile_right",
|
||||
"wood_tile_full",
|
||||
"checker_stone_tile",
|
||||
"iron_glass",
|
||||
"iron_stone_bricks",
|
||||
"wood_tile_flipped",
|
||||
"wood_tile_offset",
|
||||
"coal_glass",
|
||||
|
||||
"straw",
|
||||
|
||||
"stone",
|
||||
"stone_block",
|
||||
"cobble",
|
||||
"mossycobble",
|
||||
"brick",
|
||||
"sandstone",
|
||||
"steelblock",
|
||||
"goldblock",
|
||||
"copperblock",
|
||||
"bronzeblock",
|
||||
"diamondblock",
|
||||
"tinblock",
|
||||
"desert_stone",
|
||||
"desert_stone_block",
|
||||
"desert_cobble",
|
||||
"meselamp",
|
||||
"glass",
|
||||
"tree",
|
||||
"wood",
|
||||
"jungletree",
|
||||
"junglewood",
|
||||
"pine_tree",
|
||||
"pine_wood",
|
||||
"acacia_tree",
|
||||
"acacia_wood",
|
||||
"aspen_tree",
|
||||
"aspen_wood",
|
||||
"obsidian",
|
||||
"obsidian_block",
|
||||
"obsidianbrick",
|
||||
"obsidian_glass",
|
||||
"stonebrick",
|
||||
"desert_stonebrick",
|
||||
"sandstonebrick",
|
||||
"silver_sandstone",
|
||||
"silver_sandstone_brick",
|
||||
"silver_sandstone_block",
|
||||
"desert_sandstone",
|
||||
"desert_sandstone_brick",
|
||||
"desert_sandstone_block",
|
||||
"sandstone_block",
|
||||
"coral_skeleton",
|
||||
"ice",
|
||||
}
|
||||
|
||||
local colors_moreblocks = table.copy(colors)
|
||||
insert(colors_moreblocks, "white")
|
||||
|
||||
local moreblocks_mods = {
|
||||
wool = colors_moreblocks,
|
||||
moreblocks = moreblocks_nodes,
|
||||
}
|
||||
|
||||
local t = {}
|
||||
|
||||
for mod, v in pairs(moreblocks_mods) do
|
||||
for _, nodename in ipairs(v) do
|
||||
t[nodename] = {}
|
||||
|
||||
for _, shape in ipairs(circular_saw_names) do
|
||||
local to_add = true
|
||||
|
||||
if shape[1] == "slope" and shape[2] == "" then
|
||||
to_add = nil
|
||||
end
|
||||
|
||||
if to_add then
|
||||
insert(t[nodename], fmt("%s_%s%s", shape[1], nodename, shape[2]))
|
||||
end
|
||||
end
|
||||
|
||||
local slope_name = fmt("slope_%s", nodename)
|
||||
|
||||
to_compress[fmt("%s:%s", mod, slope_name)] = {
|
||||
replace = slope_name,
|
||||
by = t[nodename]
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
local compressed = {}
|
||||
|
||||
for k, v in pairs(to_compress) do
|
||||
compressed[k] = compressed[k] or {}
|
||||
|
||||
for _, str in ipairs(v.by) do
|
||||
local it = k:gsub(v.replace, str)
|
||||
insert(compressed[k], it)
|
||||
end
|
||||
end
|
||||
|
||||
local _compressed = {}
|
||||
|
||||
for _, v in pairs(compressed) do
|
||||
for _, v2 in ipairs(v) do
|
||||
_compressed[v2] = true
|
||||
end
|
||||
end
|
||||
|
||||
return compressed, _compressed
|
62
etc/groups.lua
Normal file
@ -0,0 +1,62 @@
|
||||
local S = core.get_translator "i3"
|
||||
|
||||
local group_stereotypes = {
|
||||
dye = "dye:white",
|
||||
wool = "wool:white",
|
||||
wood = "default:wood",
|
||||
tree = "default:tree",
|
||||
sand = "default:sand",
|
||||
glass = "default:glass",
|
||||
stick = "default:stick",
|
||||
stone = "default:stone",
|
||||
leaves = "default:leaves",
|
||||
coal = "default:coal_lump",
|
||||
vessel = "vessels:glass_bottle",
|
||||
flower = "flowers:dandelion_yellow",
|
||||
water_bucket = "bucket:bucket_water",
|
||||
mesecon_conductor_craftable = "mesecons:wire_00000000_off",
|
||||
}
|
||||
|
||||
local group_names = {
|
||||
dye = S"Any dye",
|
||||
coal = S"Any coal",
|
||||
sand = S"Any sand",
|
||||
tree = S"Any tree",
|
||||
wool = S"Any wool",
|
||||
glass = S"Any glass",
|
||||
stick = S"Any stick",
|
||||
stone = S"Any stone",
|
||||
carpet = S"Any carpet",
|
||||
flower = S"Any flower",
|
||||
leaves = S"Any leaves",
|
||||
vessel = S"Any vessel",
|
||||
wood = S"Any wood planks",
|
||||
mushroom = S"Any mushroom",
|
||||
|
||||
["color_red,flower"] = S"Any red flower",
|
||||
["color_blue,flower"] = S"Any blue flower",
|
||||
["color_black,flower"] = S"Any black flower",
|
||||
["color_white,flower"] = S"Any white flower",
|
||||
["color_green,flower"] = S"Any green flower",
|
||||
["color_orange,flower"] = S"Any orange flower",
|
||||
["color_yellow,flower"] = S"Any yellow flower",
|
||||
["color_violet,flower"] = S"Any violet flower",
|
||||
|
||||
["color_red,dye"] = S"Any red dye",
|
||||
["color_blue,dye"] = S"Any blue dye",
|
||||
["color_grey,dye"] = S"Any grey dye",
|
||||
["color_pink,dye"] = S"Any pink dye",
|
||||
["color_cyan,dye"] = S"Any cyan dye",
|
||||
["color_black,dye"] = S"Any black dye",
|
||||
["color_white,dye"] = S"Any white dye",
|
||||
["color_brown,dye"] = S"Any brown dye",
|
||||
["color_green,dye"] = S"Any green dye",
|
||||
["color_orange,dye"] = S"Any orange dye",
|
||||
["color_yellow,dye"] = S"Any yellow dye",
|
||||
["color_violet,dye"] = S"Any violet dye",
|
||||
["color_magenta,dye"] = S"Any magenta dye",
|
||||
["color_dark_grey,dye"] = S"Any dark grey dye",
|
||||
["color_dark_green,dye"] = S"Any dark green dye",
|
||||
}
|
||||
|
||||
return group_stereotypes, group_names
|
13
etc/model_aliases.lua
Normal file
@ -0,0 +1,13 @@
|
||||
local model_alias = {
|
||||
["boats:boat"] = {name = "boats:boat", drawtype = "entity"},
|
||||
["carts:cart"] = {name = "carts:cart", drawtype = "entity", frames = "0,0"},
|
||||
["default:chest"] = {name = "default:chest_open"},
|
||||
["default:chest_locked"] = {name = "default:chest_locked_open"},
|
||||
["doors:door_wood"] = {name = "doors:door_wood_a"},
|
||||
["doors:door_glass"] = {name = "doors:door_glass_a"},
|
||||
["doors:door_obsidian_glass"] = {name = "doors:door_obsidian_glass_a"},
|
||||
["doors:door_steel"] = {name = "doors:door_steel_a"},
|
||||
["xpanes:door_steel_bar"] = {name = "xpanes:door_steel_bar_a"},
|
||||
}
|
||||
|
||||
return model_alias
|
119
etc/styles.lua
Normal file
@ -0,0 +1,119 @@
|
||||
local fmt = string.format
|
||||
|
||||
local PNG = {
|
||||
bg = "i3_bg.png",
|
||||
bg_full = "i3_bg_full.png",
|
||||
bar = "i3_bar.png",
|
||||
hotbar = "i3_hotbar.png",
|
||||
search = "i3_search.png",
|
||||
heart = "i3_heart.png",
|
||||
heart_half = "i3_heart_half.png",
|
||||
heart_grey = "i3_heart_grey.png",
|
||||
prev = "i3_next.png^\\[transformFX",
|
||||
next = "i3_next.png",
|
||||
arrow = "i3_arrow.png",
|
||||
trash = "i3_trash.png",
|
||||
sort_az = "i3_sort_az.png",
|
||||
sort_za = "i3_sort_za.png",
|
||||
compress = "i3_compress.png",
|
||||
fire = "i3_fire.png",
|
||||
fire_anim = "i3_fire_anim.png",
|
||||
book = "i3_book.png",
|
||||
sign = "i3_sign.png",
|
||||
cancel = "i3_cancel.png",
|
||||
export = "i3_export.png",
|
||||
slot = "i3_slot.png",
|
||||
tab = "i3_tab.png",
|
||||
tab_small = "i3_tab_small.png",
|
||||
tab_top = "i3_tab.png^\\[transformFY",
|
||||
furnace_anim = "i3_furnace_anim.png",
|
||||
bag = "i3_bag.png",
|
||||
armor = "i3_armor.png",
|
||||
awards = "i3_award.png",
|
||||
skins = "i3_skin.png",
|
||||
waypoints = "i3_waypoint.png",
|
||||
teleport = "i3_teleport.png",
|
||||
add = "i3_add.png",
|
||||
refresh = "i3_refresh.png",
|
||||
visible = "i3_visible.png^\\[brighten",
|
||||
nonvisible = "i3_non_visible.png",
|
||||
exit = "i3_exit.png",
|
||||
|
||||
cancel_hover = "i3_cancel.png^\\[brighten",
|
||||
search_hover = "i3_search.png^\\[brighten",
|
||||
export_hover = "i3_export.png^\\[brighten",
|
||||
trash_hover = "i3_trash.png^\\[brighten^\\[colorize:#f00:100",
|
||||
compress_hover = "i3_compress.png^\\[brighten",
|
||||
sort_az_hover = "i3_sort_az.png^\\[brighten",
|
||||
sort_za_hover = "i3_sort_za.png^\\[brighten",
|
||||
prev_hover = "i3_next_hover.png^\\[transformFX",
|
||||
next_hover = "i3_next_hover.png",
|
||||
tab_hover = "i3_tab_hover.png",
|
||||
tab_small_hover = "i3_tab_small_hover.png",
|
||||
tab_hover_top = "i3_tab_hover.png^\\[transformFY",
|
||||
bag_hover = "i3_bag_hover.png",
|
||||
armor_hover = "i3_armor_hover.png",
|
||||
awards_hover = "i3_award_hover.png",
|
||||
skins_hover = "i3_skin_hover.png",
|
||||
waypoints_hover = "i3_waypoint_hover.png",
|
||||
teleport_hover = "i3_teleport.png^\\[brighten",
|
||||
add_hover = "i3_add.png^\\[brighten",
|
||||
refresh_hover = "i3_refresh.png^\\[brighten",
|
||||
exit_hover = "i3_exit.png^\\[brighten",
|
||||
}
|
||||
|
||||
local styles = fmt([[
|
||||
style_type[field;border=false;bgcolor=transparent]
|
||||
style_type[label,field;font_size=16]
|
||||
style_type[button;border=false;content_offset=0]
|
||||
style_type[image_button,item_image_button;border=false;sound=i3_click]
|
||||
style_type[item_image_button;bgimg_hovered=%s]
|
||||
|
||||
style[pagenum,no_item,no_rcp;font=bold;font_size=18]
|
||||
style[exit;fgimg=%s;fgimg_hovered=%s;content_offset=0]
|
||||
style[cancel;fgimg=%s;fgimg_hovered=%s;content_offset=0]
|
||||
style[search;fgimg=%s;fgimg_hovered=%s;content_offset=0]
|
||||
style[prev_page;fgimg=%s;fgimg_hovered=%s]
|
||||
style[next_page;fgimg=%s;fgimg_hovered=%s]
|
||||
style[prev_recipe;fgimg=%s;fgimg_hovered=%s]
|
||||
style[next_recipe;fgimg=%s;fgimg_hovered=%s]
|
||||
style[prev_usage;fgimg=%s;fgimg_hovered=%s]
|
||||
style[next_usage;fgimg=%s;fgimg_hovered=%s]
|
||||
style[waypoint_add;fgimg=%s;fgimg_hovered=%s;content_offset=0]
|
||||
style[btn_bag,btn_armor,btn_skins;font=bold;font_size=18;content_offset=0;sound=i3_click]
|
||||
style[craft_rcp,craft_usg;noclip=true;font_size=16;sound=i3_craft;
|
||||
bgimg=i3_btn9.png;bgimg_hovered=i3_btn9_hovered.png;
|
||||
bgimg_pressed=i3_btn9_pressed.png;bgimg_middle=4,6]
|
||||
style[confirm_trash_yes,confirm_trash_no;noclip=true;font_size=16;
|
||||
bgimg=i3_btn9.png;bgimg_hovered=i3_btn9_hovered.png;
|
||||
bgimg_pressed=i3_btn9_pressed.png;bgimg_middle=4,6]
|
||||
]],
|
||||
PNG.slot,
|
||||
PNG.exit, PNG.exit_hover,
|
||||
PNG.cancel, PNG.cancel_hover,
|
||||
PNG.search, PNG.search_hover,
|
||||
PNG.prev, PNG.prev_hover,
|
||||
PNG.next, PNG.next_hover,
|
||||
PNG.prev, PNG.prev_hover,
|
||||
PNG.next, PNG.next_hover,
|
||||
PNG.prev, PNG.prev_hover,
|
||||
PNG.next, PNG.next_hover,
|
||||
PNG.add, PNG.add_hover)
|
||||
|
||||
local fs_elements = {
|
||||
label = "label[%f,%f;%s]",
|
||||
box = "box[%f,%f;%f,%f;%s]",
|
||||
image = "image[%f,%f;%f,%f;%s]",
|
||||
tooltip = "tooltip[%f,%f;%f,%f;%s]",
|
||||
button = "button[%f,%f;%f,%f;%s;%s]",
|
||||
item_image = "item_image[%f,%f;%f,%f;%s]",
|
||||
hypertext = "hypertext[%f,%f;%f,%f;%s;%s]",
|
||||
bg9 = "background9[%f,%f;%f,%f;%s;false;%u]",
|
||||
scrollbar = "scrollbar[%f,%f;%f,%f;%s;%s;%u]",
|
||||
model = "model[%f,%f;%f,%f;%s;%s;%s;%s;%s;%s;%s]",
|
||||
image_button = "image_button[%f,%f;%f,%f;%s;%s;%s]",
|
||||
animated_image = "animated_image[%f,%f;%f,%f;;%s;%u;%u]",
|
||||
item_image_button = "item_image_button[%f,%f;%f,%f;%s;%s;%s]",
|
||||
}
|
||||
|
||||
return PNG, styles, fs_elements
|
@ -1,60 +0,0 @@
|
||||
# textdomain: i3
|
||||
|
||||
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 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
|
146
locale/i3.fr.tr
@ -1,69 +1,85 @@
|
||||
# textdomain: i3
|
||||
|
||||
Craft Guide=Guide de recettes
|
||||
Crafting Guide=Guide de recettes
|
||||
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
|
||||
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
|
||||
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 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)
|
||||
### init.lua ###
|
||||
|
||||
@1 added in your inventory=@1 ajouté à votre inventaire
|
||||
@1 new recipe(s) discovered!=@1 nouvelle(s) recette(s) découverte(s)!
|
||||
@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)
|
||||
@1 spawned=@1 spawné
|
||||
Achievements: @1 of @2 (@3)=Succès : @1 sur @2 (@3)
|
||||
Any black dye=N'importe quel colorant noir
|
||||
Any black flower=N'importe quelle fleur noire
|
||||
Any blue dye=N'importe quel colorant bleu
|
||||
Any blue flower=N'importe quelle fleur bleue
|
||||
Any brown dye=N'importe quel colorant marron
|
||||
Any carpet=N'importe quel tapis
|
||||
Any coal=N'importe quel charbon
|
||||
Any cyan dye=N'importe quel colorant bleu turquoise
|
||||
Any dark green dye=N'importe quel colorant vert foncé
|
||||
Any dark grey dye=N'importe quel colorant gris foncé
|
||||
Any dye=N'importe quel colorant
|
||||
Any flower=N'importe quelle fleur
|
||||
Any glass=N'importe quel verre
|
||||
Any green dye=N'importe quel colorant vert
|
||||
Any green flower=N'importe quelle fleur verte
|
||||
Any grey dye=N'importe quel colorant gris
|
||||
Any item belonging to the groups: @1=Tout item appartenant aux groupes : @1
|
||||
Any leaves=N'importe quelles feuilles d'arbre
|
||||
Any magenta dye=N'importe quel colorant mauve
|
||||
Any mushroom=N'importe quel champignon
|
||||
Any orange dye=N'importe quel colorant orange
|
||||
Any orange flower=N'importe quelle fleur orange
|
||||
Any pink dye=N'importe quel colorant rose
|
||||
Any red dye=N'importe quel colorant rouge
|
||||
Any red flower=N'importe quelle fleur rouge
|
||||
Any sand=N'importe quel sable
|
||||
Any stick=N'importe quel bâton
|
||||
Any stone=N'importe quelle roche
|
||||
Any tree=N'importe quel tronc d'arbre
|
||||
Any vessel=N'importe quel couvert
|
||||
Any violet dye=N'importe quel colorant violet
|
||||
Any violet flower=N'importe quelle fleur violette
|
||||
Any white dye=N'importe quel colorant blanc
|
||||
Any white flower=N'importe quelle fleur blanche
|
||||
Any wood planks=N'importe quelles planches de bois
|
||||
Any wool=N'importe quelle laine
|
||||
Any yellow dye=N'importe quel colorant jaune
|
||||
Any yellow flower=N'importe quelle fleur jaune
|
||||
Armor=Armure
|
||||
Bag=Sac
|
||||
Bookmarks=Favoris
|
||||
Burning time: @1=Temps de combustion : @1
|
||||
Cannot mark this item. Bookmark limit reached.=
|
||||
Collect items to reveal more recipes=Collecter des items pour révéler des recettes
|
||||
Compress items=Compresser les items
|
||||
Cooking=Cuisson
|
||||
Cooking time: @1=Temps de cuisson : @1
|
||||
Craft (x@1)=Fabriquer (x@1)
|
||||
Digging=Minage
|
||||
Digging (by chance)=Minage (par chance)
|
||||
Heal=Guérison
|
||||
Inventory=Inventaire
|
||||
Items=Items
|
||||
Level=Niveau
|
||||
Mark this item=Ajouter aux favoris
|
||||
No item to show=Aucun item à montrer
|
||||
No recipes=Aucune recette
|
||||
No usages=Aucun usage
|
||||
Only drop if using one of these tools: @1=Tombe seulement en utilisant un de ces outils : @1
|
||||
Only drop if using this tool: @1=Tombe seulement en utilisant cet outil : @1
|
||||
Quick crafting=Fabrication rapide
|
||||
Recipe @1 of @2=Recette @1 sur @2
|
||||
Repairable by step of @1=Réparable par étape de @1
|
||||
Replaced by @1 on burning=Remplacé par @1 à la combustion
|
||||
Replaced by @1 on crafting=Remplacé par @1 à la fabrication
|
||||
Replaced by @1 on smelting=Remplacé par @1 à la cuisson
|
||||
Shapeless=Sans forme particulière
|
||||
Skins=Skins
|
||||
Sort items (A-Z)=Trier les items (A-Z)
|
||||
Sort items (Z-A)=Trier les items (Z-A)
|
||||
The inventory is extended by @1 slots=L'inventaire est étendu de @1 slots
|
||||
Trash all items=Détruire tous les items
|
||||
Unknown Item (@1)=Item inconnu (@1)
|
||||
Unmark this item=Enlever des favoris
|
||||
Usage @1 of @2=Usage @1 sur @2
|
||||
|
@ -1,60 +0,0 @@
|
||||
# textdomain: i3
|
||||
|
||||
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
|
@ -1,19 +0,0 @@
|
||||
# textdomain: i3
|
||||
|
||||
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=Нет рецептов для этой ноды
|
@ -1,40 +0,0 @@
|
||||
# textdomain: i3
|
||||
|
||||
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=不明物品
|
@ -1,37 +1,32 @@
|
||||
# textdomain: i3
|
||||
|
||||
Craft Guide=
|
||||
Crafting Guide=
|
||||
Crafting Guide Sign=
|
||||
Inventory=
|
||||
Level=
|
||||
Heal=
|
||||
Bookmarks=
|
||||
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=
|
||||
### init.lua ###
|
||||
|
||||
@1 added in your inventory=
|
||||
@1 new recipe(s) discovered!=
|
||||
@1 of chance to drop=
|
||||
@1 spawned=
|
||||
Achievements: @1 of @2 (@3)=
|
||||
Any black dye=
|
||||
Any black flower=
|
||||
Any blue dye=
|
||||
Any blue flower=
|
||||
Any brown dye=
|
||||
Any carpet=
|
||||
Any coal=
|
||||
Any cyan dye=
|
||||
Any dark green dye=
|
||||
Any dark grey dye=
|
||||
Any dye=
|
||||
Any flower=
|
||||
Any glass=
|
||||
Any green dye=
|
||||
Any green flower=
|
||||
Any grey dye=
|
||||
Any stone=
|
||||
Any item belonging to the groups: @1=
|
||||
Any leaves=
|
||||
Any magenta dye=
|
||||
Any mushroom=
|
||||
Any orange dye=
|
||||
Any orange flower=
|
||||
Any pink dye=
|
||||
@ -39,6 +34,7 @@ Any red dye=
|
||||
Any red flower=
|
||||
Any sand=
|
||||
Any stick=
|
||||
Any stone=
|
||||
Any tree=
|
||||
Any vessel=
|
||||
Any violet dye=
|
||||
@ -49,28 +45,40 @@ Any wood planks=
|
||||
Any wool=
|
||||
Any yellow dye=
|
||||
Any yellow flower=
|
||||
Shapeless=
|
||||
Cooking=
|
||||
No item to show=
|
||||
Armor=
|
||||
Bag=
|
||||
Bookmarks=
|
||||
Burning time: @1=
|
||||
Cannot mark this item. Bookmark limit reached.=
|
||||
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 node=
|
||||
Compress items=
|
||||
Cooking=
|
||||
Cooking time: @1=
|
||||
Craft (x@1)=
|
||||
Digging=
|
||||
Digging (by chance)=
|
||||
@1 of chance to drop=
|
||||
Heal=
|
||||
Inventory=
|
||||
Items=
|
||||
Level=
|
||||
Mark this item=
|
||||
Unmark this item=
|
||||
Cannot mark this item. Limit of bookmarks reached.=
|
||||
No item to show=
|
||||
No recipes=
|
||||
No usages=
|
||||
Only drop if using one of these tools: @1=
|
||||
Only drop if using this tool: @1=
|
||||
Craft item=
|
||||
Craft @1 items=
|
||||
@1 added in your inventory=
|
||||
@1 spawned=
|
||||
Quick crafting=
|
||||
Trash all items=
|
||||
Compress items=
|
||||
Recipe @1 of @2=
|
||||
Repairable by step of @1=
|
||||
Replaced by @1 on burning=
|
||||
Replaced by @1 on crafting=
|
||||
Replaced by @1 on smelting=
|
||||
Shapeless=
|
||||
Skins=
|
||||
Sort items (A-Z)=
|
||||
Sort items (Z-A)=
|
||||
The inventory is extended by @1 slots=
|
||||
Trash all items=
|
||||
Unknown Item (@1)=
|
||||
Unmark this item=
|
||||
Usage @1 of @2=
|
||||
|
2
mod.conf
@ -1,3 +1,3 @@
|
||||
name = i3
|
||||
description = Tiling inventory for Minetest
|
||||
optional_depends = 3d_armor
|
||||
optional_depends = 3d_armor, skinsdb, awards
|
||||
|
@ -1,2 +1,5 @@
|
||||
# The progressive mode shows recipes you can craft from items you ever had in your inventory.
|
||||
i3_progressive_mode (Learn crafting recipes progressively) bool false
|
||||
|
||||
# Regroup the items of the same type in the item list.
|
||||
i3_item_compression (Regroup items of the same type) bool true
|
||||
|
181
tests/test_custom_recipes.lua
Normal file
@ -0,0 +1,181 @@
|
||||
local mt = ItemStack("default:wood")
|
||||
mt:get_meta():set_string("description", "test wood")
|
||||
mt:get_meta():set_string("color", "green")
|
||||
|
||||
local mt2 = ItemStack("dye:red")
|
||||
mt2:get_meta():set_string("description", "test red")
|
||||
mt2:get_meta():set_string("color", "#ff0")
|
||||
|
||||
minetest.register_craft({
|
||||
output = mt:to_string(),
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"default:wood",
|
||||
mt2:to_string(),
|
||||
},
|
||||
})
|
||||
|
||||
i3.register_craft({
|
||||
result = "default:ladder_wood 2",
|
||||
items = {"default:copper_ingot 7, default:tin_ingot, default:steel_ingot 2"},
|
||||
})
|
||||
|
||||
i3.register_craft({
|
||||
grid = {
|
||||
"X #",
|
||||
" ## ",
|
||||
"X#X#",
|
||||
"X X",
|
||||
},
|
||||
key = {
|
||||
['#'] = "default:wood",
|
||||
['X'] = "default:glass 2",
|
||||
},
|
||||
result = "default:mese 3",
|
||||
})
|
||||
|
||||
i3.register_craft({
|
||||
grid = {
|
||||
"X #",
|
||||
" ## ",
|
||||
"X#X#X",
|
||||
"X X",
|
||||
},
|
||||
key = {
|
||||
['#'] = "default:wood",
|
||||
['X'] = "default:glass",
|
||||
},
|
||||
result = "default:mese 3",
|
||||
})
|
||||
|
||||
i3.register_craft({
|
||||
grid = {
|
||||
"X #",
|
||||
" ## ",
|
||||
"X#X#",
|
||||
"#X#X#",
|
||||
"X X",
|
||||
},
|
||||
key = {
|
||||
['#'] = "default:wood",
|
||||
['X'] = "default:glass",
|
||||
},
|
||||
result = "default:mese 3",
|
||||
})
|
||||
|
||||
i3.register_craft({
|
||||
grid = {
|
||||
"X #",
|
||||
" ## ",
|
||||
"X#X#",
|
||||
"#X#X#",
|
||||
"X X##",
|
||||
},
|
||||
key = {
|
||||
['#'] = "default:wood",
|
||||
['X'] = "default:glass",
|
||||
},
|
||||
result = "default:mese 3",
|
||||
})
|
||||
|
||||
|
||||
i3.register_craft({
|
||||
grid = {
|
||||
"X #",
|
||||
" ## ",
|
||||
"X#X#",
|
||||
"#X#X#",
|
||||
"X X##",
|
||||
" ## ",
|
||||
},
|
||||
key = {
|
||||
['#'] = "default:wood",
|
||||
['X'] = "default:glass",
|
||||
},
|
||||
result = "default:mese 3",
|
||||
})
|
||||
|
||||
i3.register_craft({
|
||||
grid = {
|
||||
"X #",
|
||||
" ## ",
|
||||
"X#X#",
|
||||
"#X#X#",
|
||||
"X X##X",
|
||||
" ## ",
|
||||
},
|
||||
key = {
|
||||
['#'] = "default:wood",
|
||||
['X'] = "default:glass",
|
||||
},
|
||||
result = "default:mese 3",
|
||||
})
|
||||
|
||||
i3.register_craft({
|
||||
grid = {
|
||||
"X #",
|
||||
" ## ",
|
||||
"X#X#",
|
||||
"#X#X#",
|
||||
"X X##X#",
|
||||
" ## ",
|
||||
},
|
||||
key = {
|
||||
['#'] = "default:wood",
|
||||
['X'] = "default:glass",
|
||||
},
|
||||
result = "default:mese 3",
|
||||
})
|
||||
|
||||
i3.register_craft({
|
||||
grid = {
|
||||
"X #",
|
||||
" ## ",
|
||||
"X#X#",
|
||||
"#X#X#",
|
||||
"X X##X#X",
|
||||
" ## ",
|
||||
},
|
||||
key = {
|
||||
['#'] = "default:wood",
|
||||
['X'] = "default:glass",
|
||||
},
|
||||
result = "default:mese 3",
|
||||
})
|
||||
|
||||
i3.register_craft({
|
||||
grid = {
|
||||
"X #",
|
||||
" ## ",
|
||||
"X#X#",
|
||||
"#X#X#",
|
||||
"X X##X#X",
|
||||
" ## ",
|
||||
"#X#X#",
|
||||
"#X#X#",
|
||||
},
|
||||
key = {
|
||||
['#'] = "default:wood",
|
||||
['X'] = "default:glass",
|
||||
},
|
||||
result = "default:mese 3",
|
||||
})
|
||||
|
||||
i3.register_craft({
|
||||
grid = {
|
||||
"X #",
|
||||
" ## ",
|
||||
"X#X#",
|
||||
"#X#X#",
|
||||
"X X##X#X",
|
||||
" ## ",
|
||||
"#X#X#",
|
||||
"#X#X#",
|
||||
"X #",
|
||||
},
|
||||
key = {
|
||||
['#'] = "default:wood",
|
||||
['X'] = "default:glass",
|
||||
},
|
||||
result = "default:mese 3",
|
||||
})
|
8
tests/test_online_recipe.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"
|
||||
}
|
49
tests/test_tabs.lua
Normal file
@ -0,0 +1,49 @@
|
||||
i3.new_tab {
|
||||
name = "test1",
|
||||
description = "Test 1 Test 1",
|
||||
image = "i3_heart.png",
|
||||
|
||||
formspec = function(player, data, fs)
|
||||
fs("label[3,1;Test 1]")
|
||||
end,
|
||||
}
|
||||
|
||||
i3.new_tab {
|
||||
name = "test2",
|
||||
description = "Test 2",
|
||||
image = "i3_mesepick.png",
|
||||
|
||||
formspec = function(player, data, fs)
|
||||
fs("label[3,1;Test 2]")
|
||||
end,
|
||||
}
|
||||
|
||||
i3.new_tab {
|
||||
name = "test3",
|
||||
description = "Test 3",
|
||||
|
||||
access = function(player, data)
|
||||
local name = player:get_player_name()
|
||||
if name == "singleplayer" then
|
||||
return true
|
||||
end
|
||||
end,
|
||||
|
||||
formspec = function(player, data, fs)
|
||||
fs("label[3,1;Test 3]")
|
||||
end,
|
||||
|
||||
fields = function(player, data, fields)
|
||||
i3.set_fs(player, "label[3,2;Test extra_fs]")
|
||||
end,
|
||||
}
|
||||
|
||||
i3.override_tab("test2", {
|
||||
name = "test2",
|
||||
description = "Test override",
|
||||
image = "i3_mesepick.png",
|
||||
|
||||
formspec = function(player, data, fs)
|
||||
fs("label[3,1;Override!]")
|
||||
end,
|
||||
})
|
BIN
textures/i3_add.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
textures/i3_armor.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
textures/i3_armor_hover.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 469 B After Width: | Height: | Size: 382 B |
BIN
textures/i3_award.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
textures/i3_award_hover.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
textures/i3_bag.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
textures/i3_bag_hover.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
textures/i3_bag_large.png
Normal file
After Width: | Height: | Size: 378 B |
BIN
textures/i3_bag_medium.png
Normal file
After Width: | Height: | Size: 372 B |
BIN
textures/i3_bag_small.png
Normal file
After Width: | Height: | Size: 459 B |
BIN
textures/i3_bar.png
Normal file
After Width: | Height: | Size: 209 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 70 B |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 262 B |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 927 B |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
textures/i3_exit.png
Normal file
After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 867 B |
Before Width: | Height: | Size: 509 B |
Before Width: | Height: | Size: 279 B After Width: | Height: | Size: 198 B |
BIN
textures/i3_heart_grey.png
Normal file
After Width: | Height: | Size: 147 B |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 150 B |
BIN
textures/i3_hotbar.png
Normal file
After Width: | Height: | Size: 435 B |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 309 B |
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 570 B |
BIN
textures/i3_non_visible.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
textures/i3_refresh.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 180 B |
BIN
textures/i3_skin.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
textures/i3_skin_hover.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 567 B After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 7.1 KiB |
BIN
textures/i3_sort_az.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
textures/i3_sort_za.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 298 B |
Before Width: | Height: | Size: 950 B After Width: | Height: | Size: 442 B |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 12 KiB |
BIN
textures/i3_tab_small.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
textures/i3_tab_small_hover.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
textures/i3_teleport.png
Normal file
After Width: | Height: | Size: 864 B |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 521 B |
BIN
textures/i3_visible.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
textures/i3_waypoint.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
textures/i3_waypoint_hover.png
Normal file
After Width: | Height: | Size: 2.7 KiB |