mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2024-11-18 00:51:06 +01:00
554 lines
11 KiB
Lua
554 lines
11 KiB
Lua
-- mods/default/crafting.lua
|
|
|
|
--
|
|
-- Crafting definition
|
|
--
|
|
|
|
local craft_planks = function(output, input)
|
|
minetest.register_craft({
|
|
output = "mcl_core:"..output.."wood 4",
|
|
recipe = {
|
|
{"mcl_core:"..input},
|
|
}
|
|
})
|
|
end
|
|
|
|
local planks = {
|
|
{"", "oak"},
|
|
{"dark", "dark_oak"},
|
|
{"jungle", "jungle"},
|
|
{"acacia", "acacia"},
|
|
{"spruce", "spruce"},
|
|
{"birch", "birch"}
|
|
}
|
|
|
|
for _, p in pairs(planks) do
|
|
craft_planks(p[1], p[1].."tree")
|
|
craft_planks(p[1], p[1].."tree_bark")
|
|
craft_planks(p[1], "stripped_"..p[2])
|
|
craft_planks(p[1], "stripped_"..p[2].."_bark")
|
|
end
|
|
|
|
minetest.register_craft({
|
|
type = 'shapeless',
|
|
output = 'mcl_core:mossycobble',
|
|
recipe = { 'mcl_core:cobble', 'mcl_core:vine' },
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = 'shapeless',
|
|
output = 'mcl_core:stonebrickmossy',
|
|
recipe = { 'mcl_core:stonebrick', 'mcl_core:vine' },
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:coarse_dirt 4',
|
|
recipe = {
|
|
{'mcl_core:dirt', 'mcl_core:gravel'},
|
|
{'mcl_core:gravel', 'mcl_core:dirt'},
|
|
}
|
|
})
|
|
minetest.register_craft({
|
|
output = 'mcl_core:coarse_dirt 4',
|
|
recipe = {
|
|
{'mcl_core:gravel', 'mcl_core:dirt'},
|
|
{'mcl_core:dirt', 'mcl_core:gravel'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:sandstonesmooth 4',
|
|
recipe = {
|
|
{'mcl_core:sandstone','mcl_core:sandstone'},
|
|
{'mcl_core:sandstone','mcl_core:sandstone'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:redsandstonesmooth 4',
|
|
recipe = {
|
|
{'mcl_core:redsandstone','mcl_core:redsandstone'},
|
|
{'mcl_core:redsandstone','mcl_core:redsandstone'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:granite_smooth 4',
|
|
recipe = {
|
|
{'mcl_core:granite', 'mcl_core:granite'},
|
|
{'mcl_core:granite', 'mcl_core:granite'}
|
|
},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:andesite_smooth 4',
|
|
recipe = {
|
|
{'mcl_core:andesite', 'mcl_core:andesite'},
|
|
{'mcl_core:andesite', 'mcl_core:andesite'}
|
|
},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:diorite_smooth 4',
|
|
recipe = {
|
|
{'mcl_core:diorite', 'mcl_core:diorite'},
|
|
{'mcl_core:diorite', 'mcl_core:diorite'}
|
|
},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "shapeless",
|
|
output = 'mcl_core:granite',
|
|
recipe = {'mcl_core:diorite', 'mcl_nether:quartz'},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "shapeless",
|
|
output = 'mcl_core:andesite 2',
|
|
recipe = {'mcl_core:diorite', 'mcl_core:cobble'},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:diorite 2',
|
|
recipe = {
|
|
{'mcl_core:cobble', 'mcl_nether:quartz'},
|
|
{'mcl_nether:quartz', 'mcl_core:cobble'},
|
|
}
|
|
})
|
|
minetest.register_craft({
|
|
output = 'mcl_core:diorite 2',
|
|
recipe = {
|
|
{'mcl_nether:quartz', 'mcl_core:cobble'},
|
|
{'mcl_core:cobble', 'mcl_nether:quartz'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "mcl_core:bone_block",
|
|
recipe = {
|
|
{ "mcl_dye:white", "mcl_dye:white", "mcl_dye:white" },
|
|
{ "mcl_dye:white", "mcl_dye:white", "mcl_dye:white" },
|
|
{ "mcl_dye:white", "mcl_dye:white", "mcl_dye:white" },
|
|
},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "mcl_dye:white 9",
|
|
recipe = {
|
|
{ "mcl_core:bone_block" },
|
|
},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:stick 4',
|
|
recipe = {
|
|
{'group:wood'},
|
|
{'group:wood'},
|
|
}
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:coalblock',
|
|
recipe = {
|
|
{'mcl_core:coal_lump', 'mcl_core:coal_lump', 'mcl_core:coal_lump'},
|
|
{'mcl_core:coal_lump', 'mcl_core:coal_lump', 'mcl_core:coal_lump'},
|
|
{'mcl_core:coal_lump', 'mcl_core:coal_lump', 'mcl_core:coal_lump'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:coal_lump 9',
|
|
recipe = {
|
|
{'mcl_core:coalblock'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:ironblock',
|
|
recipe = {
|
|
{'mcl_core:iron_ingot', 'mcl_core:iron_ingot', 'mcl_core:iron_ingot'},
|
|
{'mcl_core:iron_ingot', 'mcl_core:iron_ingot', 'mcl_core:iron_ingot'},
|
|
{'mcl_core:iron_ingot', 'mcl_core:iron_ingot', 'mcl_core:iron_ingot'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:iron_ingot 9',
|
|
recipe = {
|
|
{'mcl_core:ironblock'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:goldblock',
|
|
recipe = {
|
|
{'mcl_core:gold_ingot', 'mcl_core:gold_ingot', 'mcl_core:gold_ingot'},
|
|
{'mcl_core:gold_ingot', 'mcl_core:gold_ingot', 'mcl_core:gold_ingot'},
|
|
{'mcl_core:gold_ingot', 'mcl_core:gold_ingot', 'mcl_core:gold_ingot'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:gold_ingot 9',
|
|
recipe = {
|
|
{'mcl_core:goldblock'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "mcl_core:gold_nugget 9",
|
|
recipe = {{"mcl_core:gold_ingot"}},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "mcl_core:iron_nugget 9",
|
|
recipe = {{"mcl_core:iron_ingot"}},
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "mcl_core:gold_ingot",
|
|
recipe = {
|
|
{"mcl_core:gold_nugget", "mcl_core:gold_nugget", "mcl_core:gold_nugget"},
|
|
{"mcl_core:gold_nugget", "mcl_core:gold_nugget", "mcl_core:gold_nugget"},
|
|
{"mcl_core:gold_nugget", "mcl_core:gold_nugget", "mcl_core:gold_nugget"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "mcl_core:iron_ingot",
|
|
recipe = {
|
|
{"mcl_core:iron_nugget", "mcl_core:iron_nugget", "mcl_core:iron_nugget"},
|
|
{"mcl_core:iron_nugget", "mcl_core:iron_nugget", "mcl_core:iron_nugget"},
|
|
{"mcl_core:iron_nugget", "mcl_core:iron_nugget", "mcl_core:iron_nugget"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = 'mcl_core:iron_nugget',
|
|
recipe = 'mobs_mc:iron_horse_armor',
|
|
cooktime = 10,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = 'mcl_core:gold_nugget',
|
|
recipe = 'mobs_mc:gold_horse_armor',
|
|
cooktime = 10,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:sandstone',
|
|
recipe = {
|
|
{'mcl_core:sand', 'mcl_core:sand'},
|
|
{'mcl_core:sand', 'mcl_core:sand'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:redsandstone',
|
|
recipe = {
|
|
{'mcl_core:redsand', 'mcl_core:redsand'},
|
|
{'mcl_core:redsand', 'mcl_core:redsand'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:clay',
|
|
recipe = {
|
|
{'mcl_core:clay_lump', 'mcl_core:clay_lump'},
|
|
{'mcl_core:clay_lump', 'mcl_core:clay_lump'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:brick_block',
|
|
recipe = {
|
|
{'mcl_core:brick', 'mcl_core:brick'},
|
|
{'mcl_core:brick', 'mcl_core:brick'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:paper 3',
|
|
recipe = {
|
|
{'mcl_core:reeds', 'mcl_core:reeds', 'mcl_core:reeds'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:ladder 3',
|
|
recipe = {
|
|
{'mcl_core:stick', '', 'mcl_core:stick'},
|
|
{'mcl_core:stick', 'mcl_core:stick', 'mcl_core:stick'},
|
|
{'mcl_core:stick', '', 'mcl_core:stick'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:stonebrick 4',
|
|
recipe = {
|
|
{'mcl_core:stone', 'mcl_core:stone'},
|
|
{'mcl_core:stone', 'mcl_core:stone'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:lapisblock',
|
|
recipe = {
|
|
{'mcl_dye:blue', 'mcl_dye:blue', 'mcl_dye:blue'},
|
|
{'mcl_dye:blue', 'mcl_dye:blue', 'mcl_dye:blue'},
|
|
{'mcl_dye:blue', 'mcl_dye:blue', 'mcl_dye:blue'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_dye:blue 9',
|
|
recipe = {
|
|
{'mcl_core:lapisblock'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "mcl_core:emeraldblock",
|
|
recipe = {
|
|
{'mcl_core:emerald', 'mcl_core:emerald', 'mcl_core:emerald'},
|
|
{'mcl_core:emerald', 'mcl_core:emerald', 'mcl_core:emerald'},
|
|
{'mcl_core:emerald', 'mcl_core:emerald', 'mcl_core:emerald'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:emerald 9',
|
|
recipe = {
|
|
{'mcl_core:emeraldblock'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "mcl_core:diamondblock",
|
|
recipe = {
|
|
{'mcl_core:diamond', 'mcl_core:diamond', 'mcl_core:diamond'},
|
|
{'mcl_core:diamond', 'mcl_core:diamond', 'mcl_core:diamond'},
|
|
{'mcl_core:diamond', 'mcl_core:diamond', 'mcl_core:diamond'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:diamond 9',
|
|
recipe = {
|
|
{'mcl_core:diamondblock'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "mcl_core:apple_gold",
|
|
recipe = {
|
|
{"mcl_core:gold_ingot", "mcl_core:gold_ingot", "mcl_core:gold_ingot"},
|
|
{"mcl_core:gold_ingot", 'mcl_core:apple', "mcl_core:gold_ingot"},
|
|
{"mcl_core:gold_ingot", "mcl_core:gold_ingot", "mcl_core:gold_ingot"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "mcl_core:sugar",
|
|
recipe = {
|
|
{"mcl_core:reeds"},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "mcl_core:bowl 4",
|
|
recipe = {
|
|
{"group:wood", "", "group:wood"},
|
|
{"", "group:wood", ""},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:snowblock',
|
|
recipe = {
|
|
{'mcl_throwing:snowball', 'mcl_throwing:snowball'},
|
|
{'mcl_throwing:snowball', 'mcl_throwing:snowball'},
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'mcl_core:snow 6',
|
|
recipe = {
|
|
{'mcl_core:snowblock', 'mcl_core:snowblock', 'mcl_core:snowblock'},
|
|
}
|
|
})
|
|
|
|
-- TODO: Add crafting recipe: 9 ice → 1 packed ice
|
|
-- Add it when silk touch tools work.
|
|
|
|
--
|
|
-- Crafting (tool repair)
|
|
--
|
|
minetest.register_craft({
|
|
type = "toolrepair",
|
|
additional_wear = -mcl_core.repair,
|
|
})
|
|
|
|
--
|
|
-- Cooking recipes
|
|
--
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "mcl_core:glass",
|
|
recipe = "group:sand",
|
|
cooktime = 10,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "mcl_core:stone",
|
|
recipe = "mcl_core:cobble",
|
|
cooktime = 10,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "mcl_core:stone_smooth",
|
|
recipe = "mcl_core:stone",
|
|
cooktime = 10,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "mcl_core:stonebrickcracked",
|
|
recipe = "mcl_core:stonebrick",
|
|
cooktime = 10,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "mcl_core:iron_ingot",
|
|
recipe = "mcl_core:stone_with_iron",
|
|
cooktime = 10,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "mcl_core:gold_ingot",
|
|
recipe = "mcl_core:stone_with_gold",
|
|
cooktime = 10,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "mcl_core:brick",
|
|
recipe = "mcl_core:clay_lump",
|
|
cooktime = 10,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "mcl_core:charcoal_lump",
|
|
recipe = "group:tree",
|
|
cooktime = 10,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "mcl_core:coal_lump",
|
|
recipe = "mcl_core:stone_with_coal",
|
|
cooktime = 10,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "mcl_core:diamond",
|
|
recipe = "mcl_core:stone_with_diamond",
|
|
cooktime = 10,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "mcl_core:emerald",
|
|
recipe = "mcl_core:stone_with_emerald",
|
|
cooktime = 10,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "mcl_dye:blue",
|
|
recipe = "mcl_core:stone_with_lapis",
|
|
cooktime = 10,
|
|
})
|
|
|
|
--
|
|
-- Fuels
|
|
--
|
|
|
|
minetest.register_craft({
|
|
type = "fuel",
|
|
recipe = "mcl_core:coalblock",
|
|
burntime = 800,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "fuel",
|
|
recipe = "mcl_core:coal_lump",
|
|
burntime = 80,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "fuel",
|
|
recipe = "mcl_core:charcoal_lump",
|
|
burntime = 80,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "fuel",
|
|
recipe = "group:tree",
|
|
burntime = 15,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "fuel",
|
|
recipe = "group:bark",
|
|
burntime = 15,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "fuel",
|
|
recipe = "mcl_core:ladder",
|
|
burntime = 15,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "fuel",
|
|
recipe = "group:wood",
|
|
burntime = 15,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "fuel",
|
|
recipe = "group:sapling",
|
|
burntime = 5,
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
type = "fuel",
|
|
recipe = "group:sapling",
|
|
burntime = 5,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "fuel",
|
|
recipe = "mcl_core:bowl",
|
|
burntime = 5,
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "fuel",
|
|
recipe = "mcl_core:stick",
|
|
burntime = 5,
|
|
})
|