init.lua 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  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", "bucket:bucket_water", "pigiron:iron_block"},
  51. {"pigiron:iron_block", "pigiron:iron_block", "pigiron:iron_block"}
  52. },
  53. replacements = {
  54. {"bucket:bucket_water", "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:charcoal_lump", ""},
  106. {"pigiron:charcoal_lump", "pigiron:iron_ingot", "pigiron:charcoal_lump"},
  107. {"", "pigiron:charcoal_lump", ""}
  108. }
  109. })
  110. -- Cook Iron/Charcoal Mix into Steel Ingot
  111. minetest.register_craft({
  112. output = "default:steel_ingot",
  113. type = "cooking",
  114. recipe = "pigiron:iron_charcoal_mix",
  115. cooktime = 10
  116. })
  117. if minetest.get_modpath("default") then
  118. -- Iron/Coal Mix
  119. minetest.register_craftitem("pigiron:iron_coal_mix", {
  120. description = "Iron and Coal Mix",
  121. inventory_image = "pigiron_iron_ingot.png^default_coal_lump.png"
  122. })
  123. minetest.register_craft({
  124. output = "pigiron:iron_coal_mix",
  125. --type = "shapeless",
  126. recipe = {
  127. {"", "default:coal_lump", ""},
  128. {"default:coal_lump", "pigiron:iron_ingot", "default:coal_lump"},
  129. {"", "default:coal_lump", ""}
  130. }
  131. })
  132. -- Cook Iron/Coal Mix into Steel Ingot
  133. minetest.register_craft({
  134. output = "default:steel_ingot",
  135. type = "cooking",
  136. recipe = "pigiron:iron_coal_mix",
  137. cooktime = 12
  138. })
  139. end
  140. -- Abm to turn Iron Block into Rusted Iron Block
  141. minetest.register_abm({
  142. label = "Rust Iron Block",
  143. nodenames = {
  144. "pigiron:iron_block",
  145. "stairs:slab_iron_block",
  146. "stairs:stair_iron_block",
  147. "stairs:stair_inner_iron_block",
  148. "stairs:stair_outer_iron_block"
  149. },
  150. neighbors = {"group:water"},
  151. interval = 20,
  152. chance = 300,
  153. catch_up = false,
  154. action = function(pos, node)
  155. if node.name == "pigiron:iron_block" then
  156. minetest.swap_node(pos, {name = "pigiron:rusted_iron_block"})
  157. elseif node.name == "stairs:slab_iron_block" then
  158. minetest.swap_node(pos, {name = "stairs:slab_rusted_iron_block",
  159. param2 = node.param2})
  160. elseif node.name == "stairs:stair_iron_block" then
  161. minetest.swap_node(pos, {name = "stairs:stair_rusted_iron_block",
  162. param2 = node.param2})
  163. elseif node.name == "stairs:stair_inner_iron_block" then
  164. minetest.swap_node(pos, {name = "stairs:stair_inner_rusted_iron_block",
  165. param2 = node.param2})
  166. elseif node.name == "stairs:stair_outer_iron_block" then
  167. minetest.swap_node(pos, {name = "stairs:stair_outer_rusted_iron_block",
  168. param2 = node.param2})
  169. end
  170. end
  171. })
  172. -- Add Tools and Lucky Blocks
  173. local path = minetest.get_modpath("pigiron")
  174. dofile(path .. "/tools.lua")
  175. dofile(path .. "/lucky_block.lua")
  176. -- Change Xpanes Iron Bar Recipe to use Iron Ingots
  177. if minetest.get_modpath("xpanes")
  178. and minetest.registered_nodes["xpanes:bar_flat"]
  179. and not minetest.registered_nodes["default:permafrost"] then
  180. minetest.clear_craft({
  181. output = "xpanes:bar_flat"
  182. })
  183. minetest.register_craft({
  184. output = "xpanes:bar_flat",
  185. recipe = {
  186. {"pigiron:iron_ingot", "pigiron:iron_ingot", "pigiron:iron_ingot"},
  187. {"pigiron:iron_ingot", "pigiron:iron_ingot", "pigiron:iron_ingot"}
  188. }
  189. })
  190. end
  191. -- Register Stairs
  192. if minetest.get_modpath("stairs") then
  193. stairs.register_stair_and_slab("iron_block", "pigiron:iron_block",
  194. {cracky = 1},
  195. {"pigiron_iron_block.png"},
  196. "Iron Block Stair",
  197. "Iron Block Slab",
  198. default.node_sound_metal_defaults())
  199. stairs.register_stair_and_slab("rusted_iron_block", "pigiron:rusted_iron_block",
  200. {cracky = 1},
  201. {"pigiron_rusted_iron_block.png"},
  202. "Rusted Iron Block Stair",
  203. "Rusted Iron Block Slab",
  204. default.node_sound_metal_defaults())
  205. -- Cook Rusted Iron Stairs and Slabs Back Into Normal Iron Stairs
  206. minetest.register_craft({
  207. output = "stairs:stair_iron_block",
  208. type = "cooking",
  209. recipe = "stairs:stair_rusted_iron_block",
  210. cooktime = 5
  211. })
  212. minetest.register_craft({
  213. output = "stairs:slab_iron_block",
  214. type = "cooking",
  215. recipe = "stairs:slab_rusted_iron_block",
  216. cooktime = 5
  217. })
  218. end
  219. print("[MOD] Pig Iron loaded")