hammer.lua 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. --[[
  2. Gravel Sieve Mod
  3. ================
  4. ]]--
  5. -- Load support for I18n
  6. local S = gravelsieve.S
  7. gravelsieve.disallow = function(pos, node, user, mode, new_param2)
  8. return false
  9. end
  10. gravelsieve.handler = function(itemstack, user, pointed_thing)
  11. if pointed_thing.type ~= "node" then
  12. return
  13. end
  14. local pos = pointed_thing.under
  15. if minetest.is_protected(pos, user:get_player_name()) then
  16. minetest.record_protection_violation(pos, user:get_player_name())
  17. return
  18. end
  19. local node = minetest.get_node(pos)
  20. if node.name == "default:cobble" or node.name == "default:mossycobble"
  21. or node.name == "default:desert_cobble" then
  22. node.name = "default:gravel"
  23. minetest.swap_node(pos, node)
  24. minetest.sound_play({
  25. name="default_dig_crumbly"},{
  26. gain=1,
  27. pos=pos,
  28. max_hear_distance=6,
  29. loop=false})
  30. end
  31. itemstack:add_wear(65535 / (500 - 1))
  32. return itemstack
  33. end
  34. minetest.register_tool("gravelsieve:hammer", {
  35. description = S("Hammer converts Cobblestone into Gravel"),
  36. inventory_image = "gravelsieve_hammer.png",
  37. on_use = function(itemstack, user, pointed_thing)
  38. return gravelsieve.handler(itemstack, user, pointed_thing)
  39. end,
  40. })
  41. minetest.register_craft({
  42. output = "gravelsieve:hammer",
  43. recipe = {
  44. {"", "default:steel_ingot", ""},
  45. {"", "group:stick", "default:steel_ingot"},
  46. {"group:stick", "", ""},
  47. }
  48. })