diff options
author | cheapie <no-email-for-you@example.com> | 2021-03-27 19:51:23 -0500 |
---|---|---|
committer | cheapie <no-email-for-you@example.com> | 2021-03-27 19:51:23 -0500 |
commit | 7ad991ce409d40afa00a31dfadbc30462420de81 (patch) | |
tree | 72fae116d9486934e9d522292a4b85425d2f7973 /tube_registration.lua | |
parent | d2954c52773faa86e3a414250b8a9f5acd04c787 (diff) | |
download | pipeworks-master.tar pipeworks-master.tar.gz pipeworks-master.tar.bz2 pipeworks-master.tar.xz pipeworks-master.zip |
* Tubes can now be intentionally broken using a hammer
* Log messages have been improved slightly for tube repair
* Punching a broken tube now causes damage due to the sharp edges
Diffstat (limited to 'tube_registration.lua')
-rw-r--r-- | tube_registration.lua | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tube_registration.lua b/tube_registration.lua index a77154a..60d7ff8 100644 --- a/tube_registration.lua +++ b/tube_registration.lua @@ -113,6 +113,18 @@ local register_one_tube = function(name, tname, dropname, desc, plain, noctrs, e connect_sides = {front = 1, back = 1, left = 1, right = 1, top = 1, bottom = 1}, priority = 50 }, + on_punch = function(pos, node, player, pointed) + local playername = player:get_player_name() + if minetest.is_protected(pos, playername) and not minetest.check_player_privs(playername, {protection_bypass=true}) then + return minetest.node_punch(pos, node, player, pointed) + end + if pipeworks.check_and_wear_hammer(player) then + local wieldname = player:get_wielded_item():get_name() + pipeworks.logger(string.format("%s struck a tube at %s with %s to break it.", playername, minetest.pos_to_string(pos), wieldname)) + pipeworks.break_tube(pos) + end + return minetest.node_punch(pos, node, player, pointed) + end, after_place_node = pipeworks.after_place, after_dig_node = pipeworks.after_dig, on_rotate = false, |