diff --git a/mods/ITEMS/mcl_sponges/init.lua b/mods/ITEMS/mcl_sponges/init.lua index 15cb55bd9c..52680e178e 100644 --- a/mods/ITEMS/mcl_sponges/init.lua +++ b/mods/ITEMS/mcl_sponges/init.lua @@ -63,10 +63,8 @@ end function mcl_sponges.absorb(pos) local change = false - -- Count number of absorbed river water vs other nodes + -- Count number of absorbed liquid by type vs other nodes -- to determine the wet sponge type. - local river_water = 0 - local non_river_water = 0 local out = {} local p, n for i=-3,3 do @@ -74,13 +72,12 @@ function mcl_sponges.absorb(pos) for k=-3,3 do pos = {x=pos.x+i, y=pos.y+j, z=pos.z+k} node = minetest.get_node(pos) - if minetest.get_item_group(node.name, "water") ~= 0 then - minetest.add_node(pos, {name="air"}) - change = true - if node.name == "mclx_core:river_water_source" or node.name == "mclx_core:river_water_flowing" then - river_water = river_water + 1 - else - non_river_water = non_river_water + 1 + for name,def in mcl_sponges.registered_sponges do + if minetest.get_item_group(node.name, def.liquidgroup) ~= 0 then + minetest.add_node(pos, {name="air"}) + change = true + out[name] = out[name]+1 + break end end end