init.lua 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. --------------------------------------------------------
  2. -- Minetest :: Extra Doors v2.0 (extra_doors)
  3. --
  4. -- See README.txt for licensing and release notes.
  5. -- Copyright (c) 2018, Leslie E. Krause
  6. --------------------------------------------------------
  7. -- One of the most essential but often overlooked elements of building design is door selection.
  8. -- Doors set the tone and character, and having the wrong style of door can make or break a build.
  9. doors.register( "door_woodpanel1", {
  10. -- Colonial Style (6 panel)
  11. tiles = { { name = "doors_door_woodpanel1.png", backface_culling = true } },
  12. description = "Wooden Colonial Door",
  13. inventory_image = "doors_item_woodpanel1.png",
  14. groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
  15. recipe = {
  16. { "group:wood", "group:wood", "default:stick" },
  17. { "group:wood", "group:wood", "default:stick" },
  18. { "group:wood", "group:wood", "default:stick" },
  19. }
  20. } )
  21. doors.register( "door_woodglass1", {
  22. -- Cambridge Style (2 panel)
  23. tiles = { { name = "doors_door_woodglass1.png", backface_culling = true } },
  24. description = "Wooden Single-Lite Door",
  25. inventory_image = "doors_item_woodglass1.png",
  26. groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
  27. recipe = {
  28. { "default:glass", "default:glass", "default:stick" },
  29. { "group:wood", "group:wood", "" },
  30. { "group:wood", "group:wood", "" },
  31. }
  32. } )
  33. doors.register( "door_woodglass2", {
  34. -- Atherton Style (4 panel)
  35. tiles = { { name = "doors_door_woodglass2.png", backface_culling = true } },
  36. description = "Wooden Double-Lite Door",
  37. inventory_image = "doors_item_woodglass2.png",
  38. groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
  39. recipe = {
  40. { "default:glass", "default:glass", "default:stick" },
  41. { "group:wood", "group:wood", "default:stick" },
  42. { "group:wood", "group:wood", "" },
  43. }
  44. } )
  45. doors.register( "door_japanese", {
  46. tiles = { { name = "doors_door_japanese.png", backface_culling = true } },
  47. description = "Japanese Door",
  48. inventory_image = "doors_item_japanese.png",
  49. groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
  50. recipe = {
  51. { "default:paper", "group:wood", "default:stick" },
  52. { "default:paper", "group:wood", "default:stick" },
  53. { "default:paper", "group:wood", "default:stick" },
  54. }
  55. } )
  56. doors.register( "door_french", {
  57. tiles = { { name = "doors_door_french.png", backface_culling = true } },
  58. description = "French Door",
  59. inventory_image = "doors_item_french.png",
  60. groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
  61. recipe = {
  62. { "default:glass", "group:wood", "default:stick" },
  63. { "default:glass", "group:wood", "default:stick" },
  64. { "default:glass", "group:wood", "default:stick" },
  65. }
  66. } )
  67. doors.register( "door_cottage1", {
  68. tiles = { { name = "doors_door_cottage1.png", backface_culling = true } },
  69. description = "Cottage Interior Door",
  70. inventory_image = "doors_item_cottage1.png",
  71. groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
  72. recipe = {
  73. { "group:wood", "group:wood" },
  74. { "default:stick", "default:stick" },
  75. { "group:wood", "group:wood" },
  76. }
  77. } )
  78. doors.register( "door_cottage2", {
  79. tiles = { { name = "doors_door_cottage2.png", backface_culling = true } },
  80. description = "Cottage Exterior Door",
  81. inventory_image = "doors_item_cottage2.png",
  82. groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
  83. recipe = {
  84. { "default:glass", "default:glass" },
  85. { "default:stick", "default:stick" },
  86. { "group:wood", "group:wood" },
  87. }
  88. } )
  89. doors.register( "door_barn1", {
  90. tiles = { { name = "doors_door_barn1.png", backface_culling = true } },
  91. description = "Barn Interior Door",
  92. inventory_image = "doors_item_barn1.png",
  93. groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
  94. recipe = {
  95. { "group:wood", "group:wood", "group:wood" },
  96. { "default:stick", "default:stick", "default:stick" },
  97. { "group:wood", "group:wood", "group:wood" },
  98. }
  99. } )
  100. doors.register( "door_barn2", {
  101. tiles = { { name = "doors_door_barn2.png", backface_culling = true } },
  102. description = "Barn Exterior Door",
  103. inventory_image = "doors_item_barn2.png",
  104. groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
  105. recipe = {
  106. { "group:wood", "group:wood", "group:wood" },
  107. { "darkage:iron_stick", "darkage:iron_stick", "darkage:iron_stick" },
  108. { "group:wood", "group:wood", "group:wood" },
  109. }
  110. } )
  111. doors.register( "door_castle1", {
  112. tiles = { { name = "doors_door_castle1.png", backface_culling = true } },
  113. description = "Castle Interior Door",
  114. inventory_image = "doors_item_castle1.png",
  115. groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
  116. recipe = {
  117. { "default:stick", "group:wood", "group:wood" },
  118. { "", "group:wood", "group:wood" },
  119. { "default:stick", "group:wood", "group:wood" },
  120. }
  121. } )
  122. doors.register( "door_castle2", {
  123. tiles = { { name = "doors_door_castle2.png", backface_culling = true } },
  124. description = "Castle Exterior Door",
  125. inventory_image = "doors_item_castle2.png",
  126. groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
  127. recipe = {
  128. { "darkage:iron_stick", "group:wood", "group:wood" },
  129. { "", "group:wood", "group:wood" },
  130. { "darkage:iron_stick", "group:wood", "group:wood" },
  131. }
  132. } )
  133. doors.register( "door_mansion1", {
  134. tiles = { { name = "doors_door_mansion1.png", backface_culling = true } },
  135. description = "Mansion Interior Door",
  136. inventory_image = "doors_item_mansion1.png",
  137. groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
  138. recipe = {
  139. { "group:wood", "group:wood", "dye:white" },
  140. { "group:wood", "group:wood", "dye:yellow" },
  141. { "group:wood", "group:wood", "dye:white" },
  142. }
  143. } )
  144. doors.register( "door_mansion2", {
  145. tiles = { { name = "doors_door_mansion2.png", backface_culling = true } },
  146. description = "Mansion Exterior Door ",
  147. inventory_image = "doors_item_mansion2.png",
  148. groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
  149. recipe = {
  150. { "group:wood", "group:wood", "dye:black" },
  151. { "group:wood", "group:wood", "dye:yellow" },
  152. { "group:wood", "group:wood", "dye:black" },
  153. }
  154. } )
  155. doors.register("door_dungeon1", {
  156. tiles = { { name = "doors_door_dungeon1.png", backface_culling = true } },
  157. description = "Dungeon Interior Door",
  158. inventory_image = "doors_item_dungeon1.png",
  159. protected = true,
  160. groups = { cracky = 1, level = 2 },
  161. sounds = default.node_sound_metal_defaults( ),
  162. sound_open = "doors_steel_door_open",
  163. sound_close = "doors_steel_door_close",
  164. recipe = {
  165. { "default:steel_ingot", "darkage:iron_stick", "default:steel_ingot" },
  166. { "darkage:iron_stick", "darkage:iron_stick", "darkage:iron_stick" },
  167. { "default:steel_ingot", "darkage:iron_stick", "default:steel_ingot" },
  168. }
  169. } )
  170. doors.register( "door_dungeon2", {
  171. tiles = { { name = "doors_door_dungeon2.png", backface_culling = true } },
  172. description = "Dungeon Exterior Door",
  173. inventory_image = "doors_item_dungeon2.png",
  174. protected = true,
  175. groups = { cracky = 1, level = 2 },
  176. sounds = default.node_sound_metal_defaults( ),
  177. sound_open = "doors_steel_door_open",
  178. sound_close = "doors_steel_door_close",
  179. recipe = {
  180. { "darkage:iron_stick", "darkage:iron_stick", "darkage:iron_stick" },
  181. { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" },
  182. { "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" },
  183. }
  184. } )
  185. doors.register( "door_steelpanel1", {
  186. tiles = { { name = "doors_door_steelpanel1.png", backface_culling = true } },
  187. description = "Steel Colonial Door",
  188. inventory_image = "doors_item_steelpanel1.png",
  189. protected = true,
  190. groups = { cracky = 1, level = 2 },
  191. sounds = default.node_sound_metal_defaults( ),
  192. sound_open = "doors_steel_door_open",
  193. sound_close = "doors_steel_door_close",
  194. recipe = {
  195. { "default:steel_ingot", "default:steel_ingot", "darkage:iron_stick" },
  196. { "default:steel_ingot", "default:steel_ingot", "darkage:iron_stick" },
  197. { "default:steel_ingot", "default:steel_ingot", "darkage:iron_stick" },
  198. }
  199. } )
  200. doors.register( "door_steelglass1", {
  201. tiles = { { name = "doors_door_steelglass1.png", backface_culling = true } },
  202. description = "Steel Single-Lite Door",
  203. inventory_image = "doors_item_steelglass1.png",
  204. protected = true,
  205. groups = { cracky = 1, level = 2 },
  206. sounds = default.node_sound_metal_defaults( ),
  207. sound_open = "doors_steel_door_open",
  208. sound_close = "doors_steel_door_close",
  209. recipe = {
  210. { "default:glass", "default:glass", "darkage:iron_stick" },
  211. { "default:steel_ingot", "default:steel_ingot", "" },
  212. { "default:steel_ingot", "default:steel_ingot", "" },
  213. }
  214. } )
  215. doors.register( "door_steelglass2", {
  216. tiles = { { name = "doors_door_steelglass2.png", backface_culling = true } },
  217. description = "Steel Double-Lite Door",
  218. inventory_image = "doors_item_steelglass2.png",
  219. protected = true,
  220. groups = { cracky = 1, level = 2 },
  221. sounds = default.node_sound_metal_defaults( ),
  222. sound_open = "doors_steel_door_open",
  223. sound_close = "doors_steel_door_close",
  224. recipe = {
  225. { "default:glass", "default:glass", "darkage:iron_stick" },
  226. { "default:steel_ingot", "default:steel_ingot", "darkage:iron_stick" },
  227. { "default:steel_ingot", "default:steel_ingot", "" },
  228. }
  229. } )
  230. minetest.register_craft( {
  231. type = "fuel",
  232. recipe = "doors:door_barn1",
  233. burntime = 14,
  234. } )
  235. minetest.register_craft( {
  236. type = "fuel",
  237. recipe = "doors:door_barn2",
  238. burntime = 16,
  239. } )
  240. minetest.register_craft( {
  241. type = "fuel",
  242. recipe = "doors:door_castle1",
  243. burntime = 8,
  244. } )
  245. minetest.register_craft( {
  246. type = "fuel",
  247. recipe = "doors:door_castle2",
  248. burntime = 12,
  249. } )