diff --git a/init.lua b/init.lua index facf9f9..80cfc7f 100644 --- a/init.lua +++ b/init.lua @@ -58,6 +58,7 @@ minetest.register_tool("teletool:teletool", { wield_image = "teletool_teletool.png", inventory_image = "teletool_teletool.png", on_use = function(itemstack, user, pointed_thing) + local failure = false if(pointed_thing.type == "node") then local has_technic = minetest.get_modpath("technic") ~= nil if(has_technic) then @@ -68,12 +69,19 @@ minetest.register_tool("teletool:teletool", { teletool.teleport(user, pointed_thing) technic.set_RE_wear(itemstack, meta.charge, 50000) itemstack:set_metadata(minetest.serialize(meta)) + else + failure = true end else teletool.teleport(user, pointed_thing) end - return itemstack + else + failure = true end + if failure then + minetest.sound_play( {name="teletool_fail", gain=0.5}, {pos=user:getpos(), max_hear_distance=4}) + end + return itemstack end, -- Technic data diff --git a/sounds/teletool_fail.ogg b/sounds/teletool_fail.ogg new file mode 100644 index 0000000..9705f1f Binary files /dev/null and b/sounds/teletool_fail.ogg differ