Merge branch 'mcl_explosions'
[MineClone/MineClone2.git] / mods / ITEMS / mcl_doors / register.lua
blob2ffd4b24579c5c1844e51310430659c6cddcdfa2
1 local S = minetest.get_translator("mcl_doors")
3 --[[ Doors ]]
5 local wood_longdesc = S("Wooden doors are 2-block high barriers which can be opened or closed by hand and by a redstone signal.")
6 local wood_usagehelp = S("To open or close a wooden door, rightclick it or supply its lower half with a redstone signal.")
8 --- Oak Door ---
9 mcl_doors:register_door("mcl_doors:wooden_door", {
10 description = S("Oak Door"),
11 _doc_items_longdesc = wood_longdesc,
12 _doc_items_usagehelp = wood_usagehelp,
13 inventory_image = "doors_item_wood.png",
14 groups = {handy=1,axey=1, material_wood=1, flammable=-1},
15 _mcl_hardness = 3,
16 _mcl_blast_resistance = 3,
17 tiles_bottom = {"mcl_doors_door_wood_lower.png", "mcl_doors_door_wood_side_lower.png"},
18 tiles_top = {"mcl_doors_door_wood_upper.png", "mcl_doors_door_wood_side_upper.png"},
19 sounds = mcl_sounds.node_sound_wood_defaults(),
22 minetest.register_craft({
23 output = "mcl_doors:wooden_door 3",
24 recipe = {
25 {"mcl_core:wood", "mcl_core:wood"},
26 {"mcl_core:wood", "mcl_core:wood"},
27 {"mcl_core:wood", "mcl_core:wood"}
31 --- Acacia Door --
32 mcl_doors:register_door("mcl_doors:acacia_door", {
33 description = S("Acacia Door"),
34 _doc_items_longdesc = wood_longdesc,
35 _doc_items_usagehelp = wood_usagehelp,
36 inventory_image = "mcl_doors_door_acacia.png",
37 groups = {handy=1,axey=1, material_wood=1, flammable=-1},
38 _mcl_hardness = 3,
39 _mcl_blast_resistance = 3,
40 tiles_bottom = {"mcl_doors_door_acacia_lower.png", "mcl_doors_door_acacia_side_lower.png"},
41 tiles_top = {"mcl_doors_door_acacia_upper.png", "mcl_doors_door_acacia_side_upper.png"},
42 sounds = mcl_sounds.node_sound_wood_defaults(),
45 minetest.register_craft({
46 output = "mcl_doors:acacia_door 3",
47 recipe = {
48 {"mcl_core:acaciawood", "mcl_core:acaciawood"},
49 {"mcl_core:acaciawood", "mcl_core:acaciawood"},
50 {"mcl_core:acaciawood", "mcl_core:acaciawood"}
54 --- Birch Door --
55 mcl_doors:register_door("mcl_doors:birch_door", {
56 description = S("Birch Door"),
57 _doc_items_longdesc = wood_longdesc,
58 _doc_items_usagehelp = wood_usagehelp,
59 inventory_image = "mcl_doors_door_birch.png",
60 groups = {handy=1,axey=1, material_wood=1, flammable=-1},
61 _mcl_hardness = 3,
62 _mcl_blast_resistance = 3,
63 tiles_bottom = {"mcl_doors_door_birch_lower.png", "mcl_doors_door_birch_side_lower.png"},
64 tiles_top = {"mcl_doors_door_birch_upper.png", "mcl_doors_door_birch_side_upper.png"},
65 sounds = mcl_sounds.node_sound_wood_defaults(),
68 minetest.register_craft({
69 output = "mcl_doors:birch_door 3",
70 recipe = {
71 {"mcl_core:birchwood", "mcl_core:birchwood"},
72 {"mcl_core:birchwood", "mcl_core:birchwood"},
73 {"mcl_core:birchwood", "mcl_core:birchwood"},
77 --- Dark Oak Door --
78 mcl_doors:register_door("mcl_doors:dark_oak_door", {
79 description = S("Dark Oak Door"),
80 _doc_items_longdesc = wood_longdesc,
81 _doc_items_usagehelp = wood_usagehelp,
82 inventory_image = "mcl_doors_door_dark_oak.png",
83 groups = {handy=1,axey=1, material_wood=1, flammable=-1},
84 _mcl_hardness = 3,
85 _mcl_blast_resistance = 3,
86 tiles_bottom = {"mcl_doors_door_dark_oak_lower.png", "mcl_doors_door_dark_oak_side_lower.png"},
87 tiles_top = {"mcl_doors_door_dark_oak_upper.png", "mcl_doors_door_dark_oak_side_upper.png"},
88 sounds = mcl_sounds.node_sound_wood_defaults(),
91 minetest.register_craft({
92 output = "mcl_doors:dark_oak_door 3",
93 recipe = {
94 {"mcl_core:darkwood", "mcl_core:darkwood"},
95 {"mcl_core:darkwood", "mcl_core:darkwood"},
96 {"mcl_core:darkwood", "mcl_core:darkwood"},
100 --- Jungle Door --
101 mcl_doors:register_door("mcl_doors:jungle_door", {
102 description = S("Jungle Door"),
103 _doc_items_longdesc = wood_longdesc,
104 _doc_items_usagehelp = wood_usagehelp,
105 inventory_image = "mcl_doors_door_jungle.png",
106 groups = {handy=1,axey=1, material_wood=1, flammable=-1},
107 _mcl_hardness = 3,
108 _mcl_blast_resistance = 3,
109 tiles_bottom = {"mcl_doors_door_jungle_lower.png", "mcl_doors_door_jungle_side_lower.png"},
110 tiles_top = {"mcl_doors_door_jungle_upper.png", "mcl_doors_door_jungle_side_upper.png"},
111 sounds = mcl_sounds.node_sound_wood_defaults(),
114 minetest.register_craft({
115 output = "mcl_doors:jungle_door 3",
116 recipe = {
117 {"mcl_core:junglewood", "mcl_core:junglewood"},
118 {"mcl_core:junglewood", "mcl_core:junglewood"},
119 {"mcl_core:junglewood", "mcl_core:junglewood"}
123 --- Spruce Door --
124 mcl_doors:register_door("mcl_doors:spruce_door", {
125 description = S("Spruce Door"),
126 _doc_items_longdesc = wood_longdesc,
127 _doc_items_usagehelp = wood_usagehelp,
128 inventory_image = "mcl_doors_door_spruce.png",
129 groups = {handy=1,axey=1, material_wood=1, flammable=-1},
130 _mcl_hardness = 3,
131 _mcl_blast_resistance = 3,
132 tiles_bottom = {"mcl_doors_door_spruce_lower.png", "mcl_doors_door_spruce_side_lower.png"},
133 tiles_top = {"mcl_doors_door_spruce_upper.png", "mcl_doors_door_spruce_side_upper.png"},
134 sounds = mcl_sounds.node_sound_wood_defaults(),
137 minetest.register_craft({
138 output = "mcl_doors:spruce_door 3",
139 recipe = {
140 {"mcl_core:sprucewood", "mcl_core:sprucewood"},
141 {"mcl_core:sprucewood", "mcl_core:sprucewood"},
142 {"mcl_core:sprucewood", "mcl_core:sprucewood"}
146 minetest.register_craft({
147 type = "fuel",
148 recipe = "mcl_doors:wooden_door",
149 burntime = 10,
151 minetest.register_craft({
152 type = "fuel",
153 recipe = "mcl_doors:jungle_door",
154 burntime = 10,
156 minetest.register_craft({
157 type = "fuel",
158 recipe = "mcl_doors:dark_oak_door",
159 burntime = 10,
161 minetest.register_craft({
162 type = "fuel",
163 recipe = "mcl_doors:birch_door",
164 burntime = 10,
166 minetest.register_craft({
167 type = "fuel",
168 recipe = "mcl_doors:acacia_door",
169 burntime = 10,
171 minetest.register_craft({
172 type = "fuel",
173 recipe = "mcl_doors:spruce_door",
174 burntime = 10,
177 --- Iron Door ---
178 mcl_doors:register_door("mcl_doors:iron_door", {
179 description = S("Iron Door"),
180 _doc_items_longdesc = S("Iron doors are 2-block high barriers which can only be opened or closed by a redstone signal, but not by hand."),
181 _doc_items_usagehelp = S("To open or close an iron door, supply its lower half with a redstone signal."),
182 inventory_image = "doors_item_steel.png",
183 groups = {pickaxey=1, mesecon_effector_on=1},
184 _mcl_hardness = 5,
185 _mcl_blast_resistance = 5,
186 tiles_bottom = {"mcl_doors_door_iron_lower.png^[transformFX", "mcl_doors_door_iron_side_lower.png"},
187 tiles_top = {"mcl_doors_door_iron_upper.png^[transformFX", "mcl_doors_door_iron_side_upper.png"},
188 sounds = mcl_sounds.node_sound_metal_defaults(),
189 sound_open = "doors_steel_door_open",
190 sound_close = "doors_steel_door_close",
192 only_redstone_can_open = true,
195 minetest.register_craft({
196 output = "mcl_doors:iron_door 3",
197 recipe = {
198 {"mcl_core:iron_ingot", "mcl_core:iron_ingot"},
199 {"mcl_core:iron_ingot", "mcl_core:iron_ingot"},
200 {"mcl_core:iron_ingot", "mcl_core:iron_ingot"}
206 --[[ Trapdoors ]]
207 local woods = {
208 -- id, desc, texture, craftitem
209 { "trapdoor", S("Oak Trapdoor"), "doors_trapdoor.png", "doors_trapdoor_side.png", "mcl_core:wood" },
210 { "acacia_trapdoor", S("Acacia Trapdoor"), "mcl_doors_trapdoor_acacia.png", "mcl_doors_trapdoor_acacia_side.png", "mcl_core:acaciawood" },
211 { "birch_trapdoor", S("Birch Trapdoor"), "mcl_doors_trapdoor_birch.png", "mcl_doors_trapdoor_birch_side.png", "mcl_core:birchwood" },
212 { "spruce_trapdoor", S("Spruce Trapdoor"), "mcl_doors_trapdoor_spruce.png", "mcl_doors_trapdoor_spruce_side.png", "mcl_core:sprucewood" },
213 { "dark_oak_trapdoor", S("Dark Oak Trapdoor"), "mcl_doors_trapdoor_dark_oak.png", "mcl_doors_trapdoor_dark_oak_side.png", "mcl_core:darkwood" },
214 { "jungle_trapdoor", S("Jungle Trapdoor"), "mcl_doors_trapdoor_jungle.png", "mcl_doors_trapdoor_jungle_side.png", "mcl_core:junglewood" },
217 for w=1, #woods do
218 mcl_doors:register_trapdoor("mcl_doors:"..woods[w][1], {
219 description = woods[w][2],
220 _doc_items_longdesc = S("Wooden trapdoors are horizontal barriers which can be opened and closed by hand or a redstone signal. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder."),
221 _doc_items_usagehelp = S("To open or close the trapdoor, rightclick it or send a redstone signal to it."),
222 tile_front = woods[w][3],
223 tile_side = woods[w][4],
224 wield_image = woods[w][3],
225 groups = {handy=1,axey=1, mesecon_effector_on=1, material_wood=1, flammable=-1},
226 _mcl_hardness = 3,
227 _mcl_blast_resistance = 3,
228 sounds = mcl_sounds.node_sound_wood_defaults(),
231 minetest.register_craft({
232 output = "mcl_doors:"..woods[w][1].." 2",
233 recipe = {
234 {woods[w][5], woods[w][5], woods[w][5]},
235 {woods[w][5], woods[w][5], woods[w][5]},
239 minetest.register_craft({
240 type = "fuel",
241 recipe = "mcl_doors:"..woods[w][1],
242 burntime = 15,
246 mcl_doors:register_trapdoor("mcl_doors:iron_trapdoor", {
247 description = S("Iron Trapdoor"),
248 _doc_items_longdesc = S("Iron trapdoors are horizontal barriers which can only be opened and closed by redstone signals, but not by hand. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder."),
249 tile_front = "doors_trapdoor_steel.png",
250 tile_side = "doors_trapdoor_steel_side.png",
251 wield_image = "doors_trapdoor_steel.png",
252 groups = {pickaxey=1, mesecon_effector_on=1},
253 _mcl_hardness = 5,
254 _mcl_blast_resistance = 5,
255 sounds = mcl_sounds.node_sound_metal_defaults(),
256 sound_open = "doors_steel_door_open",
257 sound_close = "doors_steel_door_close",
259 only_redstone_can_open = true,
262 minetest.register_craft({
263 output = 'mcl_doors:iron_trapdoor',
264 recipe = {
265 {'mcl_core:iron_ingot', 'mcl_core:iron_ingot'},
266 {'mcl_core:iron_ingot', 'mcl_core:iron_ingot'},