mirror of
https://github.com/minetest-mods/craftguide.git
synced 2024-11-26 20:43:42 +01:00
Add more assert checks
This commit is contained in:
parent
a242f6c61c
commit
9df355b899
42
init.lua
42
init.lua
@ -13,6 +13,7 @@ local fuel_cache = {}
|
|||||||
local progressive_mode = M.settings:get_bool("craftguide_progressive_mode")
|
local progressive_mode = M.settings:get_bool("craftguide_progressive_mode")
|
||||||
local sfinv_only = M.settings:get_bool("craftguide_sfinv_only") and rawget(_G, "sfinv")
|
local sfinv_only = M.settings:get_bool("craftguide_sfinv_only") and rawget(_G, "sfinv")
|
||||||
|
|
||||||
|
local after = M.after
|
||||||
local colorize = M.colorize
|
local colorize = M.colorize
|
||||||
local reg_items = M.registered_items
|
local reg_items = M.registered_items
|
||||||
local get_result = M.get_craft_result
|
local get_result = M.get_craft_result
|
||||||
@ -119,23 +120,31 @@ local function __func()
|
|||||||
return debug.getinfo(2, "n").name
|
return debug.getinfo(2, "n").name
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function is_str(x)
|
||||||
|
return type(x) == "string"
|
||||||
|
end
|
||||||
|
|
||||||
|
local function is_func(x)
|
||||||
|
return type(x) == "function"
|
||||||
|
end
|
||||||
|
|
||||||
local custom_crafts, craft_types = {}, {}
|
local custom_crafts, craft_types = {}, {}
|
||||||
|
|
||||||
function craftguide.register_craft_type(name, def)
|
function craftguide.register_craft_type(name, def)
|
||||||
local func = "craftguide." .. __func() .. "(): "
|
local func = "craftguide." .. __func() .. "(): "
|
||||||
assert(name, func .. "'name' field missing")
|
assert(is_str(name), func .. "'name' field missing")
|
||||||
assert(def.description, func .. "'description' field missing")
|
assert(is_str(def.description), func .. "'description' field missing")
|
||||||
assert(def.icon, func .. "'icon' field missing")
|
assert(is_str(def.icon), func .. "'icon' field missing")
|
||||||
|
|
||||||
craft_types[name] = def
|
craft_types[name] = def
|
||||||
end
|
end
|
||||||
|
|
||||||
function craftguide.register_craft(def)
|
function craftguide.register_craft(def)
|
||||||
local func = "craftguide." .. __func() .. "(): "
|
local func = "craftguide." .. __func() .. "(): "
|
||||||
assert(def.type, func .. "'type' field missing")
|
assert(is_str(def.type), func .. "'type' field missing")
|
||||||
assert(def.width, func .. "'width' field missing")
|
assert(is_str(def.width), func .. "'width' field missing")
|
||||||
assert(def.output, func .. "'output' field missing")
|
assert(is_str(def.output), func .. "'output' field missing")
|
||||||
assert(def.items, func .. "'items' field missing")
|
assert(is_str(def.items), func .. "'items' field missing")
|
||||||
|
|
||||||
custom_crafts[#custom_crafts + 1] = def
|
custom_crafts[#custom_crafts + 1] = def
|
||||||
end
|
end
|
||||||
@ -144,8 +153,8 @@ local recipe_filters = {}
|
|||||||
|
|
||||||
function craftguide.add_recipe_filter(name, f)
|
function craftguide.add_recipe_filter(name, f)
|
||||||
local func = "craftguide." .. __func() .. "(): "
|
local func = "craftguide." .. __func() .. "(): "
|
||||||
assert(name, func .. "filter name missing")
|
assert(is_str(name), func .. "filter name missing")
|
||||||
assert(f and type(f) == "function", func .. "filter function missing")
|
assert(is_func(f), func .. "filter function missing")
|
||||||
|
|
||||||
recipe_filters[name] = f
|
recipe_filters[name] = f
|
||||||
end
|
end
|
||||||
@ -156,8 +165,8 @@ end
|
|||||||
|
|
||||||
function craftguide.set_recipe_filter(name, f)
|
function craftguide.set_recipe_filter(name, f)
|
||||||
local func = "craftguide." .. __func() .. "(): "
|
local func = "craftguide." .. __func() .. "(): "
|
||||||
assert(name, func .. "filter name missing")
|
assert(is_str(name), func .. "filter name missing")
|
||||||
assert(f and type(f) == "function", func .. "filter function missing")
|
assert(is_func(f), func .. "filter function missing")
|
||||||
|
|
||||||
recipe_filters = {[name] = f}
|
recipe_filters = {[name] = f}
|
||||||
end
|
end
|
||||||
@ -178,8 +187,8 @@ local search_filters = {}
|
|||||||
|
|
||||||
function craftguide.add_search_filter(name, f)
|
function craftguide.add_search_filter(name, f)
|
||||||
local func = "craftguide." .. __func() .. "(): "
|
local func = "craftguide." .. __func() .. "(): "
|
||||||
assert(name, func .. "filter name missing")
|
assert(is_str(name), func .. "filter name missing")
|
||||||
assert(f and type(f) == "function", func .. "filter function missing")
|
assert(is_func(f), func .. "filter function missing")
|
||||||
|
|
||||||
search_filters[name] = f
|
search_filters[name] = f
|
||||||
end
|
end
|
||||||
@ -196,8 +205,9 @@ local formspec_elements = {}
|
|||||||
|
|
||||||
function craftguide.add_formspec_element(name, def)
|
function craftguide.add_formspec_element(name, def)
|
||||||
local func = "craftguide." .. __func() .. "(): "
|
local func = "craftguide." .. __func() .. "(): "
|
||||||
assert(def.element, func .. "'element' field not defined")
|
assert(is_str(name), func .. "formspec element name missing")
|
||||||
assert(def.type, func .. "'type' field not defined")
|
assert(is_str(def.element), func .. "'element' field not defined")
|
||||||
|
assert(is_str(def.type), func .. "'type' field not defined")
|
||||||
assert(FMT[def.type], func .. "'" .. def.type .. "' type not supported by the API")
|
assert(FMT[def.type], func .. "'" .. def.type .. "' type not supported by the API")
|
||||||
|
|
||||||
formspec_elements[name] = {
|
formspec_elements[name] = {
|
||||||
@ -1107,7 +1117,7 @@ if progressive_mode then
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
M.after(POLL_FREQ, poll_new_items)
|
after(POLL_FREQ, poll_new_items)
|
||||||
end
|
end
|
||||||
|
|
||||||
poll_new_items()
|
poll_new_items()
|
||||||
|
Loading…
Reference in New Issue
Block a user