2013-05-01 12:31:21 +02:00
|
|
|
-- Minetest: builtin/features.lua
|
|
|
|
|
2014-04-28 03:02:48 +02:00
|
|
|
core.features = {
|
2013-05-01 16:00:58 +02:00
|
|
|
glasslike_framed = true,
|
|
|
|
nodebox_as_selectionbox = true,
|
|
|
|
get_all_craft_recipes_works = true,
|
|
|
|
use_texture_alpha = true,
|
2013-11-02 10:48:13 +01:00
|
|
|
no_legacy_abms = true,
|
2014-07-24 21:55:09 +02:00
|
|
|
texture_names_parens = true,
|
2015-10-31 01:38:22 +01:00
|
|
|
area_store_custom_ids = true,
|
2017-01-09 20:39:45 +01:00
|
|
|
add_entity_with_staticdata = true,
|
2017-01-17 00:09:47 +01:00
|
|
|
no_chat_message_prediction = true,
|
2018-03-18 18:25:05 +01:00
|
|
|
object_use_texture_alpha = true,
|
2018-08-12 13:37:17 +02:00
|
|
|
object_independent_selectionbox = true,
|
2019-06-06 19:13:29 +02:00
|
|
|
httpfetch_binary_data = true,
|
2019-09-10 21:18:42 +02:00
|
|
|
formspec_version_element = true,
|
2019-09-21 17:54:52 +02:00
|
|
|
area_store_persistent_ids = true,
|
2020-03-05 12:07:52 +01:00
|
|
|
pathfinder_works = true,
|
2020-04-14 14:11:33 +02:00
|
|
|
object_step_has_moveresult = true,
|
2020-10-04 01:33:45 +02:00
|
|
|
direct_velocity_on_players = true,
|
2021-01-17 01:56:50 +01:00
|
|
|
use_texture_alpha_string_modes = true,
|
2021-03-30 14:04:14 +02:00
|
|
|
degrotate_240_steps = true,
|
2021-06-20 17:21:35 +02:00
|
|
|
abm_min_max_y = true,
|
2022-07-13 11:57:12 +02:00
|
|
|
particlespawner_tweenable = true,
|
2021-09-17 17:17:40 +02:00
|
|
|
dynamic_add_media_table = true,
|
2022-03-05 22:15:41 +01:00
|
|
|
get_sky_as_table = true,
|
2022-08-13 08:53:47 +02:00
|
|
|
get_light_data_buffer = true,
|
2022-09-26 23:03:43 +02:00
|
|
|
mod_storage_on_disk = true,
|
2022-09-28 15:06:14 +02:00
|
|
|
compress_zstd = true,
|
2023-11-12 20:08:57 +01:00
|
|
|
sound_params_start_time = true,
|
|
|
|
physics_overrides_v2 = true,
|
2023-12-29 21:51:02 +01:00
|
|
|
hud_def_type_field = true,
|
2024-01-16 23:20:52 +01:00
|
|
|
random_state_restore = true,
|
2022-01-17 01:01:02 +01:00
|
|
|
after_order_expiry_registration = true,
|
2024-01-17 17:47:06 +01:00
|
|
|
wallmounted_rotate = true,
|
2024-01-22 18:27:08 +01:00
|
|
|
item_specific_pointabilities = true,
|
|
|
|
blocking_pointability_type = true,
|
2024-01-22 20:37:26 +01:00
|
|
|
dynamic_add_media_startup = true,
|
2024-01-23 21:15:09 +01:00
|
|
|
dynamic_add_media_filepath = true,
|
2024-03-12 20:10:28 +01:00
|
|
|
lsystem_decoration_type = true,
|
2024-03-17 15:55:38 +01:00
|
|
|
item_meta_range = true,
|
2024-04-05 13:00:50 +02:00
|
|
|
node_interaction_actor = true,
|
2024-05-05 13:28:59 +02:00
|
|
|
moveresult_new_pos = true,
|
2024-05-21 15:22:29 +02:00
|
|
|
override_item_remove_fields = true,
|
2024-01-29 16:43:37 +01:00
|
|
|
hotbar_hud_element = true,
|
2013-05-01 12:31:21 +02:00
|
|
|
}
|
|
|
|
|
2014-04-28 03:02:48 +02:00
|
|
|
function core.has_feature(arg)
|
2013-05-01 12:31:21 +02:00
|
|
|
if type(arg) == "table" then
|
2015-09-02 18:09:48 +02:00
|
|
|
local missing_features = {}
|
|
|
|
local result = true
|
|
|
|
for ftr in pairs(arg) do
|
2014-04-28 03:02:48 +02:00
|
|
|
if not core.features[ftr] then
|
2013-05-01 12:31:21 +02:00
|
|
|
missing_features[ftr] = true
|
|
|
|
result = false
|
|
|
|
end
|
|
|
|
end
|
|
|
|
return result, missing_features
|
|
|
|
elseif type(arg) == "string" then
|
2014-04-28 03:02:48 +02:00
|
|
|
if not core.features[arg] then
|
2013-05-01 12:31:21 +02:00
|
|
|
return false, {[arg]=true}
|
|
|
|
end
|
|
|
|
return true, {}
|
|
|
|
end
|
|
|
|
end
|