init.lua 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. -- Pig Iron Ingot
  2. minetest.register_craftitem("pigiron:iron_ingot", {
  3. description = "Iron Ingot",
  4. inventory_image = "pigiron_iron_ingot.png",
  5. })
  6. -- Remove Iron Lump -> Steel Ingot Recipe
  7. minetest.clear_craft({
  8. type = "cooking",
  9. recipe = "default:iron_lump"
  10. })
  11. -- Iron Lump -> Iron Ingot
  12. minetest.register_craft({
  13. type = "cooking",
  14. output = "pigiron:iron_ingot",
  15. recipe = "default:iron_lump",
  16. })
  17. -- Pig Iron Block
  18. minetest.register_node("pigiron:iron_block", {
  19. description = "Iron Block",
  20. tiles = {"pigiron_iron_block.png"},
  21. is_ground_content = false,
  22. groups = {cracky = 1},
  23. sounds = default.node_sound_metal_defaults(),
  24. })
  25. minetest.register_craft({
  26. output = "pigiron:iron_block",
  27. recipe = {
  28. {"pigiron:iron_ingot", "pigiron:iron_ingot", "pigiron:iron_ingot"},
  29. {"pigiron:iron_ingot", "pigiron:iron_ingot", "pigiron:iron_ingot"},
  30. {"pigiron:iron_ingot", "pigiron:iron_ingot", "pigiron:iron_ingot"},
  31. }
  32. })
  33. minetest.register_craft({
  34. output = "pigiron:iron_ingot 9",
  35. type = "shapeless",
  36. recipe = {"pigiron:iron_block"}
  37. })
  38. -- Rusted Pig Iron Block
  39. minetest.register_node("pigiron:rusted_iron_block", {
  40. description = "Rusted Iron Block",
  41. tiles = {"pigiron_rusted_iron_block.png"},
  42. is_ground_content = false,
  43. groups = {cracky = 1},
  44. sounds = default.node_sound_metal_defaults(),
  45. })
  46. minetest.register_craft({
  47. output = "pigiron:rusted_iron_block 8",
  48. recipe = {
  49. {"pigiron:iron_block", "pigiron:iron_block", "pigiron:iron_block"},
  50. {"pigiron:iron_block", "mesecraft_bucket:bucket_water", "pigiron:iron_block"},
  51. {"pigiron:iron_block", "pigiron:iron_block", "pigiron:iron_block"},
  52. },
  53. replacements = {
  54. {"mesecraft_bucket:bucket_water", "mesecraft_bucket:bucket_empty"}
  55. }
  56. })
  57. -- Cook Rusted Block Into Normal Block
  58. minetest.register_craft({
  59. output = "pigiron:iron_block",
  60. type = "cooking",
  61. recipe = "pigiron:rusted_iron_block",
  62. cooktime = 5
  63. })
  64. -- Do not register these items and recipes if Ethereal mod active
  65. if not minetest.get_modpath("ethereal") then
  66. -- Charcoal
  67. minetest.register_craftitem("pigiron:charcoal_lump", {
  68. description = "Lump of Charcoal",
  69. inventory_image = "pigiron_charcoal_lump.png",
  70. })
  71. -- Tree -> Charcoal Recipe
  72. minetest.register_craft({
  73. output = "pigiron:charcoal_lump 2",
  74. type = "cooking",
  75. recipe = "group:tree",
  76. cooktime = 4
  77. })
  78. -- Charcoal Fuel
  79. minetest.register_craft({
  80. type = "fuel",
  81. recipe = "pigiron:charcoal_lump",
  82. burntime = 10,
  83. })
  84. -- Charcoal Torch Recipe
  85. minetest.register_craft({
  86. output = "default:torch 4",
  87. recipe = {
  88. {"pigiron:charcoal_lump"},
  89. {"group:stick"},
  90. }
  91. })
  92. else
  93. -- Alias charcoal lump to the one used in Ethereal mod
  94. minetest.register_alias("pigiron:charcoal_lump", "ethereal:charcoal_lump")
  95. end -- END If Ethereal
  96. -- Iron/Charcoal Mix
  97. minetest.register_craftitem("pigiron:iron_charcoal_mix", {
  98. description = "Iron and Charcoal Mix",
  99. inventory_image = "pigiron_iron_ingot.png^pigiron_charcoal_lump.png",
  100. })
  101. minetest.register_craft({
  102. output = "pigiron:iron_charcoal_mix",
  103. type = "shapeless",
  104. recipe = {
  105. "pigiron:iron_ingot", "pigiron:charcoal_lump",
  106. "pigiron:charcoal_lump", "pigiron:charcoal_lump"
  107. }
  108. })
  109. -- Cook Iron/Charcoal Mix into Steel Ingot
  110. minetest.register_craft({
  111. output = "default:steel_ingot",
  112. type = "cooking",
  113. recipe = "pigiron:iron_charcoal_mix",
  114. cooktime = 10
  115. })
  116. -- Abm to turn Iron Block into Rusted Iron Block
  117. minetest.register_abm({
  118. label = "Rust Iron Block",
  119. nodenames = {
  120. "pigiron:iron_block", "stairs:slab_iron_block",
  121. "stairs:stair_iron_block"
  122. },
  123. neighbors = {"group:water"},
  124. interval = 20,
  125. chance = 300,
  126. catch_up = false,
  127. action = function(pos, node)
  128. if node.name == "pigiron:iron_block" then
  129. minetest.set_node(pos, {name = "pigiron:rusted_iron_block"})
  130. elseif node.name == "stairs:slab_iron_block" then
  131. minetest.set_node(pos, {name = "stairs:slab_rusted_iron_block",
  132. param2 = node.param2})
  133. elseif node.name == "stairs:stair_iron_block" then
  134. minetest.set_node(pos, {name = "stairs:stair_rusted_iron_block",
  135. param2 = node.param2})
  136. end
  137. end
  138. })
  139. -- Add Tools and Lucky Blocks
  140. local path = minetest.get_modpath("pigiron")
  141. dofile(path .. "/tools.lua")
  142. dofile(path .. "/lucky_block.lua")
  143. -- Change Xpanes Iron Bar Recipe to use Iron Ingots
  144. if minetest.get_modpath("xpanes")
  145. and minetest.registered_nodes["xpanes:bar_flat"]
  146. and not minetest.registered_nodes["default:permafrost"] then
  147. minetest.clear_craft({
  148. output = "xpanes:bar_flat"
  149. })
  150. minetest.register_craft({
  151. output = "xpanes:bar_flat",
  152. recipe = {
  153. {"pigiron:iron_ingot", "pigiron:iron_ingot", "pigiron:iron_ingot"},
  154. {"pigiron:iron_ingot", "pigiron:iron_ingot", "pigiron:iron_ingot"}
  155. }
  156. })
  157. end
  158. -- Register Stairs
  159. if minetest.get_modpath("stairs") then
  160. stairs.register_stair_and_slab("iron_block", "pigiron:iron_block",
  161. {cracky = 1},
  162. {"pigiron_iron_block.png"},
  163. "Iron Block Stair",
  164. "Iron Block Slab",
  165. default.node_sound_metal_defaults())
  166. stairs.register_stair_and_slab("rusted_iron_block", "pigiron:rusted_iron_block",
  167. {cracky = 1},
  168. {"pigiron_rusted_iron_block.png"},
  169. "Rusted Iron Block Stair",
  170. "Rusted Iron Block Slab",
  171. default.node_sound_metal_defaults())
  172. -- Cook Rusted Iron Stairs and Slabs Back Into Normal Iron Stairs
  173. minetest.register_craft({
  174. output = "stairs:stair_iron_block",
  175. type = "cooking",
  176. recipe = "stairs:stair_rusted_iron_block",
  177. cooktime = 5
  178. })
  179. minetest.register_craft({
  180. output = "stairs:slab_iron_block",
  181. type = "cooking",
  182. recipe = "stairs:slab_rusted_iron_block",
  183. cooktime = 5
  184. })
  185. end
  186. print("[MOD] Pig Iron loaded")