minetest/builtin/game/features.lua

66 lines
1.8 KiB
Lua
Raw Normal View History

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,
no_legacy_abms = true,
texture_names_parens = true,
2015-10-31 01:38:22 +01:00
area_store_custom_ids = true,
add_entity_with_staticdata = true,
no_chat_message_prediction = true,
object_use_texture_alpha = true,
object_independent_selectionbox = true,
httpfetch_binary_data = true,
formspec_version_element = true,
area_store_persistent_ids = true,
pathfinder_works = true,
object_step_has_moveresult = true,
direct_velocity_on_players = true,
use_texture_alpha_string_modes = true,
degrotate_240_steps = true,
abm_min_max_y = true,
particlespawner_tweenable = true,
dynamic_add_media_table = true,
get_sky_as_table = true,
get_light_data_buffer = true,
mod_storage_on_disk = true,
2022-09-28 15:06:14 +02:00
compress_zstd = true,
sound_params_start_time = true,
physics_overrides_v2 = true,
hud_def_type_field = true,
random_state_restore = true,
after_order_expiry_registration = true,
wallmounted_rotate = true,
item_specific_pointabilities = true,
blocking_pointability_type = true,
dynamic_add_media_startup = true,
dynamic_add_media_filepath = true,
lsystem_decoration_type = true,
2024-03-17 15:55:38 +01:00
item_meta_range = true,
node_interaction_actor = true,
moveresult_new_pos = true,
override_item_remove_fields = true,
hotbar_hud_element = true,
2024-08-11 14:54:02 +02:00
bulk_lbms = true,
2024-09-26 17:32:55 +02:00
abm_without_neighbors = true,
}
2014-04-28 03:02:48 +02:00
function core.has_feature(arg)
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
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
return false, {[arg]=true}
end
return true, {}
end
end