items.lua 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. local S = dlxtrains.S
  2. function dlxtrains.get_config_wagon_crafting_recipe_complexity()
  3. local wagon_crafting_recipe_complexity_enum = minetest.settings:get("dlxtrains_wagon_crafting_recipe_complexity") or "Standard"
  4. return ({["Basic"]=0, ["Standard"]=1})[wagon_crafting_recipe_complexity_enum]
  5. end
  6. -- ////////////////////////////////////////////////////////////////////////////////////
  7. if dlxtrains.crafting_enabled() then
  8. minetest.register_craftitem("dlxtrains:blueprint", {
  9. description = S("DLX Blueprint"),
  10. inventory_image = "dlxtrains_blueprint.png",
  11. groups = {flammable = 3},
  12. })
  13. minetest.register_craft({
  14. output = "dlxtrains:blueprint 9",
  15. recipe = {
  16. {dlxtrains.materials.paper, dlxtrains.materials.paper, dlxtrains.materials.paper},
  17. {dlxtrains.materials.paper, dlxtrains.materials.mese_crystal_fragment, dlxtrains.materials.paper},
  18. {dlxtrains.materials.paper, dlxtrains.materials.dye_blue, dlxtrains.materials.paper},
  19. }
  20. })
  21. end
  22. -- ////////////////////////////////////////////////////////////////////////////////////
  23. if dlxtrains.crafting_enabled() and dlxtrains.get_config_wagon_crafting_recipe_complexity() == 1 then
  24. if dlxtrains.max_wagon_length >= 6 then -- Currently, no wagons < 6m use a bogie
  25. minetest.register_craftitem("dlxtrains:bogie", {
  26. description = S("Bogie"),
  27. inventory_image = "dlxtrains_bogie.png",
  28. })
  29. minetest.register_craft({
  30. output = "dlxtrains:bogie",
  31. recipe = {
  32. {dlxtrains.materials.advtrains_wheel, dlxtrains.materials.steel_ingot, dlxtrains.materials.advtrains_wheel},
  33. {"dlxtrains:blueprint", dlxtrains.materials.steel_ingot, ""},
  34. {dlxtrains.materials.advtrains_wheel, dlxtrains.materials.steel_ingot, dlxtrains.materials.advtrains_wheel},
  35. }
  36. })
  37. end
  38. minetest.register_craftitem("dlxtrains:coupler_buffer_and_chain", {
  39. description = S("Coupler, buffer and chain"),
  40. inventory_image = "dlxtrains_coupler_buffer_and_chain.png",
  41. })
  42. minetest.register_craft({
  43. output = "dlxtrains:coupler_buffer_and_chain 2",
  44. recipe = {
  45. {"", "dlxtrains:blueprint", ""},
  46. {dlxtrains.materials.steel_ingot, dlxtrains.materials.steel_ingot, dlxtrains.materials.steel_ingot},
  47. {dlxtrains.materials.steel_ingot, "", dlxtrains.materials.steel_ingot},
  48. }
  49. })
  50. if dlxtrains.max_wagon_length >= 6 then -- Currently, no wagons < 6m use knuckle coupler
  51. minetest.register_craftitem("dlxtrains:coupler_knuckle", {
  52. description = S("Coupler, knuckle"),
  53. inventory_image = "dlxtrains_coupler_knuckle.png",
  54. })
  55. minetest.register_craft({
  56. output = "dlxtrains:coupler_knuckle 2",
  57. recipe = {
  58. {dlxtrains.materials.steel_ingot, "dlxtrains:blueprint", dlxtrains.materials.steel_ingot},
  59. {dlxtrains.materials.steel_ingot, dlxtrains.materials.steel_ingot, dlxtrains.materials.steel_ingot},
  60. {"", dlxtrains.materials.steel_ingot, ""},
  61. }
  62. })
  63. end
  64. minetest.register_craftitem("dlxtrains:wagon_chassis", {
  65. description = S("Wagon Chassis"),
  66. inventory_image = "dlxtrains_wagon_chassis.png",
  67. })
  68. minetest.register_craft({
  69. output = "dlxtrains:wagon_chassis",
  70. recipe = {
  71. {dlxtrains.materials.steel_ingot, dlxtrains.materials.steel_ingot, dlxtrains.materials.steel_ingot},
  72. {dlxtrains.materials.steel_ingot, "dlxtrains:blueprint", dlxtrains.materials.steel_ingot},
  73. {dlxtrains.materials.steel_ingot, dlxtrains.materials.steel_ingot, dlxtrains.materials.steel_ingot},
  74. }
  75. })
  76. minetest.register_craftitem("dlxtrains:wheel_set", {
  77. description = S("Wheel Set"),
  78. inventory_image = "dlxtrains_wheel_set.png",
  79. })
  80. minetest.register_craft({
  81. output = "dlxtrains:wheel_set",
  82. recipe = {
  83. {"", dlxtrains.materials.advtrains_wheel, ""},
  84. {"dlxtrains:blueprint", dlxtrains.materials.steel_ingot, ""},
  85. {"", dlxtrains.materials.advtrains_wheel, ""},
  86. }
  87. })
  88. end