box.lua 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. S = minetest.get_translator("suggestion_box")
  2. minetest.register_node("suggestion_box:box",{
  3. description = "Casella dei suggerimenti",
  4. tiles = {
  5. "suggestion_box2.png",
  6. "suggestion_box4.png",
  7. "suggestion_box5.png",
  8. "suggestion_box5.png",
  9. "suggestion_box1.png",
  10. "suggestion_box3.png",
  11. },
  12. wield_scale = 1.0,
  13. groups = {cracky = 3, oddly_breakable_by_hand = 3},
  14. paramtype2 = "facedir",
  15. on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
  16. local itemname = itemstack:get_name()
  17. if itemname ~= "default:book_written" and itemname ~= "default:book" then return end
  18. local p_name = clicker:get_player_name()
  19. if itemname == "default:book" then
  20. itemstack:take_item()
  21. minetest.chat_send_player(p_name, S("You have mailed an empty book"))
  22. return itemstack end
  23. pos.y = pos.y -2
  24. local node = minetest.get_node(pos)
  25. if node.name ~= "default:chest" then
  26. minetest.set_node(pos, {name ="default:chest"})
  27. end
  28. local inv = minetest.get_inventory({ type="node", pos=pos })
  29. if inv:room_for_item("main", itemstack) then
  30. inv:add_item("main", itemstack)
  31. -- È messo sia nel return che qua in quanto se lo si toglie e basta dopo non
  32. --lo si riesce più a mettere nella chest
  33. itemstack:take_item()
  34. minetest.chat_send_player(p_name, S("Your suggestion has been mailed"))
  35. else
  36. minetest.chat_send_player(p_name, S("There's no more space for other suggestions :("))
  37. end
  38. return itemstack
  39. end,
  40. })