From 074b8e327f1bba6dbb52a3bc8f3aac83c996152c Mon Sep 17 00:00:00 2001 From: crabman77 Date: Thu, 9 Jun 2016 21:43:23 +0200 Subject: [PATCH] fix crash when place waterlily --- minetestforfun_game/mods/flowers/init.lua | 27 +++++++++++++++-------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/minetestforfun_game/mods/flowers/init.lua b/minetestforfun_game/mods/flowers/init.lua index e59cd98a..fe6e0de1 100755 --- a/minetestforfun_game/mods/flowers/init.lua +++ b/minetestforfun_game/mods/flowers/init.lua @@ -253,19 +253,28 @@ minetest.register_node("flowers:waterlily", { fixed = {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5} }, - on_place = function(_, _, pointed_thing) + on_place = function(itemstack, placer, pointed_thing) local pos = pointed_thing.above local node = minetest.get_node(pointed_thing.under).name local def = minetest.registered_nodes[node] + local player_name = placer:get_player_name() + 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)}) - elseif #find_river_water ~= 0 then - minetest.set_node(pos, {name = "default:river_water_source"}) - pos.y = pos.y + 1 - minetest.set_node(pos, {name = "flowers:waterlily", param2 = math.random(0, 3)}) - else - minetest.remove_node(pos) - return true + if not minetest.is_protected(pos, player_name) then + minetest.set_node(pos, {name = "flowers:waterlily", param2 = math.random(0, 3)}) + if not minetest.setting_getbool("creative_mode") then + itemstack:take_item() + end + else + minetest.chat_send_player(player_name, "This area is protected") + end end + return itemstack end }) + + + + + +