From 4b58b09ea2c6b60ef2cfbe6d315947cbd6bab4a6 Mon Sep 17 00:00:00 2001 From: OgelGames Date: Tue, 13 Oct 2020 00:44:42 +1100 Subject: [PATCH] fix settings --- init.lua | 29 ++++++++++++++++++----------- settingtypes.txt | 2 +- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/init.lua b/init.lua index 44c1822..d16a642 100644 --- a/init.lua +++ b/init.lua @@ -8,18 +8,25 @@ beacon.players = {} beacon.sorted_effect_ids = {} +local function get_value(value, default) + if value == nil then + return default + end + return value +end + beacon.config = { - beam_break_nodes = minetest.settings:get_bool("beacon_beam_break_nodes") or false, - beam_climbable = minetest.settings:get_bool("beacon_beam_climbable") or true, - beam_length = tonumber(minetest.settings:get("beacon_beam_length")) or 200, - default_effect = minetest.settings:get("beacon_default_effect") or "none", - effect_range_0 = tonumber(minetest.settings:get("beacon_effect_range_0")) or 10, - effect_range_1 = tonumber(minetest.settings:get("beacon_effect_range_1")) or 20, - effect_range_2 = tonumber(minetest.settings:get("beacon_effect_range_3")) or 30, - effect_range_3 = tonumber(minetest.settings:get("beacon_effect_range_4")) or 40, - effect_range_4 = tonumber(minetest.settings:get("beacon_effect_range_5")) or 50, - upgrade_item = minetest.settings:get("beacon_upgrade_item") or "default:diamondblock", - area_shielding = minetest.settings:get("beacon_area_shielding") or true, + area_shielding = get_value(minetest.settings:get("beacon_area_shielding"), false), + beam_break_nodes = get_value(minetest.settings:get_bool("beacon_beam_break_nodes"), false), + beam_climbable = get_value(minetest.settings:get_bool("beacon_beam_climbable"), true), + beam_length = get_value(tonumber(minetest.settings:get("beacon_beam_length")), 200), + default_effect = get_value(minetest.settings:get("beacon_default_effect"), "none"), + effect_range_0 = get_value(tonumber(minetest.settings:get("beacon_effect_range_0")), 10), + effect_range_1 = get_value(tonumber(minetest.settings:get("beacon_effect_range_1")), 20), + effect_range_2 = get_value(tonumber(minetest.settings:get("beacon_effect_range_3")), 30), + effect_range_3 = get_value(tonumber(minetest.settings:get("beacon_effect_range_4")), 40), + effect_range_4 = get_value(tonumber(minetest.settings:get("beacon_effect_range_5")), 50), + upgrade_item = get_value(minetest.settings:get("beacon_upgrade_item"), "default:diamondblock"), } beacon.colors = { diff --git a/settingtypes.txt b/settingtypes.txt index 4958c64..85b5e86 100644 --- a/settingtypes.txt +++ b/settingtypes.txt @@ -1,3 +1,4 @@ +beacon_area_shielding (Protected areas block effects) bool false beacon_beam_break_nodes (Beacon beam breaks nodes) bool false beacon_beam_climbable (Climbable beacon beam) bool true beacon_beam_length (Maximum beam length) int 200 @@ -8,4 +9,3 @@ beacon_effect_range_2 (Level 2 beacon effect range) int 30 beacon_effect_range_3 (Level 3 beacon effect range) int 40 beacon_effect_range_4 (Level 4 beacon effect range) int 50 beacon_upgrade_item (Beacon upgrade item) string default:diamondblock -beacon_area_shielding (Protected areas block effects) bool false