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