diff options
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/builtin.lua | 1 | ||||
-rw-r--r-- | builtin/features.lua | 28 |
2 files changed, 29 insertions, 0 deletions
diff --git a/builtin/builtin.lua b/builtin/builtin.lua index bf33cbe6b..f10c6c7cf 100644 --- a/builtin/builtin.lua +++ b/builtin/builtin.lua @@ -24,4 +24,5 @@ dofile(minetest.get_modpath("__builtin").."/chatcommands.lua") dofile(minetest.get_modpath("__builtin").."/static_spawn.lua") dofile(minetest.get_modpath("__builtin").."/detached_inventory.lua") dofile(minetest.get_modpath("__builtin").."/falling.lua") +dofile(minetest.get_modpath("__builtin").."/features.lua") diff --git a/builtin/features.lua b/builtin/features.lua new file mode 100644 index 000000000..0eef2519d --- /dev/null +++ b/builtin/features.lua @@ -0,0 +1,28 @@ +-- Minetest: builtin/features.lua + +minetest.features = { + "glasslike_framed" = true, + "nodebox_as_selectionbox" = true, + "chat_send_player_param3" = true, + "get_all_craft_recipes_works" = true, + "use_texture_alpha" = true, +} + +function minetest.has_feature(arg) + if type(arg) == "table" then + missing_features = {} + result = true + for ft, _ in pairs(arg) do + if not minetest.features[ftr] then + missing_features[ftr] = true + result = false + end + end + return result, missing_features + elseif type(arg) == "string" then + if not minetest.features[arg] then + return false, {[arg]=true} + end + return true, {} + end +end |