mirror of
https://github.com/minetest-mods/craftguide.git
synced 2024-11-23 03:13:44 +01:00
Code cleaning
This commit is contained in:
parent
8b86dfc857
commit
2fa14ae146
130
init.lua
130
init.lua
@ -1,6 +1,7 @@
|
|||||||
craftguide = {}
|
craftguide = {}
|
||||||
|
|
||||||
local pdata = {}
|
local pdata = {}
|
||||||
|
local core = core
|
||||||
|
|
||||||
-- Caches
|
-- Caches
|
||||||
local init_items = {}
|
local init_items = {}
|
||||||
@ -15,12 +16,19 @@ local sfinv_only = core.settings:get_bool("craftguide_sfinv_only") and rawget(_G
|
|||||||
local after = core.after
|
local after = core.after
|
||||||
local colorize = core.colorize
|
local colorize = core.colorize
|
||||||
local reg_items = core.registered_items
|
local reg_items = core.registered_items
|
||||||
local get_result = core.get_craft_result
|
|
||||||
local get_players = core.get_connected_players
|
|
||||||
local show_formspec = core.show_formspec
|
local show_formspec = core.show_formspec
|
||||||
|
local globalstep = core.register_globalstep
|
||||||
|
local on_shutdown = core.register_on_shutdown
|
||||||
|
local get_craft_result = core.get_craft_result
|
||||||
|
local get_players = core.get_connected_players
|
||||||
|
local on_joinplayer = core.register_on_joinplayer
|
||||||
|
local register_command = core.register_chatcommand
|
||||||
local get_all_recipes = core.get_all_craft_recipes
|
local get_all_recipes = core.get_all_craft_recipes
|
||||||
local get_player_by_name = core.get_player_by_name
|
local get_player_by_name = core.get_player_by_name
|
||||||
|
local on_mods_loaded = core.register_on_mods_loaded
|
||||||
|
local on_leaveplayer = core.register_on_leaveplayer
|
||||||
local serialize, deserialize = core.serialize, core.deserialize
|
local serialize, deserialize = core.serialize, core.deserialize
|
||||||
|
local on_receive_fields = core.register_on_player_receive_fields
|
||||||
|
|
||||||
local ESC = core.formspec_escape
|
local ESC = core.formspec_escape
|
||||||
local S = core.get_translator("craftguide")
|
local S = core.get_translator("craftguide")
|
||||||
@ -63,24 +71,6 @@ craftguide.group_stereotypes = {
|
|||||||
mesecon_conductor_craftable = "mesecons:wire_00000000_off",
|
mesecon_conductor_craftable = "mesecons:wire_00000000_off",
|
||||||
}
|
}
|
||||||
|
|
||||||
local item_lists = {
|
|
||||||
"main",
|
|
||||||
"craft",
|
|
||||||
"craftpreview",
|
|
||||||
}
|
|
||||||
|
|
||||||
local function table_merge(t, t2)
|
|
||||||
t, t2 = t or {}, t2 or {}
|
|
||||||
local c = #t
|
|
||||||
|
|
||||||
for i = 1, #t2 do
|
|
||||||
c = c + 1
|
|
||||||
t[c] = t2[i]
|
|
||||||
end
|
|
||||||
|
|
||||||
return t
|
|
||||||
end
|
|
||||||
|
|
||||||
local function table_replace(t, val, new)
|
local function table_replace(t, val, new)
|
||||||
for k, v in pairs(t) do
|
for k, v in pairs(t) do
|
||||||
if v == val then
|
if v == val then
|
||||||
@ -89,32 +79,6 @@ local function table_replace(t, val, new)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function table_diff(t, t2)
|
|
||||||
local hash = {}
|
|
||||||
|
|
||||||
for i = 1, #t do
|
|
||||||
local v = t[i]
|
|
||||||
hash[v] = true
|
|
||||||
end
|
|
||||||
|
|
||||||
for i = 1, #t2 do
|
|
||||||
local v = t2[i]
|
|
||||||
hash[v] = nil
|
|
||||||
end
|
|
||||||
|
|
||||||
local diff, c = {}, 0
|
|
||||||
|
|
||||||
for i = 1, #t do
|
|
||||||
local v = t[i]
|
|
||||||
if hash[v] then
|
|
||||||
c = c + 1
|
|
||||||
diff[c] = v
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return diff
|
|
||||||
end
|
|
||||||
|
|
||||||
local function __func()
|
local function __func()
|
||||||
return debug.getinfo(2, "n").name
|
return debug.getinfo(2, "n").name
|
||||||
end
|
end
|
||||||
@ -270,7 +234,7 @@ local function groups_item_in_recipe(item, recipe)
|
|||||||
local item_groups = reg_items[item].groups
|
local item_groups = reg_items[item].groups
|
||||||
|
|
||||||
for _, recipe_item in pairs(recipe.items) do
|
for _, recipe_item in pairs(recipe.items) do
|
||||||
if sub(recipe_item, 1, 6) == "group:" then
|
if sub(recipe_item, 1,6) == "group:" then
|
||||||
local groups = extract_groups(recipe_item)
|
local groups = extract_groups(recipe_item)
|
||||||
if item_has_groups(item_groups, groups) then
|
if item_has_groups(item_groups, groups) then
|
||||||
local usage = copy(recipe)
|
local usage = copy(recipe)
|
||||||
@ -384,7 +348,7 @@ local function get_recipes(item, data, player)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function get_burntime(item)
|
local function get_burntime(item)
|
||||||
return get_result({method = "fuel", width = 1, items = {item}}).time
|
return get_craft_result({method = "fuel", width = 1, items = {item}}).time
|
||||||
end
|
end
|
||||||
|
|
||||||
local function cache_fuel(item)
|
local function cache_fuel(item)
|
||||||
@ -831,7 +795,7 @@ local function get_init_items()
|
|||||||
sort(init_items)
|
sort(init_items)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function on_receive_fields(player, fields)
|
local function _fields(player, fields)
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
local data = pdata[name]
|
local data = pdata[name]
|
||||||
|
|
||||||
@ -914,9 +878,9 @@ local function on_receive_fields(player, fields)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
core.register_on_mods_loaded(get_init_items)
|
on_mods_loaded(get_init_items)
|
||||||
|
|
||||||
core.register_on_joinplayer(function(player)
|
on_joinplayer(function(player)
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
init_data(name)
|
init_data(name)
|
||||||
end)
|
end)
|
||||||
@ -943,13 +907,13 @@ if sfinv_only then
|
|||||||
end,
|
end,
|
||||||
|
|
||||||
on_player_receive_fields = function(self, player, context, fields)
|
on_player_receive_fields = function(self, player, context, fields)
|
||||||
on_receive_fields(player, fields)
|
_fields(player, fields)
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
else
|
else
|
||||||
core.register_on_player_receive_fields(function(player, formname, fields)
|
on_receive_fields(function(player, formname, fields)
|
||||||
if formname == "craftguide" then
|
if formname == "craftguide" then
|
||||||
on_receive_fields(player, fields)
|
_fields(player, fields)
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
@ -1048,7 +1012,7 @@ if progressive_mode then
|
|||||||
local function item_in_inv(item, inv_items)
|
local function item_in_inv(item, inv_items)
|
||||||
local inv_items_size = #inv_items
|
local inv_items_size = #inv_items
|
||||||
|
|
||||||
if sub(item, 1, 6) == "group:" then
|
if sub(item, 1,6) == "group:" then
|
||||||
local groups = extract_groups(item)
|
local groups = extract_groups(item)
|
||||||
for i = 1, inv_items_size do
|
for i = 1, inv_items_size do
|
||||||
local inv_item = reg_items[inv_items[i]]
|
local inv_item = reg_items[inv_items[i]]
|
||||||
@ -1102,6 +1066,50 @@ if progressive_mode then
|
|||||||
return filtered
|
return filtered
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local item_lists = {
|
||||||
|
"main",
|
||||||
|
"craft",
|
||||||
|
"craftpreview",
|
||||||
|
}
|
||||||
|
|
||||||
|
local function table_merge(t, t2)
|
||||||
|
t, t2 = t or {}, t2 or {}
|
||||||
|
local c = #t
|
||||||
|
|
||||||
|
for i = 1, #t2 do
|
||||||
|
c = c + 1
|
||||||
|
t[c] = t2[i]
|
||||||
|
end
|
||||||
|
|
||||||
|
return t
|
||||||
|
end
|
||||||
|
|
||||||
|
local function table_diff(t, t2)
|
||||||
|
local hash = {}
|
||||||
|
|
||||||
|
for i = 1, #t do
|
||||||
|
local v = t[i]
|
||||||
|
hash[v] = true
|
||||||
|
end
|
||||||
|
|
||||||
|
for i = 1, #t2 do
|
||||||
|
local v = t2[i]
|
||||||
|
hash[v] = nil
|
||||||
|
end
|
||||||
|
|
||||||
|
local diff, c = {}, 0
|
||||||
|
|
||||||
|
for i = 1, #t do
|
||||||
|
local v = t[i]
|
||||||
|
if hash[v] then
|
||||||
|
c = c + 1
|
||||||
|
diff[c] = v
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return diff
|
||||||
|
end
|
||||||
|
|
||||||
local function get_inv_items(player)
|
local function get_inv_items(player)
|
||||||
local inv = player:get_inventory()
|
local inv = player:get_inventory()
|
||||||
local stacks = {}
|
local stacks = {}
|
||||||
@ -1196,7 +1204,7 @@ if progressive_mode then
|
|||||||
|
|
||||||
poll_new_items()
|
poll_new_items()
|
||||||
|
|
||||||
minetest.register_globalstep(function(dtime)
|
globalstep(function(dtime)
|
||||||
for i = 1, #PLAYERS do
|
for i = 1, #PLAYERS do
|
||||||
local player = PLAYERS[i]
|
local player = PLAYERS[i]
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
@ -1210,7 +1218,7 @@ if progressive_mode then
|
|||||||
|
|
||||||
craftguide.add_recipe_filter("Default progressive filter", progressive_filter)
|
craftguide.add_recipe_filter("Default progressive filter", progressive_filter)
|
||||||
|
|
||||||
core.register_on_joinplayer(function(player)
|
on_joinplayer(function(player)
|
||||||
PLAYERS = get_players()
|
PLAYERS = get_players()
|
||||||
|
|
||||||
local meta = player:get_meta()
|
local meta = player:get_meta()
|
||||||
@ -1263,12 +1271,12 @@ if progressive_mode then
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
core.register_on_leaveplayer(function(player)
|
on_leaveplayer(function(player)
|
||||||
PLAYERS = get_players()
|
PLAYERS = get_players()
|
||||||
save_meta(player)
|
save_meta(player)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
core.register_on_shutdown(function()
|
on_shutdown(function()
|
||||||
for i = 1, #PLAYERS do
|
for i = 1, #PLAYERS do
|
||||||
local player = PLAYERS[i]
|
local player = PLAYERS[i]
|
||||||
save_meta(player)
|
save_meta(player)
|
||||||
@ -1276,12 +1284,12 @@ if progressive_mode then
|
|||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
core.register_on_leaveplayer(function(player)
|
on_leaveplayer(function(player)
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
pdata[name] = nil
|
pdata[name] = nil
|
||||||
end)
|
end)
|
||||||
|
|
||||||
core.register_chatcommand("craft", {
|
register_command("craft", {
|
||||||
description = S("Show recipe(s) of the pointed node"),
|
description = S("Show recipe(s) of the pointed node"),
|
||||||
func = function(name)
|
func = function(name)
|
||||||
local player = get_player_by_name(name)
|
local player = get_player_by_name(name)
|
||||||
|
Loading…
Reference in New Issue
Block a user