summaryrefslogtreecommitdiff
path: root/builtin/features.lua
diff options
context:
space:
mode:
authorSfan5 <sfan5@live.de>2013-05-01 12:31:21 +0200
committerSfan5 <sfan5@live.de>2013-05-01 15:06:01 +0200
commita4183994a446a065e3151745b4167270ebae6194 (patch)
tree42adc331db248e6f34188d6e0111d454a5162144 /builtin/features.lua
parentc824abd7b2e199d9c7e3dcc2839a28275f4120f2 (diff)
downloadminetest-a4183994a446a065e3151745b4167270ebae6194.tar.gz
minetest-a4183994a446a065e3151745b4167270ebae6194.tar.bz2
minetest-a4183994a446a065e3151745b4167270ebae6194.zip
Add a Way of checking for specific Feature with Lua Adds minetest.get_feature() and minetest.has_feature()
Diffstat (limited to 'builtin/features.lua')
-rw-r--r--builtin/features.lua28
1 files changed, 28 insertions, 0 deletions
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