mirror of
https://github.com/minetest-mods/i3.git
synced 2024-12-26 02:40:38 +01:00
Minor API change
This commit is contained in:
parent
dc8efbd16c
commit
6c3d2fe5cf
11
API.md
11
API.md
@ -4,6 +4,9 @@
|
||||
|
||||
#### `i3.new_tab(name, def)`
|
||||
|
||||
- `name` is the tab name.
|
||||
- `def` is the tab definition.
|
||||
|
||||
Custom tabs can be added to the `i3` inventory as follow (example):
|
||||
|
||||
```Lua
|
||||
@ -238,17 +241,17 @@ A map of search filters, indexed by name.
|
||||
|
||||
Sorting methods are used to filter the player's main inventory.
|
||||
|
||||
#### `i3.add_sorting_method(def)`
|
||||
#### `i3.add_sorting_method(name, def)`
|
||||
|
||||
Adds a player inventory sorting method.
|
||||
|
||||
- `name` is the method name.
|
||||
- `def` is the method definition.
|
||||
|
||||
Example:
|
||||
|
||||
```Lua
|
||||
i3.add_sorting_method {
|
||||
name = "test",
|
||||
i3.add_sorting_method("test", {
|
||||
description = "Cool sorting method",
|
||||
func = function(list, data)
|
||||
-- `list`: inventory list
|
||||
@ -259,7 +262,7 @@ i3.add_sorting_method {
|
||||
-- A list must be returned
|
||||
return list
|
||||
end,
|
||||
}
|
||||
})
|
||||
|
||||
```
|
||||
|
||||
|
19
src/api.lua
19
src/api.lua
@ -298,32 +298,31 @@ function i3.compress(item, def)
|
||||
end
|
||||
end
|
||||
|
||||
function i3.add_sorting_method(def)
|
||||
if not true_table(def) then
|
||||
return err "i3.add_sorting_method: definition missing"
|
||||
elseif not true_str(def.name) then
|
||||
function i3.add_sorting_method(name, def)
|
||||
if not true_str(name) then
|
||||
return err "i3.add_sorting_method: name missing"
|
||||
elseif not true_table(def) then
|
||||
return err "i3.add_sorting_method: definition missing"
|
||||
elseif not is_func(def.func) then
|
||||
return err "i3.add_sorting_method: function missing"
|
||||
end
|
||||
|
||||
def.name = name
|
||||
insert(i3.sorting_methods, def)
|
||||
end
|
||||
|
||||
i3.add_sorting_method {
|
||||
name = "alphabetical",
|
||||
i3.add_sorting_method("alphabetical", {
|
||||
description = S"Sort items by name (A-Z)",
|
||||
func = function(list, data)
|
||||
sorter(list, data.reverse_sorting, 1)
|
||||
return list
|
||||
end
|
||||
}
|
||||
})
|
||||
|
||||
i3.add_sorting_method {
|
||||
name = "numerical",
|
||||
i3.add_sorting_method("numerical", {
|
||||
description = S"Sort items by number of items per stack",
|
||||
func = function(list, data)
|
||||
sorter(list, data.reverse_sorting, 2)
|
||||
return list
|
||||
end,
|
||||
}
|
||||
})
|
||||
|
@ -475,7 +475,7 @@ local function show_popup(fs, data)
|
||||
fs("image_button", 7.65, 10.6, 0.35, 0.35, "", "next_sort", "")
|
||||
|
||||
fs("style[sort_method;font=bold;font_size=20]")
|
||||
fs("button", 2.55, 10.36, 5.1, 0.8, "sort_method", data.sort:gsub("^%l", upper))
|
||||
fs("button", 2.55, 10.36, 5.1, 0.8, "sort_method", toupper(data.sort))
|
||||
|
||||
local idx = get_sorting_idx(data.sort)
|
||||
local desc = i3.sorting_methods[idx].description
|
||||
|
Loading…
Reference in New Issue
Block a user