heli_crafts.lua 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. --
  2. -- items
  3. --
  4. -- blades
  5. minetest.register_craftitem("helicopter:blades",{
  6. description = "Helicopter Blades",
  7. inventory_image = "helicopter_blades_inv.png",
  8. })
  9. -- cabin
  10. minetest.register_craftitem("helicopter:cabin",{
  11. description = "Cabin for Helicopter",
  12. inventory_image = "helicopter_cabin_inv.png",
  13. })
  14. -- heli
  15. minetest.register_craftitem("helicopter:heli", {
  16. description = "Helicopter",
  17. inventory_image = "helicopter_heli_inv.png",
  18. on_place = function(itemstack, placer, pointed_thing)
  19. if pointed_thing.type ~= "node" then
  20. return
  21. end
  22. if minetest.get_node(pointed_thing.above).name ~= "air" then
  23. return
  24. end
  25. local obj = minetest.add_entity(pointed_thing.above, "helicopter:heli")
  26. local ent = obj:get_luaentity()
  27. --local imeta = itemstack:get_meta()
  28. local owner = placer:get_player_name()
  29. ent.owner = owner
  30. --[[
  31. ent.energy = imeta:get_int("energy")
  32. ent.hp = imeta:get_int("hp")]]--
  33. local properties = ent.object:get_properties()
  34. properties.infotext = owner .. " nice helicopter"
  35. ent.object:set_properties(properties)
  36. if not (creative_exists and placer and
  37. creative.is_enabled_for(placer:get_player_name())) then
  38. itemstack:take_item()
  39. end
  40. return itemstack
  41. end,
  42. })
  43. --
  44. -- crafting
  45. --
  46. if minetest.get_modpath("default") then
  47. minetest.register_craft({
  48. output = "helicopter:blades",
  49. recipe = {
  50. {"basic_materials:steel_bar", "default:steel_ingot", "basic_materials:steel_bar"},
  51. {"default:steel_ingot", "basic_materials:gear_steel", "default:steel_ingot"},
  52. {"basic_materials:steel_bar", "default:steel_ingot", "basic_materials:steel_bar"},
  53. }
  54. })
  55. minetest.register_craft({
  56. output = "helicopter:cabin",
  57. recipe = {
  58. {"mesecons_materials:glue", "group:wood", "mesecons_materials:glue"},
  59. {"group:wood", "", "default:glass"},
  60. {"group:wood", "group:wood", "group:wood"},
  61. }
  62. })
  63. minetest.register_craft({
  64. output = "helicopter:heli",
  65. recipe = {
  66. {"", "", "helicopter:blades"},
  67. {"", "oil:oil_bucket", "basic_materials:motor"},
  68. {"helicopter:blades", "basic_materials:motor", "helicopter:cabin"},
  69. }
  70. })
  71. end