Nils Dagsson Moskopp 41550da87b Fix redstone comparator flooding crash
Redstone comparators have two modes, comparison mode & subtraction mode.
Before this patch, the functions to turn comparators on or off attempted
to swap nodes with comparators in the same mode, but failed to determine
the correct replacement node, if the existing node was not a comparator.

When a comparator in an on state (e.g. powered by a filled cauldron) was
flooded, the flooding dropped the comparator and replaced the comparator
node that was to be swapped out with air, which lead to a server crash.

This patch changes the functions that turn comparators on or off so they
only swap existing nodes with comparators in the same mode if the name
of the replacement node can be determined – i.e. if it is not nil.
2022-02-24 15:52:01 +01:00
..
2017-02-19 20:48:56 +01:00

-- |\    /| ____ ____  ____ _____   ____         _____
-- | \  / | |    |     |    |      |    | |\   | |
-- |  \/  | |___ ____  |___ |      |    | | \  | |____
-- |      | |        | |    |      |    | |  \ |     |
-- |      | |___ ____| |___ |____  |____| |   \| ____|
-- by Jeija and contributors

Credits:
Jeija: main developer
VanessaE: Awesome textures & design, coding
sfan5: coding, textures
temperest: coding, textures
Jordach: Sounds for the noteblock
minerd247: Some textures
suzenako: Piston sounds
...other contributors

This is a mod for minetest-c55.
Copy the minetest-mod-mesecons directory into you game's mod folder 
(e.g. games/minetest_game/mods/minetest-mod-mesecons)

You can remove modules of this mod by deleting the mesecons_*
folders in the minetest-mod-mesecons directory.

Mod dependencies: none

Code license: LGPLv3 or later
Media license: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>