From b7af07d5082a65bfd9f89ee2bf647f46160ea3b2 Mon Sep 17 00:00:00 2001 From: Milan2018 Date: Thu, 10 Sep 2020 19:12:04 +0200 Subject: [PATCH] =?UTF-8?q?Aktualizovat=20=E2=80=9Emesecons/mesecons=5Fmov?= =?UTF-8?q?estones/init.lua=E2=80=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mesecons/mesecons_movestones/init.lua | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mesecons/mesecons_movestones/init.lua b/mesecons/mesecons_movestones/init.lua index cd82294..01d8291 100644 --- a/mesecons/mesecons_movestones/init.lua +++ b/mesecons/mesecons_movestones/init.lua @@ -40,12 +40,18 @@ end -- registration functions: function mesecon.register_movestone(name, def, is_sticky, is_vertical) + + def.after_place_node = function(pos, placer) + minetest.get_meta(pos):set_string("owner", placer:get_player_name()) + end + local function movestone_move(pos, node, rulename) local direction = get_movestone_direction(rulename, is_vertical) local frontpos = vector.add(pos, direction) -- ### Step 1: Push nodes in front ### - local success, stack, oldstack = mesecon.mvps_push(frontpos, direction, max_push) + local owner = minetest.get_meta(pos):get_string("owner") + local success, stack, oldstack = mesecon.mvps_push(frontpos, direction, max_push, owner) if not success then minetest.get_node_timer(pos):start(timer_interval) return @@ -62,7 +68,7 @@ function mesecon.register_movestone(name, def, is_sticky, is_vertical) -- ### Step 3: If sticky, pull stack behind ### if is_sticky then local backpos = vector.subtract(pos, direction) - success, stack, oldstack = mesecon.mvps_pull_all(backpos, direction, max_pull) + success, stack, oldstack = mesecon.mvps_pull_all(backpos, direction, max_pull, owner) if success then mesecon.mvps_move_objects(backpos, vector.multiply(direction, -1), oldstack, -1) end