mirror of
https://github.com/minetest-mods/i3.git
synced 2024-12-27 11:20:40 +01:00
Small cleaning
This commit is contained in:
parent
6d2682b8d9
commit
3a83e015ae
12
etc/api.lua
12
etc/api.lua
@ -1,10 +1,10 @@
|
|||||||
local make_fs = i3.files.gui()
|
local make_fs = i3.files.gui()
|
||||||
|
|
||||||
local gmatch, match, split = i3.need("gmatch", "match", "split")
|
local gmatch, match, split = i3.get("gmatch", "match", "split")
|
||||||
local S, err, fmt, reg_items = i3.need("S", "err", "fmt", "reg_items")
|
local S, err, fmt, reg_items = i3.get("S", "err", "fmt", "reg_items")
|
||||||
local sort, concat, copy, insert, remove = i3.need("sort", "concat", "copy", "insert", "remove")
|
local sort, concat, copy, insert, remove = i3.get("sort", "concat", "copy", "insert", "remove")
|
||||||
local true_str, true_table, is_str, is_func, is_table, clean_name =
|
local true_str, true_table, is_str, is_func, is_table, clean_name =
|
||||||
i3.need("true_str", "true_table", "is_str", "is_func", "is_table", "clean_name")
|
i3.get("true_str", "true_table", "is_str", "is_func", "is_table", "clean_name")
|
||||||
|
|
||||||
function i3.register_craft_type(name, def)
|
function i3.register_craft_type(name, def)
|
||||||
if not true_str(name) then
|
if not true_str(name) then
|
||||||
@ -170,8 +170,6 @@ function i3.set_fs(player, _fs)
|
|||||||
player:set_inventory_formspec(fs)
|
player:set_inventory_formspec(fs)
|
||||||
end
|
end
|
||||||
|
|
||||||
local set_fs = i3.set_fs
|
|
||||||
|
|
||||||
function i3.new_tab(def)
|
function i3.new_tab(def)
|
||||||
if not true_table(def) then
|
if not true_table(def) then
|
||||||
return err "i3.new_tab: tab definition missing"
|
return err "i3.new_tab: tab definition missing"
|
||||||
@ -308,4 +306,4 @@ function i3.compress(item, def)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return set_fs, i3.set_tab
|
return i3.set_fs, i3.set_tab
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
local set_fs = i3.files.api()
|
local set_fs = i3.files.api()
|
||||||
local S, fmt, msg, spawn_item = i3.need("S", "fmt", "msg", "spawn_item")
|
local S, fmt, msg, spawn_item = i3.get("S", "fmt", "msg", "spawn_item")
|
||||||
|
|
||||||
local function init_backpack(player)
|
local function init_backpack(player)
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
|
@ -351,7 +351,9 @@ local function spawn_item(player, stack)
|
|||||||
core.add_item(look_at, stack)
|
core.add_item(look_at, stack)
|
||||||
end
|
end
|
||||||
|
|
||||||
return {
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
local registry = {
|
||||||
-- Groups
|
-- Groups
|
||||||
is_group = is_group,
|
is_group = is_group,
|
||||||
extract_groups = extract_groups,
|
extract_groups = extract_groups,
|
||||||
@ -382,6 +384,8 @@ return {
|
|||||||
|
|
||||||
-- Core functions
|
-- Core functions
|
||||||
clr = core.colorize,
|
clr = core.colorize,
|
||||||
|
slz = core.serialize,
|
||||||
|
dslz = core.deserialize,
|
||||||
ESC = core.formspec_escape,
|
ESC = core.formspec_escape,
|
||||||
check_privs = core.check_player_privs,
|
check_privs = core.check_player_privs,
|
||||||
|
|
||||||
@ -437,3 +441,13 @@ return {
|
|||||||
vec_eq = vector.equals,
|
vec_eq = vector.equals,
|
||||||
vec_mul = vector.multiply,
|
vec_mul = vector.multiply,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function i3.get(...)
|
||||||
|
local t = {}
|
||||||
|
|
||||||
|
for i, var in ipairs{...} do
|
||||||
|
t[i] = registry[var]
|
||||||
|
end
|
||||||
|
|
||||||
|
return unpack(t)
|
||||||
|
end
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
local fmt, copy, insert = i3.need("fmt", "copy", "insert")
|
local fmt, copy, insert = i3.get("fmt", "copy", "insert")
|
||||||
|
|
||||||
local wood_types = {
|
local wood_types = {
|
||||||
"acacia_wood", "aspen_wood", "junglewood", "pine_wood",
|
"acacia_wood", "aspen_wood", "junglewood", "pine_wood",
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
local S = i3.need("S")
|
local S = i3.get("S")
|
||||||
|
|
||||||
local group_stereotypes = {
|
local group_stereotypes = {
|
||||||
dye = "dye:white",
|
dye = "dye:white",
|
||||||
|
18
etc/gui.lua
18
etc/gui.lua
@ -3,17 +3,17 @@ local damage_enabled = core.settings:get_bool "enable_damage"
|
|||||||
local model_aliases = i3.files.model_alias()
|
local model_aliases = i3.files.model_alias()
|
||||||
local PNG, styles, fs_elements = i3.files.styles()
|
local PNG, styles, fs_elements = i3.files.styles()
|
||||||
|
|
||||||
local S, ES, translate = i3.need("S", "ES", "translate")
|
local S, ES, translate = i3.get("S", "ES", "translate")
|
||||||
local clr, ESC, check_privs = i3.need("clr", "ESC", "check_privs")
|
local clr, ESC, check_privs = i3.get("clr", "ESC", "check_privs")
|
||||||
local min, max, floor, ceil, round = i3.need("min", "max", "floor", "ceil", "round")
|
local min, max, floor, ceil, round = i3.get("min", "max", "floor", "ceil", "round")
|
||||||
local sprintf, find, match, sub, upper = i3.need("fmt", "find", "match", "sub", "upper")
|
local sprintf, find, match, sub, upper = i3.get("fmt", "find", "match", "sub", "upper")
|
||||||
local reg_items, reg_tools, reg_entities = i3.need("reg_items", "reg_tools", "reg_entities")
|
local reg_items, reg_tools, reg_entities = i3.get("reg_items", "reg_tools", "reg_entities")
|
||||||
local maxn, sort, concat, copy, insert, remove = i3.need("maxn", "sort", "concat", "copy", "insert", "remove")
|
local maxn, sort, concat, copy, insert, remove = i3.get("maxn", "sort", "concat", "copy", "insert", "remove")
|
||||||
|
|
||||||
local true_str, is_fav, is_num = i3.need("true_str", "is_fav", "is_num")
|
local true_str, is_fav, is_num = i3.get("true_str", "is_fav", "is_num")
|
||||||
local is_group, extract_groups, item_has_groups = i3.need("is_group", "extract_groups", "item_has_groups")
|
local is_group, extract_groups, item_has_groups = i3.get("is_group", "extract_groups", "item_has_groups")
|
||||||
local groups_to_items, compression_active, compressible =
|
local groups_to_items, compression_active, compressible =
|
||||||
i3.need("groups_to_items", "compression_active", "compressible")
|
i3.get("groups_to_items", "compression_active", "compressible")
|
||||||
|
|
||||||
local function fmt(elem, ...)
|
local function fmt(elem, ...)
|
||||||
if not fs_elements[elem] then
|
if not fs_elements[elem] then
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
local set_fs, set_tab = i3.files.api()
|
local set_fs, set_tab = i3.files.api()
|
||||||
local _, get_inventory_fs = i3.files.gui()
|
local _, get_inventory_fs = i3.files.gui()
|
||||||
|
|
||||||
local S, clr = i3.need("S", "clr")
|
local S, clr = i3.get("S", "clr")
|
||||||
local min, ceil, random = i3.need("min", "ceil", "random")
|
local min, ceil, random = i3.get("min", "ceil", "random")
|
||||||
local reg_items, reg_aliases = i3.need("reg_items", "reg_aliases")
|
local reg_items, reg_aliases = i3.get("reg_items", "reg_aliases")
|
||||||
local fmt, find, match, sub, lower = i3.need("fmt", "find", "match", "sub", "lower")
|
local fmt, find, match, sub, lower = i3.get("fmt", "find", "match", "sub", "lower")
|
||||||
local vec_new, vec_mul, vec_eq, vec_round = i3.need("vec_new", "vec_mul", "vec_eq", "vec_round")
|
local vec_new, vec_mul, vec_eq, vec_round = i3.get("vec_new", "vec_mul", "vec_eq", "vec_round")
|
||||||
local sort, copy, insert, remove, indexof = i3.need("sort", "copy", "insert", "remove", "indexof")
|
local sort, copy, insert, remove, indexof = i3.get("sort", "copy", "insert", "remove", "indexof")
|
||||||
|
|
||||||
local msg, is_str, is_fav = i3.need("msg", "is_str", "is_fav")
|
local msg, is_str, is_fav = i3.get("msg", "is_str", "is_fav")
|
||||||
local is_group, extract_groups, groups_to_items =
|
local is_group, extract_groups, groups_to_items =
|
||||||
i3.need("is_group", "extract_groups", "groups_to_items")
|
i3.get("is_group", "extract_groups", "groups_to_items")
|
||||||
local search, sort_by_category, apply_recipe_filters =
|
local search, sort_by_category, apply_recipe_filters =
|
||||||
i3.need("search", "sort_by_category", "apply_recipe_filters")
|
i3.get("search", "sort_by_category", "apply_recipe_filters")
|
||||||
local show_item, spawn_item, clean_name, compressible, check_privs =
|
local show_item, spawn_item, clean_name, compressible, check_privs =
|
||||||
i3.need("show_item", "spawn_item", "clean_name", "compressible", "check_privs")
|
i3.get("show_item", "spawn_item", "clean_name", "compressible", "check_privs")
|
||||||
|
|
||||||
local old_is_creative_enabled = core.is_creative_enabled
|
local old_is_creative_enabled = core.is_creative_enabled
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
local set_fs = i3.files.api()
|
local set_fs = i3.files.api()
|
||||||
local singleplayer = core.is_singleplayer()
|
local singleplayer = core.is_singleplayer()
|
||||||
|
|
||||||
local fmt, search, table_merge, array_diff = i3.need("fmt", "search", "table_merge", "array_diff")
|
local fmt, search, table_merge, array_diff = i3.get("fmt", "search", "table_merge", "array_diff")
|
||||||
local is_group, extract_groups, item_has_groups, apply_recipe_filters =
|
local is_group, extract_groups, item_has_groups, apply_recipe_filters =
|
||||||
i3.need("is_group", "extract_groups", "item_has_groups", "apply_recipe_filters")
|
i3.get("is_group", "extract_groups", "item_has_groups", "apply_recipe_filters")
|
||||||
|
|
||||||
local POLL_FREQ = 0.25
|
local POLL_FREQ = 0.25
|
||||||
local HUD_TIMER_MAX = 1.5
|
local HUD_TIMER_MAX = 1.5
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
local replacements = {fuel = {}}
|
local replacements = {fuel = {}}
|
||||||
|
|
||||||
local fmt, match = i3.need("fmt", "match")
|
local fmt, reg_items, reg_aliases = i3.get("fmt", "reg_items", "reg_aliases")
|
||||||
local reg_items, reg_aliases = i3.need("reg_items", "reg_aliases")
|
local maxn, copy, insert, sort, match = i3.get("maxn", "copy", "insert", "sort", "match")
|
||||||
local maxn, copy, insert = i3.need("maxn", "copy", "insert")
|
|
||||||
|
|
||||||
local is_group, extract_groups, item_has_groups, groups_to_items =
|
local is_group, extract_groups, item_has_groups, groups_to_items =
|
||||||
i3.need("is_group", "extract_groups", "item_has_groups", "groups_to_items")
|
i3.get("is_group", "extract_groups", "item_has_groups", "groups_to_items")
|
||||||
local true_str, is_table, show_item, table_merge, table_replace, table_eq =
|
local true_str, is_table, show_item, table_merge, table_replace, table_eq =
|
||||||
i3.need("true_str", "is_table", "show_item", "table_merge", "table_replace", "table_eq")
|
i3.get("true_str", "is_table", "show_item", "table_merge", "table_replace", "table_eq")
|
||||||
|
|
||||||
local function get_burntime(item)
|
local function get_burntime(item)
|
||||||
return core.get_craft_result{method = "fuel", items = {item}}.time
|
return core.get_craft_result{method = "fuel", items = {item}}.time
|
||||||
@ -250,4 +249,40 @@ local function resolve_aliases(hash)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return cache_drops, cache_fuel, cache_recipes, cache_usages, resolve_aliases
|
local function init_recipes()
|
||||||
|
local _select, _preselect = {}, {}
|
||||||
|
|
||||||
|
for name, def in pairs(reg_items) do
|
||||||
|
if name ~= "" and show_item(def) then
|
||||||
|
cache_drops(name, def.drop)
|
||||||
|
cache_fuel(name)
|
||||||
|
cache_recipes(name)
|
||||||
|
|
||||||
|
_preselect[name] = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for name in pairs(_preselect) do
|
||||||
|
cache_usages(name)
|
||||||
|
|
||||||
|
i3.init_items[#i3.init_items + 1] = name
|
||||||
|
_select[name] = true
|
||||||
|
end
|
||||||
|
|
||||||
|
resolve_aliases(_select)
|
||||||
|
sort(i3.init_items)
|
||||||
|
|
||||||
|
if i3.http and type(i3.export_url) == "string" then
|
||||||
|
local post_data = {
|
||||||
|
recipes = i3.recipes_cache,
|
||||||
|
usages = i3.usages_cache,
|
||||||
|
}
|
||||||
|
|
||||||
|
i3.http.fetch_async {
|
||||||
|
url = i3.export_url,
|
||||||
|
post_data = core.write_json(post_data),
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return init_recipes
|
||||||
|
63
init.lua
63
init.lua
@ -65,25 +65,9 @@ i3 = {
|
|||||||
item_compression = core.settings:get_bool("i3_item_compression", true),
|
item_compression = core.settings:get_bool("i3_item_compression", true),
|
||||||
}
|
}
|
||||||
|
|
||||||
local common = i3.files.common()
|
i3.files.common()
|
||||||
|
|
||||||
function i3.need(...)
|
|
||||||
local t = {}
|
|
||||||
|
|
||||||
for _, var in ipairs {...} do
|
|
||||||
for name, func in pairs(common) do
|
|
||||||
if var == name then
|
|
||||||
t[#t + 1] = func
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return unpack(t)
|
|
||||||
end
|
|
||||||
|
|
||||||
local storage = core.get_mod_storage()
|
local storage = core.get_mod_storage()
|
||||||
local slz, dslz = core.serialize, core.deserialize
|
local fmt, copy, slz, dslz = i3.get("fmt", "copy", "slz", "dslz")
|
||||||
|
|
||||||
i3.data = dslz(storage:get_string "data") or {}
|
i3.data = dslz(storage:get_string "data") or {}
|
||||||
i3.compress_groups, i3.compressed = i3.files.compress()
|
i3.compress_groups, i3.compressed = i3.files.compress()
|
||||||
@ -91,11 +75,8 @@ i3.group_stereotypes, i3.group_names = i3.files.groups()
|
|||||||
|
|
||||||
local set_fs = i3.files.api()
|
local set_fs = i3.files.api()
|
||||||
local init_backpack = i3.files.bags()
|
local init_backpack = i3.files.bags()
|
||||||
|
local init_recipes = i3.files.recipes()
|
||||||
i3.files.inventory()
|
i3.files.inventory()
|
||||||
local cache_drops, cache_fuel, cache_recipes, cache_usages, resolve_aliases = i3.files.recipes()
|
|
||||||
|
|
||||||
local fmt, sort, copy = i3.need("fmt", "sort", "copy")
|
|
||||||
local show_item, reg_items = i3.need("show_item", "reg_items")
|
|
||||||
|
|
||||||
local function get_lang_code(info)
|
local function get_lang_code(info)
|
||||||
return info and info.lang_code
|
return info and info.lang_code
|
||||||
@ -142,42 +123,6 @@ if rawget(_G, "awards") then
|
|||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function get_init_items()
|
|
||||||
local _select, _preselect = {}, {}
|
|
||||||
|
|
||||||
for name, def in pairs(reg_items) do
|
|
||||||
if name ~= "" and show_item(def) then
|
|
||||||
cache_drops(name, def.drop)
|
|
||||||
cache_fuel(name)
|
|
||||||
cache_recipes(name)
|
|
||||||
|
|
||||||
_preselect[name] = true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
for name in pairs(_preselect) do
|
|
||||||
cache_usages(name)
|
|
||||||
|
|
||||||
i3.init_items[#i3.init_items + 1] = name
|
|
||||||
_select[name] = true
|
|
||||||
end
|
|
||||||
|
|
||||||
resolve_aliases(_select)
|
|
||||||
sort(i3.init_items)
|
|
||||||
|
|
||||||
if i3.http and type(i3.export_url) == "string" then
|
|
||||||
local post_data = {
|
|
||||||
recipes = i3.recipes_cache,
|
|
||||||
usages = i3.usages_cache,
|
|
||||||
}
|
|
||||||
|
|
||||||
i3.http.fetch_async {
|
|
||||||
url = i3.export_url,
|
|
||||||
post_data = core.write_json(post_data),
|
|
||||||
}
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local function disable_inventories()
|
local function disable_inventories()
|
||||||
if rawget(_G, "sfinv") then
|
if rawget(_G, "sfinv") then
|
||||||
function sfinv.set_player_inventory_formspec() return end
|
function sfinv.set_player_inventory_formspec() return end
|
||||||
@ -257,7 +202,7 @@ local function save_data(player_name)
|
|||||||
end
|
end
|
||||||
|
|
||||||
core.register_on_mods_loaded(function()
|
core.register_on_mods_loaded(function()
|
||||||
get_init_items()
|
init_recipes()
|
||||||
disable_inventories()
|
disable_inventories()
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user