From 47b197e4d54897170abf6ce6f283a6a24e4e1dd0 Mon Sep 17 00:00:00 2001
From: kilbith <jeanpatrick.guerrero@gmail.com>
Date: Thu, 7 Apr 2016 13:10:18 +0200
Subject: [PATCH] Flowers: Cleaning of waterlily's placement

---
 mods/flowers/init.lua | 21 ++++++---------------
 1 file changed, 6 insertions(+), 15 deletions(-)

diff --git a/mods/flowers/init.lua b/mods/flowers/init.lua
index 85fa36ef..f5e6d2cf 100644
--- a/mods/flowers/init.lua
+++ b/mods/flowers/init.lua
@@ -217,6 +217,7 @@ minetest.register_node("flowers:waterlily", {
 	liquids_pointable = true,
 	walkable = false,
 	buildable_to = true,
+	sunlight_propagates = true,
 	groups = {snappy = 3, flower = 1},
 	sounds = default.node_sound_leaves_defaults(),
 	node_box = {
@@ -228,22 +229,12 @@ minetest.register_node("flowers:waterlily", {
 		fixed = {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}
 	},
 
-	after_place_node = function(pos, placer, itemstack, pointed_thing)
-		local find_water = minetest.find_nodes_in_area({x = pos.x - 1, y = pos.y, z = pos.z - 1},
-			{x = pos.x + 1, y = pos.y, z = pos.z + 1}, "default:water_source")
-		local find_river_water = minetest.find_nodes_in_area({x = pos.x - 1, y = pos.y, z = pos.z - 1},
-			{x = pos.x + 1, y = pos.y, z = pos.z + 1}, "default:river_water_source")
-		if #find_water ~= 0 then
-			minetest.set_node(pos, {name = "default:water_source"})
-			pos.y = pos.y + 1
-			minetest.set_node(pos, {name = "flowers:waterlily", param2 = math.random(0, 3)})
-		elseif #find_river_water ~= 0 then
-			minetest.set_node(pos, {name = "default:river_water_source"})
-			pos.y = pos.y + 1
+	on_place = function(_, _, pointed_thing)
+		local pos = pointed_thing.above
+		local node = minetest.get_node(pointed_thing.under).name
+		local def = minetest.registered_nodes[node]
+		if def and def.liquidtype == "source" and minetest.get_item_group(node, "water") > 0 then
 			minetest.set_node(pos, {name = "flowers:waterlily", param2 = math.random(0, 3)})
-		else
-			minetest.remove_node(pos)
-			return true
 		end
 	end
 })
-- 
GitLab