init.lua 9.5 KB

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