]> git.lizzy.rs Git - dragonfireclient.git/blob - builtin/game/features.lua
Rework use_texture_alpha to provide three opaque/clip/blend modes
[dragonfireclient.git] / builtin / game / features.lua
1 -- Minetest: builtin/features.lua
2
3 core.features = {
4         glasslike_framed = true,
5         nodebox_as_selectionbox = true,
6         get_all_craft_recipes_works = true,
7         use_texture_alpha = true,
8         no_legacy_abms = true,
9         texture_names_parens = true,
10         area_store_custom_ids = true,
11         add_entity_with_staticdata = true,
12         no_chat_message_prediction = true,
13         object_use_texture_alpha = true,
14         object_independent_selectionbox = true,
15         httpfetch_binary_data = true,
16         formspec_version_element = true,
17         area_store_persistent_ids = true,
18         pathfinder_works = true,
19         object_step_has_moveresult = true,
20         direct_velocity_on_players = true,
21         use_texture_alpha_string_modes = true,
22 }
23
24 function core.has_feature(arg)
25         if type(arg) == "table" then
26                 local missing_features = {}
27                 local result = true
28                 for ftr in pairs(arg) do
29                         if not core.features[ftr] then
30                                 missing_features[ftr] = true
31                                 result = false
32                         end
33                 end
34                 return result, missing_features
35         elseif type(arg) == "string" then
36                 if not core.features[arg] then
37                         return false, {[arg]=true}
38                 end
39                 return true, {}
40         end
41 end