From 54bb0afe7f6d150ceb418e36404c949cdb8847da Mon Sep 17 00:00:00 2001 From: t0ny2 Date: Sun, 16 Jun 2019 22:09:36 +0100 Subject: [PATCH] Make waterlily wave when placed on waving water --- mods/flowers/init.lua | 18 ++++++++++++++---- mods/flowers/mapgen.lua | 4 ++-- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/mods/flowers/init.lua b/mods/flowers/init.lua index 62e4a4a7..9da78ed8 100644 --- a/mods/flowers/init.lua +++ b/mods/flowers/init.lua @@ -266,7 +266,7 @@ minetest.register_alias("mushroom:red_natural", "flowers:mushroom_red") -- Waterlily -- -minetest.register_node("flowers:waterlily", { +local waterlily_def = { description = "Waterlily", drawtype = "nodebox", paramtype = "light", @@ -294,7 +294,6 @@ minetest.register_node("flowers:waterlily", { local pos = pointed_thing.above local node = minetest.get_node(pointed_thing.under) local def = minetest.registered_nodes[node.name] - local player_name = placer and placer:get_player_name() or "" if def and def.on_rightclick then return def.on_rightclick(pointed_thing.under, node, placer, itemstack, @@ -303,8 +302,10 @@ minetest.register_node("flowers:waterlily", { if def and def.liquidtype == "source" and minetest.get_item_group(node.name, "water") > 0 then + local player_name = placer and placer:get_player_name() or "" if not minetest.is_protected(pos, player_name) then - minetest.set_node(pos, {name = "flowers:waterlily", + minetest.set_node(pos, {name = "flowers:waterlily" .. + (def.waving == 3 and "_waving" or ""), param2 = math.random(0, 3)}) if not (creative and creative.is_enabled_for and creative.is_enabled_for(player_name)) then @@ -318,4 +319,13 @@ minetest.register_node("flowers:waterlily", { return itemstack end -}) +} + +local waterlily_waving_def = table.copy(waterlily_def) +waterlily_waving_def.waving = 3 +waterlily_waving_def.drop = "flowers:waterlily" +waterlily_waving_def.groups.not_in_creative_inventory = 1 + +minetest.register_node("flowers:waterlily", waterlily_def) +minetest.register_node("flowers:waterlily_waving", waterlily_waving_def) + diff --git a/mods/flowers/mapgen.lua b/mods/flowers/mapgen.lua index ad759c25..85e19b72 100644 --- a/mods/flowers/mapgen.lua +++ b/mods/flowers/mapgen.lua @@ -60,7 +60,7 @@ local function register_mgv6_waterlily() }, y_max = 0, y_min = 0, - decoration = "flowers:waterlily", + decoration = "flowers:waterlily_waving", param2 = 0, param2_max = 3, place_offset_y = 1, @@ -146,7 +146,7 @@ local function register_waterlily() biomes = {"rainforest_swamp", "savanna_shore", "deciduous_forest_shore"}, y_max = 0, y_min = 0, - decoration = "flowers:waterlily", + decoration = "flowers:waterlily_waving", param2 = 0, param2_max = 3, place_offset_y = 1,