TNT: Add on_blast to all nodes with an inventory
[oweals/minetest_game.git] / mods / default / crafting.lua
1 -- mods/default/crafting.lua
2
3 minetest.register_craft({
4         output = 'default:wood 4',
5         recipe = {
6                 {'default:tree'},
7         }
8 })
9
10 minetest.register_craft({
11         output = 'default:junglewood 4',
12         recipe = {
13                 {'default:jungletree'},
14         }
15 })
16
17 minetest.register_craft({
18         output = 'default:pine_wood 4',
19         recipe = {
20                 {'default:pine_tree'},
21         }
22 })
23
24 minetest.register_craft({
25         output = 'default:acacia_wood 4',
26         recipe = {
27                 {'default:acacia_tree'},
28         }
29 })
30
31 minetest.register_craft({
32         output = 'default:aspen_wood 4',
33         recipe = {
34                 {'default:aspen_tree'},
35         }
36 })
37
38 minetest.register_craft({
39         output = 'default:stick 4',
40         recipe = {
41                 {'group:wood'},
42         }
43 })
44
45 minetest.register_craft({
46         output = 'default:sign_wall_steel 3',
47         recipe = {
48                 {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
49                 {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
50                 {'', 'group:stick', ''},
51         }
52 })
53
54 minetest.register_craft({
55         output = 'default:sign_wall_wood 3',
56         recipe = {
57                 {'group:wood', 'group:wood', 'group:wood'},
58                 {'group:wood', 'group:wood', 'group:wood'},
59                 {'', 'group:stick', ''},
60         }
61 })
62
63 minetest.register_craft({
64         output = 'default:torch 4',
65         recipe = {
66                 {'default:coal_lump'},
67                 {'group:stick'},
68         }
69 })
70
71 minetest.register_craft({
72         output = 'default:pick_wood',
73         recipe = {
74                 {'group:wood', 'group:wood', 'group:wood'},
75                 {'', 'group:stick', ''},
76                 {'', 'group:stick', ''},
77         }
78 })
79
80 minetest.register_craft({
81         output = 'default:pick_stone',
82         recipe = {
83                 {'group:stone', 'group:stone', 'group:stone'},
84                 {'', 'group:stick', ''},
85                 {'', 'group:stick', ''},
86         }
87 })
88
89 minetest.register_craft({
90         output = 'default:pick_steel',
91         recipe = {
92                 {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
93                 {'', 'group:stick', ''},
94                 {'', 'group:stick', ''},
95         }
96 })
97
98 minetest.register_craft({
99         output = 'default:pick_bronze',
100         recipe = {
101                 {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'},
102                 {'', 'group:stick', ''},
103                 {'', 'group:stick', ''},
104         }
105 })
106
107 minetest.register_craft({
108         output = 'default:pick_mese',
109         recipe = {
110                 {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'},
111                 {'', 'group:stick', ''},
112                 {'', 'group:stick', ''},
113         }
114 })
115
116 minetest.register_craft({
117         output = 'default:pick_diamond',
118         recipe = {
119                 {'default:diamond', 'default:diamond', 'default:diamond'},
120                 {'', 'group:stick', ''},
121                 {'', 'group:stick', ''},
122         }
123 })
124
125 minetest.register_craft({
126         output = 'default:shovel_wood',
127         recipe = {
128                 {'group:wood'},
129                 {'group:stick'},
130                 {'group:stick'},
131         }
132 })
133
134 minetest.register_craft({
135         output = 'default:shovel_stone',
136         recipe = {
137                 {'group:stone'},
138                 {'group:stick'},
139                 {'group:stick'},
140         }
141 })
142
143 minetest.register_craft({
144         output = 'default:shovel_steel',
145         recipe = {
146                 {'default:steel_ingot'},
147                 {'group:stick'},
148                 {'group:stick'},
149         }
150 })
151
152 minetest.register_craft({
153         output = 'default:shovel_bronze',
154         recipe = {
155                 {'default:bronze_ingot'},
156                 {'group:stick'},
157                 {'group:stick'},
158         }
159 })
160
161 minetest.register_craft({
162         output = 'default:shovel_mese',
163         recipe = {
164                 {'default:mese_crystal'},
165                 {'group:stick'},
166                 {'group:stick'},
167         }
168 })
169
170 minetest.register_craft({
171         output = 'default:shovel_diamond',
172         recipe = {
173                 {'default:diamond'},
174                 {'group:stick'},
175                 {'group:stick'},
176         }
177 })
178
179 minetest.register_craft({
180         output = 'default:axe_wood',
181         recipe = {
182                 {'group:wood', 'group:wood'},
183                 {'group:wood', 'group:stick'},
184                 {'', 'group:stick'},
185         }
186 })
187
188 minetest.register_craft({
189         output = 'default:axe_stone',
190         recipe = {
191                 {'group:stone', 'group:stone'},
192                 {'group:stone', 'group:stick'},
193                 {'', 'group:stick'},
194         }
195 })
196
197 minetest.register_craft({
198         output = 'default:axe_steel',
199         recipe = {
200                 {'default:steel_ingot', 'default:steel_ingot'},
201                 {'default:steel_ingot', 'group:stick'},
202                 {'', 'group:stick'},
203         }
204 })
205
206 minetest.register_craft({
207         output = 'default:axe_bronze',
208         recipe = {
209                 {'default:bronze_ingot', 'default:bronze_ingot'},
210                 {'default:bronze_ingot', 'group:stick'},
211                 {'', 'group:stick'},
212         }
213 })
214
215 minetest.register_craft({
216         output = 'default:axe_mese',
217         recipe = {
218                 {'default:mese_crystal', 'default:mese_crystal'},
219                 {'default:mese_crystal', 'group:stick'},
220                 {'', 'group:stick'},
221         }
222 })
223
224 minetest.register_craft({
225         output = 'default:axe_diamond',
226         recipe = {
227                 {'default:diamond', 'default:diamond'},
228                 {'default:diamond', 'group:stick'},
229                 {'', 'group:stick'},
230         }
231 })
232
233 minetest.register_craft({
234         output = 'default:axe_wood',
235         recipe = {
236                 {'group:wood', 'group:wood'},
237                 {'group:stick', 'group:wood'},
238                 {'group:stick',''},
239         }
240 })
241
242 minetest.register_craft({
243         output = 'default:axe_stone',
244         recipe = {
245                 {'group:stone', 'group:stone'},
246                 {'group:stick', 'group:stone'},
247                 {'group:stick', ''},
248         }
249 })
250
251 minetest.register_craft({
252         output = 'default:axe_steel',
253         recipe = {
254                 {'default:steel_ingot', 'default:steel_ingot'},
255                 {'group:stick', 'default:steel_ingot'},
256                 {'group:stick', ''},
257         }
258 })
259
260 minetest.register_craft({
261         output = 'default:axe_bronze',
262         recipe = {
263                 {'default:bronze_ingot', 'default:bronze_ingot'},
264                 {'group:stick', 'default:bronze_ingot'},
265                 {'group:stick', ''},
266         }
267 })
268
269 minetest.register_craft({
270         output = 'default:axe_mese',
271         recipe = {
272                 {'default:mese_crystal', 'default:mese_crystal'},
273                 {'group:stick', 'default:mese_crystal'},
274                 {'group:stick', ''},
275         }
276 })
277
278 minetest.register_craft({
279         output = 'default:axe_diamond',
280         recipe = {
281                 {'default:diamond', 'default:diamond'},
282                 {'group:stick', 'default:diamond'},
283                 {'group:stick', ''},
284         }
285 })
286
287 minetest.register_craft({
288         output = 'default:sword_wood',
289         recipe = {
290                 {'group:wood'},
291                 {'group:wood'},
292                 {'group:stick'},
293         }
294 })
295
296 minetest.register_craft({
297         output = 'default:sword_stone',
298         recipe = {
299                 {'group:stone'},
300                 {'group:stone'},
301                 {'group:stick'},
302         }
303 })
304
305 minetest.register_craft({
306         output = 'default:sword_steel',
307         recipe = {
308                 {'default:steel_ingot'},
309                 {'default:steel_ingot'},
310                 {'group:stick'},
311         }
312 })
313
314 minetest.register_craft({
315         output = 'default:sword_bronze',
316         recipe = {
317                 {'default:bronze_ingot'},
318                 {'default:bronze_ingot'},
319                 {'group:stick'},
320         }
321 })
322
323 minetest.register_craft({
324         output = 'default:sword_mese',
325         recipe = {
326                 {'default:mese_crystal'},
327                 {'default:mese_crystal'},
328                 {'group:stick'},
329         }
330 })
331
332 minetest.register_craft({
333         output = 'default:sword_diamond',
334         recipe = {
335                 {'default:diamond'},
336                 {'default:diamond'},
337                 {'group:stick'},
338         }
339 })
340
341 minetest.register_craft({
342         output = 'default:rail 24',
343         recipe = {
344                 {'default:steel_ingot', '', 'default:steel_ingot'},
345                 {'default:steel_ingot', 'group:stick', 'default:steel_ingot'},
346                 {'default:steel_ingot', '', 'default:steel_ingot'},
347         }
348 })
349
350 minetest.register_craft({
351         output = 'default:chest',
352         recipe = {
353                 {'group:wood', 'group:wood', 'group:wood'},
354                 {'group:wood', '', 'group:wood'},
355                 {'group:wood', 'group:wood', 'group:wood'},
356         }
357 })
358
359 minetest.register_craft({
360         output = 'default:chest_locked',
361         recipe = {
362                 {'group:wood', 'group:wood', 'group:wood'},
363                 {'group:wood', 'default:steel_ingot', 'group:wood'},
364                 {'group:wood', 'group:wood', 'group:wood'},
365         }
366 })
367
368 minetest.register_craft({
369         output = 'default:furnace',
370         recipe = {
371                 {'group:stone', 'group:stone', 'group:stone'},
372                 {'group:stone', '', 'group:stone'},
373                 {'group:stone', 'group:stone', 'group:stone'},
374         }
375 })
376
377 minetest.register_craft({
378         type = "shapeless",
379         output = "default:bronze_ingot",
380         recipe = {"default:steel_ingot", "default:copper_ingot"},
381 })
382
383 minetest.register_craft({
384         output = 'default:coalblock',
385         recipe = {
386                 {'default:coal_lump', 'default:coal_lump', 'default:coal_lump'},
387                 {'default:coal_lump', 'default:coal_lump', 'default:coal_lump'},
388                 {'default:coal_lump', 'default:coal_lump', 'default:coal_lump'},
389         }
390 })
391
392 minetest.register_craft({
393         output = 'default:coal_lump 9',
394         recipe = {
395                 {'default:coalblock'},
396         }
397 })
398
399 minetest.register_craft({
400         output = 'default:steelblock',
401         recipe = {
402                 {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
403                 {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
404                 {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
405         }
406 })
407
408 minetest.register_craft({
409         output = 'default:steel_ingot 9',
410         recipe = {
411                 {'default:steelblock'},
412         }
413 })
414
415 minetest.register_craft({
416         output = 'default:copperblock',
417         recipe = {
418                 {'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'},
419                 {'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'},
420                 {'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'},
421         }
422 })
423
424 minetest.register_craft({
425         output = 'default:copper_ingot 9',
426         recipe = {
427                 {'default:copperblock'},
428         }
429 })
430
431 minetest.register_craft({
432         output = 'default:bronzeblock',
433         recipe = {
434                 {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'},
435                 {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'},
436                 {'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'},
437         }
438 })
439
440 minetest.register_craft({
441         output = 'default:bronze_ingot 9',
442         recipe = {
443                 {'default:bronzeblock'},
444         }
445 })
446
447 minetest.register_craft({
448         output = 'default:goldblock',
449         recipe = {
450                 {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'},
451                 {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'},
452                 {'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'},
453         }
454 })
455
456 minetest.register_craft({
457         output = 'default:gold_ingot 9',
458         recipe = {
459                 {'default:goldblock'},
460         }
461 })
462
463 minetest.register_craft({
464         output = 'default:diamondblock',
465         recipe = {
466                 {'default:diamond', 'default:diamond', 'default:diamond'},
467                 {'default:diamond', 'default:diamond', 'default:diamond'},
468                 {'default:diamond', 'default:diamond', 'default:diamond'},
469         }
470 })
471
472 minetest.register_craft({
473         output = 'default:diamond 9',
474         recipe = {
475                 {'default:diamondblock'},
476         }
477 })
478
479 minetest.register_craft({
480         output = 'default:sandstone',
481         recipe = {
482                 {'group:sand', 'group:sand'},
483                 {'group:sand', 'group:sand'},
484         }
485 })
486
487 minetest.register_craft({
488         output = 'default:sand 4',
489         recipe = {
490                 {'default:sandstone'},
491         }
492 })
493
494 minetest.register_craft({
495         output = 'default:sandstonebrick 4',
496         recipe = {
497                 {'default:sandstone', 'default:sandstone'},
498                 {'default:sandstone', 'default:sandstone'},
499         }
500 })
501
502 minetest.register_craft({
503         output = 'default:clay',
504         recipe = {
505                 {'default:clay_lump', 'default:clay_lump'},
506                 {'default:clay_lump', 'default:clay_lump'},
507         }
508 })
509
510 minetest.register_craft({
511         output = 'default:clay_lump 4',
512         recipe = {
513                 {'default:clay'},
514         }
515 })
516
517 minetest.register_craft({
518         output = 'default:brick',
519         recipe = {
520                 {'default:clay_brick', 'default:clay_brick'},
521                 {'default:clay_brick', 'default:clay_brick'},
522         }
523 })
524
525 minetest.register_craft({
526         output = 'default:clay_brick 4',
527         recipe = {
528                 {'default:brick'},
529         }
530 })
531
532 minetest.register_craft({
533         output = 'default:paper',
534         recipe = {
535                 {'default:papyrus', 'default:papyrus', 'default:papyrus'},
536         }
537 })
538
539 minetest.register_craft({
540         output = 'default:book',
541         recipe = {
542                 {'default:paper'},
543                 {'default:paper'},
544                 {'default:paper'},
545         }
546 })
547
548 minetest.register_craft({
549         output = 'default:bookshelf',
550         recipe = {
551                 {'group:wood', 'group:wood', 'group:wood'},
552                 {'default:book', 'default:book', 'default:book'},
553                 {'group:wood', 'group:wood', 'group:wood'},
554         }
555 })
556
557 minetest.register_craft({
558         output = 'default:ladder_wood 3',
559         recipe = {
560                 {'group:stick', '', 'group:stick'},
561                 {'group:stick', 'group:stick', 'group:stick'},
562                 {'group:stick', '', 'group:stick'},
563         }
564 })
565
566 minetest.register_craft({
567         output = 'default:ladder_steel 15',
568         recipe = {
569                 {'default:steel_ingot', '', 'default:steel_ingot'},
570                 {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
571                 {'default:steel_ingot', '', 'default:steel_ingot'},
572         }
573 })
574
575 minetest.register_craft({
576         output = 'default:mese',
577         recipe = {
578                 {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'},
579                 {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'},
580                 {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'},
581         }
582 })
583
584 minetest.register_craft({
585         output = 'default:mese_crystal 9',
586         recipe = {
587                 {'default:mese'},
588         }
589 })
590
591 minetest.register_craft({
592         output = 'default:mese_crystal_fragment 9',
593         recipe = {
594                 {'default:mese_crystal'},
595         }
596 })
597
598 minetest.register_craft({
599         output = 'default:meselamp 1',
600         recipe = {
601                 {'', 'default:mese_crystal',''},
602                 {'default:mese_crystal', 'default:glass', 'default:mese_crystal'},
603         }
604 })
605
606 minetest.register_craft({
607         output = 'default:obsidian_shard 9',
608         recipe = {
609                 {'default:obsidian'}
610         }
611 })
612
613 minetest.register_craft({
614         output = 'default:obsidian',
615         recipe = {
616                 {'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'},
617                 {'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'},
618                 {'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'},
619         }
620 })
621
622 minetest.register_craft({
623         output = 'default:obsidianbrick 4',
624         recipe = {
625                 {'default:obsidian', 'default:obsidian'},
626                 {'default:obsidian', 'default:obsidian'}
627         }
628 })
629
630 minetest.register_craft({
631         output = 'default:stonebrick 4',
632         recipe = {
633                 {'default:stone', 'default:stone'},
634                 {'default:stone', 'default:stone'},
635         }
636 })
637
638 minetest.register_craft({
639         output = 'default:desert_stonebrick 4',
640         recipe = {
641                 {'default:desert_stone', 'default:desert_stone'},
642                 {'default:desert_stone', 'default:desert_stone'},
643         }
644 })
645
646 minetest.register_craft({
647         output = 'default:snowblock',
648         recipe = {
649                 {'default:snow', 'default:snow', 'default:snow'},
650                 {'default:snow', 'default:snow', 'default:snow'},
651                 {'default:snow', 'default:snow', 'default:snow'},
652         }
653 })
654
655 minetest.register_craft({
656         output = 'default:snow 9',
657         recipe = {
658                 {'default:snowblock'},
659         }
660 })
661
662 --
663 -- Crafting (tool repair)
664 --
665 minetest.register_craft({
666         type = "toolrepair",
667         additional_wear = -0.02,
668 })
669
670 --
671 -- Cooking recipes
672 --
673
674 minetest.register_craft({
675         type = "cooking",
676         output = "default:glass",
677         recipe = "group:sand",
678 })
679
680 minetest.register_craft({
681         type = "cooking",
682         output = "default:obsidian_glass",
683         recipe = "default:obsidian_shard",
684 })
685
686 minetest.register_craft({
687         type = "cooking",
688         output = "default:stone",
689         recipe = "default:cobble",
690 })
691
692 minetest.register_craft({
693         type = "cooking",
694         output = "default:stone",
695         recipe = "default:mossycobble",
696 })
697
698 minetest.register_craft({
699         type = "cooking",
700         output = "default:desert_stone",
701         recipe = "default:desert_cobble",
702 })
703
704 minetest.register_craft({
705         type = "cooking",
706         output = "default:steel_ingot",
707         recipe = "default:iron_lump",
708 })
709
710 minetest.register_craft({
711         type = "cooking",
712         output = "default:copper_ingot",
713         recipe = "default:copper_lump",
714 })
715
716 minetest.register_craft({
717         type = "cooking",
718         output = "default:gold_ingot",
719         recipe = "default:gold_lump",
720 })
721
722 minetest.register_craft({
723         type = "cooking",
724         output = "default:clay_brick",
725         recipe = "default:clay_lump",
726 })
727
728 --
729 -- Fuels
730 --
731
732 minetest.register_craft({
733         type = "fuel",
734         recipe = "group:tree",
735         burntime = 30,
736 })
737
738 minetest.register_craft({
739         type = "fuel",
740         recipe = "default:junglegrass",
741         burntime = 2,
742 })
743
744 minetest.register_craft({
745         type = "fuel",
746         recipe = "group:leaves",
747         burntime = 1,
748 })
749
750 minetest.register_craft({
751         type = "fuel",
752         recipe = "default:cactus",
753         burntime = 15,
754 })
755
756 minetest.register_craft({
757         type = "fuel",
758         recipe = "default:papyrus",
759         burntime = 1,
760 })
761
762 minetest.register_craft({
763         type = "fuel",
764         recipe = "default:bookshelf",
765         burntime = 30,
766 })
767
768 minetest.register_craft({
769         type = "fuel",
770         recipe = "default:fence_wood",
771         burntime = 15,
772 })
773
774 minetest.register_craft({
775         type = "fuel",
776         recipe = "default:fence_acacia_wood",
777         burntime = 15,
778 })
779
780 minetest.register_craft({
781         type = "fuel",
782         recipe = "default:fence_junglewood",
783         burntime = 15,
784 })
785
786 minetest.register_craft({
787         type = "fuel",
788         recipe = "default:fence_pine_wood",
789         burntime = 15,
790 })
791
792 minetest.register_craft({
793         type = "fuel",
794         recipe = "default:fence_aspen_wood",
795         burntime = 15,
796 })
797
798 minetest.register_craft({
799         type = "fuel",
800         recipe = "default:ladder_wood",
801         burntime = 5,
802 })
803
804 minetest.register_craft({
805         type = "fuel",
806         recipe = "group:wood",
807         burntime = 7,
808 })
809
810 minetest.register_craft({
811         type = "fuel",
812         recipe = "default:lava_source",
813         burntime = 60,
814 })
815
816 minetest.register_craft({
817         type = "fuel",
818         recipe = "default:torch",
819         burntime = 4,
820 })
821
822 minetest.register_craft({
823         type = "fuel",
824         recipe = "default:sign_wall_wood",
825         burntime = 10,
826 })
827
828 minetest.register_craft({
829         type = "fuel",
830         recipe = "default:chest",
831         burntime = 30,
832 })
833
834 minetest.register_craft({
835         type = "fuel",
836         recipe = "default:chest_locked",
837         burntime = 30,
838 })
839
840 minetest.register_craft({
841         type = "fuel",
842         recipe = "default:nyancat",
843         burntime = 1,
844 })
845
846 minetest.register_craft({
847         type = "fuel",
848         recipe = "default:nyancat_rainbow",
849         burntime = 1,
850 })
851
852 minetest.register_craft({
853         type = "fuel",
854         recipe = "group:sapling",
855         burntime = 10,
856 })
857
858 minetest.register_craft({
859         type = "fuel",
860         recipe = "default:apple",
861         burntime = 3,
862 })
863
864 minetest.register_craft({
865         type = "fuel",
866         recipe = "default:coal_lump",
867         burntime = 40,
868 })
869
870 minetest.register_craft({
871         type = "fuel",
872         recipe = "default:coalblock",
873         burntime = 370,
874 })
875
876 minetest.register_craft({
877         type = "fuel",
878         recipe = "default:grass_1",
879         burntime = 2,
880 })
881
882 minetest.register_craft({
883         type = "fuel",
884         recipe = "default:dry_grass_1",
885         burntime = 2,
886 })
887