From f9026fa806b46a175db7438f36d31a7b100e7de7 Mon Sep 17 00:00:00 2001 From: Oversword Date: Tue, 6 Jul 2021 06:02:54 +0100 Subject: [PATCH] Provide default for all instances of retrieving a distributor filter --- tubelib/distributor.lua | 4 ++-- tubelib_addons3/distributor.lua | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tubelib/distributor.lua b/tubelib/distributor.lua index 21ffefc..de6223f 100644 --- a/tubelib/distributor.lua +++ b/tubelib/distributor.lua @@ -316,7 +316,7 @@ local function on_receive_fields(pos, formname, fields, player) return end local meta = M(pos) - local filter = minetest.deserialize(meta:get_string("filter")) + local filter = minetest.deserialize(meta:get_string("filter")) or {false,false,false,false} if fields.filter1 ~= nil then filter[1] = fields.filter1 == "true" elseif fields.filter2 ~= nil then @@ -341,7 +341,7 @@ end local function change_filter_settings(pos, slot, val) local slots = {["red"] = 1, ["green"] = 2, ["blue"] = 3, ["yellow"] = 4} local meta = M(pos) - local filter = minetest.deserialize(meta:get_string("filter")) + local filter = minetest.deserialize(meta:get_string("filter")) or {false,false,false,false} local num = slots[slot] or 1 if num >= 1 and num <= 4 then filter[num] = val == "on" diff --git a/tubelib_addons3/distributor.lua b/tubelib_addons3/distributor.lua index ecf6ed7..c5af2a4 100644 --- a/tubelib_addons3/distributor.lua +++ b/tubelib_addons3/distributor.lua @@ -285,7 +285,7 @@ local function on_receive_fields(pos, formname, fields, player) return end local meta = M(pos) - local filter = minetest.deserialize(meta:get_string("filter")) + local filter = minetest.deserialize(meta:get_string("filter")) or {false,false,false,false} if fields.filter1 ~= nil then filter[1] = fields.filter1 == "true" elseif fields.filter2 ~= nil then @@ -310,7 +310,7 @@ end local function change_filter_settings(pos, slot, val) local slots = {["red"] = 1, ["green"] = 2, ["blue"] = 3, ["yellow"] = 4} local meta = M(pos) - local filter = minetest.deserialize(meta:get_string("filter")) + local filter = minetest.deserialize(meta:get_string("filter")) or {false,false,false,false} local num = slots[slot] or 1 if num >= 1 and num <= 4 then filter[num] = val == "on"