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