Make waterlily wave when placed on waving water
authort0ny2 <t0ny2@users.noreply.github.com>
Sun, 16 Jun 2019 21:09:36 +0000 (22:09 +0100)
committerParamat <paramat@users.noreply.github.com>
Sun, 16 Jun 2019 21:09:36 +0000 (22:09 +0100)
mods/flowers/init.lua
mods/flowers/mapgen.lua

index 62e4a4a79fabd6ce2c54656dc630ecd5d2566758..9da78ed82b94cea4b99b1359383e577013b039f4 100644 (file)
@@ -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)
+
index ad759c2546a6044d0545981a86581442334506a3..85e19b729993af4af72c67c1c5bbbc8e4e9743d8 100644 (file)
@@ -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,