From 65f5ac8520a286ae062824147c2f0e3b0253c8ff Mon Sep 17 00:00:00 2001 From: FaceDeer Date: Thu, 12 Oct 2017 03:06:24 -0600 Subject: add initial support for tapping technic power cables --- nodes/node_crate.lua | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'nodes/node_crate.lua') diff --git a/nodes/node_crate.lua b/nodes/node_crate.lua index 7e30207..080fe68 100644 --- a/nodes/node_crate.lua +++ b/nodes/node_crate.lua @@ -30,7 +30,16 @@ minetest.register_node("digtron:empty_crate", { -- destroy everything. Note that this includes the empty crate, which will be bundled up with the layout. for _, node_image in pairs(layout.all) do - minetest.remove_node(node_image.pos) + local old_pos = node_image.pos + local old_node = node_image.node + minetest.remove_node(old_pos) + + for _, callback in ipairs(minetest.registered_on_dignodes) do + -- Copy pos and node because callback can modify them + local pos_copy = {x=old_pos.x, y=old_pos.y, z=old_pos.z} + local oldnode_copy = {name=old_node.name, param1=old_node.param1, param2=old_node.param2} + callback(pos_copy, oldnode_copy, clicker) + end end -- Create the loaded crate node -- cgit v1.2.3 From d582f106aa4f1be3bda41113a4893c39d35223a7 Mon Sep 17 00:00:00 2001 From: FaceDeer Date: Thu, 12 Oct 2017 22:53:30 -0600 Subject: finishing up technic power tap, other misc fixes --- nodes/node_crate.lua | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'nodes/node_crate.lua') diff --git a/nodes/node_crate.lua b/nodes/node_crate.lua index 080fe68..101d7bb 100644 --- a/nodes/node_crate.lua +++ b/nodes/node_crate.lua @@ -2,6 +2,8 @@ local MP = minetest.get_modpath(minetest.get_current_modname()) local S, NS = dofile(MP.."/intllib.lua") +local modpath_awards = minetest.get_modpath("awards") + minetest.register_node("digtron:empty_crate", { description = S("Digtron Crate (Empty)"), _doc_items_longdesc = digtron.doc.empty_crate_longdesc, @@ -34,6 +36,13 @@ minetest.register_node("digtron:empty_crate", { local old_node = node_image.node minetest.remove_node(old_pos) + if modpath_awards then + -- We're about to tell the awards mod that we're digging a node, but we + -- don't want it to count toward any actual awards. Pre-decrement. + local data = awards.players[clicker:get_player_name()] + awards.increment_item_counter(data, "count", old_node.name, -1) + end + for _, callback in ipairs(minetest.registered_on_dignodes) do -- Copy pos and node because callback can modify them local pos_copy = {x=old_pos.x, y=old_pos.y, z=old_pos.z} -- cgit v1.2.3