diff options
| author | DS <vorunbekannt75@web.de> | 2017-10-31 18:56:10 +0100 | 
|---|---|---|
| committer | Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | 2017-10-31 13:56:10 -0400 | 
| commit | 37d49142cfebc821bc6fd994fb7e7ae8dba9d66d (patch) | |
| tree | 04bc21dbcb2bc2b85ba9c132dc069c24a791bf7e | |
| parent | e056800cea806be2a16476e338d8f8df9d8520ba (diff) | |
supply_converter: avoid crashes caused by wrong digiline message types (#397)
| -rw-r--r-- | technic/machines/supply_converter.lua | 7 | 
1 files changed, 6 insertions, 1 deletions
| diff --git a/technic/machines/supply_converter.lua b/technic/machines/supply_converter.lua index aa41791..8527bcf 100644 --- a/technic/machines/supply_converter.lua +++ b/technic/machines/supply_converter.lua @@ -72,6 +72,9 @@ local digiline_def = {  	receptor = {action = function() end},  	effector = {  		action = function(pos, node, channel, msg) +			if type(msg) ~= "string" then +				return +			end  			local meta = minetest.get_meta(pos)  			if channel ~= meta:get_string("channel") then  				return @@ -90,7 +93,7 @@ local digiline_def = {  				meta:set_int("enabled", 1)  			elseif msg == "toggle" then  				local onn = meta:get_int("enabled") -				onn = -(onn-1) -- Mirror onn with pivot 0.5, so switch between 1 and 0. +				onn = 1-onn -- Mirror onn with pivot 0.5, so switch between 1 and 0.  				meta:set_int("enabled", onn)  			elseif msg:sub(1, 5) == "power" then  				local power = tonumber(msg:sub(7)) @@ -103,6 +106,8 @@ local digiline_def = {  				meta:set_int("power", power)  			elseif msg:sub(1, 12) == "mesecon_mode" then  				meta:set_int("mesecon_mode", tonumber(msg:sub(14))) +			else +				return  			end  			set_supply_converter_formspec(meta)  		end | 
