VoxeLibre/mods/ITEMS/mcl_core/crafting.lua

554 lines
11 KiB
Lua

-- mods/default/crafting.lua
--
-- Crafting definition
--
local function craft_planks(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,
})