ESM4/mods/homedecor/crafts.lua
2016-01-21 06:54:33 -05:00

828 lines
19 KiB
Lua

-- Crafting for homedecor mod (includes folding) by Vanessa Ezekowitz
--Simplified by maikerumine
-- Mostly my own code; overall template borrowed from game default
local S = homedecor.gettext
-- misc craftitems
minetest.register_craftitem("homedecor:oil_extract", {
description = S("Oil extract"),
inventory_image = "homedecor_oil_extract.png",
})
minetest.register_craftitem("homedecor:paraffin", {
description = S("Unprocessed paraffin"),
inventory_image = "homedecor_paraffin.png",
})
minetest.register_alias("homedecor:plastic_base", "homedecor:paraffin")
minetest.register_craftitem("homedecor:plastic_sheeting", {
description = S("Plastic sheet"),
inventory_image = "homedecor_plastic_sheeting.png",
})
minetest.register_craftitem("homedecor:drawer_small", {
description = S("Small Wooden Drawer"),
inventory_image = "homedecor_drawer_small.png",
})
minetest.register_craftitem("homedecor:ic", {
description = S("Simple Integrated Circuit"),
inventory_image = "homedecor_ic.png",
})
minetest.register_craftitem("homedecor:heating_element", {
description = S("Heating element"),
inventory_image = "homedecor_heating_element.png",
})
minetest.register_craftitem("homedecor:power_crystal", {
description = S("Power Crystal"),
inventory_image = "homedecor_power_crystal.png",
})
minetest.register_craftitem("homedecor:blank_canvas", {
description = S("Blank Canvas"),
inventory_image = "homedecor_blank_canvas.png"
})
-- alternate crafting if mesecons is/isn't installed
if not minetest.get_modpath("mesecons") then
minetest.register_craftitem(":mesecons_materials:silicon", {
description = S("Silicon lump"),
inventory_image = "homedecor_silicon.png",
})
minetest.register_craft( {
output = "mesecons_materials:silicon 4",
recipe = {
{ "default:sand", "default:sand" },
{ "default:sand", "default:steel_ingot" },
},
})
end
-- alternate crafting if technic is/isn't installed
if not minetest.get_modpath("technic") then
minetest.register_craftitem(":technic:brass_ingot", {
description = S("Brass Ingot"),
inventory_image = "homedecor_brass_ingot.png",
})
minetest.register_craft( {
type = "shapeless",
output = "technic:brass_ingot 2",
recipe = {
"moreores:silver_ingot",
"default:copper_ingot",
},
})
end
minetest.register_alias("homedecor:brass_ingot", "technic:brass_ingot")
-- the actual crafts
minetest.register_craft( {
output = "homedecor:heating_element 2",
recipe = {
{ "default:copper_ingot", "default:mese_crystal_fragment", "default:copper_ingot" }
},
})
minetest.register_craft({
--type = "shapeless",
output = "homedecor:power_crystal 2",
recipe = {
{ "default:mese_crystal_fragment", "default:torch", "default:mese_crystal_fragment" },
{ "default:diamond", "default:gold_ingot", "default:diamond" }
},
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:power_crystal",
burntime = 50,
})
minetest.register_craft({
type = "shapeless",
output = "homedecor:oil_extract 4",
recipe = {
"group:leaves",
"group:leaves",
"group:leaves",
"group:leaves",
"group:leaves",
"group:leaves"
}
})
minetest.register_craft({
type = "cooking",
output = "homedecor:paraffin",
recipe = "homedecor:oil_extract",
})
minetest.register_craft({
type = "cooking",
output = "homedecor:plastic_sheeting",
recipe = "homedecor:paraffin",
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:oil_extract",
burntime = 30,
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:paraffin",
burntime = 30,
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:plastic_sheeting",
burntime = 30,
})
minetest.register_craft( {
output = "homedecor:ceiling_tile 10",
recipe = {
{ "", "dye:white", "" },
{ "default:steel_ingot", "default:stone", "default:steel_ingot" },
},
})
minetest.register_craft( {
output = "homedecor:drawer_small",
recipe = {
{ "group:wood", "default:steel_ingot", "group:wood" },
},
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:drawer_small",
burntime = 30,
})
--
-- Home electronics
minetest.register_craft( {
output = "homedecor:ic 4",
recipe = {
{ "mesecons_materials:silicon", "mesecons_materials:silicon" },
{ "mesecons_materials:silicon", "default:copper_ingot" },
},
})
minetest.register_craft( {
output = "homedecor:television",
recipe = {
{ "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
{ "homedecor:plastic_sheeting", "default:glass", "homedecor:plastic_sheeting" },
{ "homedecor:ic", "homedecor:power_crystal", "homedecor:ic" },
},
})
-- Curtains
local curtaincolors = {
"red",
"green",
"blue",
"white",
"pink",
"violet"
}
for c in ipairs(curtaincolors) do
local color = curtaincolors[c]
minetest.register_craft( {
output = "homedecor:curtain_"..color.." 3",
recipe = {
{ "wool:"..color, "", ""},
{ "wool:"..color, "", ""},
{ "wool:"..color, "", ""},
},
})
end
local mats = {
--{ "brass", "homedecor:pole_brass" },
--{ "wrought_iron", "homedecor:pole_wrought_iron" },
{ "wood", "default:stick" }
}
for i in ipairs(mats) do
local material = mats[i][1]
local ingredient = mats[i][2]
minetest.register_craft( {
output = "homedecor:curtainrod_"..material.." 3",
recipe = {
{ ingredient, ingredient, ingredient },
},
})
end
-- Kitchen stuff
minetest.register_craft({
output = "homedecor:oven_steel",
recipe = {
{"homedecor:heating_element", "default:steel_ingot", "homedecor:heating_element", },
{"default:steel_ingot", "moreblocks:iron_glass", "default:steel_ingot", },
{"default:steel_ingot", "homedecor:heating_element", "default:steel_ingot", },
}
})
minetest.register_craft({
output = "homedecor:oven_steel",
recipe = {
{"homedecor:heating_element", "default:steel_ingot", "homedecor:heating_element", },
{"default:steel_ingot", "default:glass", "default:steel_ingot", },
{"default:steel_ingot", "homedecor:heating_element", "default:steel_ingot", },
}
})
minetest.register_craft({
type = "shapeless",
output = "homedecor:oven",
recipe = {
"homedecor:oven_steel",
"dye:white",
"dye:white",
}
})
minetest.register_craft({
output = "homedecor:microwave_oven 2",
recipe = {
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot", },
{"default:steel_ingot", "moreblocks:iron_glass", "homedecor:ic", },
{"default:steel_ingot", "default:copper_ingot", "homedecor:power_crystal", },
}
})
minetest.register_craft({
output = "homedecor:microwave_oven 2",
recipe = {
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot", },
{"default:steel_ingot", "default:glass", "homedecor:ic", },
{"default:steel_ingot", "default:copper_ingot", "homedecor:power_crystal", },
}
})
minetest.register_craft({
output = "homedecor:refrigerator_steel",
recipe = {
{"default:steel_ingot", "default:meselamp", "default:steel_ingot", },
{"default:steel_ingot", "default:copperblock", "default:steel_ingot", },
{"default:steel_ingot", "default:clay", "default:steel_ingot", },
}
})
minetest.register_craft({
type = "shapeless",
output = "homedecor:refrigerator_white",
recipe = {
"homedecor:refrigerator_steel",
"dye:white",
"dye:white",
"dye:white",
}
})
minetest.register_craft({
output = "homedecor:kitchen_cabinet",
recipe = {
{"group:wood", "group:stick", "group:wood", },
{"group:wood", "group:stick", "group:wood", },
{"group:wood", "group:stick", "group:wood", },
}
})
minetest.register_craft({
output = "homedecor:kitchen_cabinet_steel",
recipe = {
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
{"", "homedecor:kitchen_cabinet", ""},
}
})
minetest.register_craft({
output = "homedecor:kitchen_cabinet_steel",
recipe = {
{"moreblocks:slab_steelblock_1"},
{ "homedecor:kitchen_cabinet" },
}
})
--[[
minetest.register_craft({
output = "homedecor:kitchen_cabinet_marble",
recipe = {
{"building_blocks:slab_marble"},
{"homedecor:kitchen_cabinet"},
}
})
minetest.register_craft({
output = "homedecor:kitchen_cabinet_marble",
recipe = {
{"es:slab_marble_1"},
{"homedecor:kitchen_cabinet"},
}
})
minetest.register_craft({
output = "homedecor:kitchen_cabinet_granite",
recipe = {
{"es:slab_granite_1"},
{"homedecor:kitchen_cabinet"},
}
})
]]
minetest.register_craft({
type = "shapeless",
output = "homedecor:kitchen_cabinet_half 2",
recipe = { "homedecor:kitchen_cabinet" }
})
minetest.register_craft({
output = "homedecor:kitchen_cabinet_with_sink",
recipe = {
{"group:wood", "default:steel_ingot", "group:wood", },
{"group:wood", "default:steel_ingot", "group:wood", },
{"group:wood", "group:stick", "group:wood", },
}
})
-- dishwashers
minetest.register_craft( {
output = "homedecor:dishwasher",
recipe = {
{ "homedecor:ic", "homedecor:fence_chainlink", "default:steel_ingot", },
{ "default:steel_ingot", "homedecor:shower_head", "homedecor:motor" },
{ "default:steel_ingot", "homedecor:heating_element", "bucket:bucket_water" }
},
})
minetest.register_craft( {
output = "homedecor:dishwasher",
recipe = {
{ "homedecor:ic", "es:ruby_crystal", "default:steel_ingot", },
{ "default:steel_ingot", "homedecor:shower_head", "es:aikerum_crystal" },
{ "default:steel_ingot", "homedecor:heating_element", "bucket:bucket_water" }
},
})
minetest.register_craft( {
output = "homedecor:dishwasher_wood",
recipe = {
{ "stairs:slab_wood" },
{ "homedecor:dishwasher" },
},
})
minetest.register_craft( {
output = "homedecor:dishwasher_wood",
recipe = {
{ "moreblocks:slab_wood" },
{ "homedecor:dishwasher" },
},
})
minetest.register_craft( {
output = "homedecor:dishwasher_wood",
recipe = {
{ "moreblocks:slab_wood_1" },
{ "homedecor:dishwasher" },
},
})
minetest.register_craft( {
output = "homedecor:dishwasher_steel",
recipe = {
{ "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" },
{ "", "homedecor:dishwasher", "" },
},
})
minetest.register_craft( {
output = "homedecor:dishwasher_steel",
recipe = {
{ "moreblocks:slab_steelblock_1" },
{ "homedecor:dishwasher" },
},
})
--[[
minetest.register_craft( {
output = "homedecor:dishwasher_marble",
recipe = {
{ "stairs:slab_marble" },
{ "homedecor:dishwasher" },
},
})
minetest.register_craft( {
output = "homedecor:dishwasher_marble",
recipe = {
{ "stairs:slab_marble_1" },
{ "homedecor:dishwasher" },
},
})
minetest.register_craft( {
output = "homedecor:dishwasher_granite",
recipe = {
{ "es:slab_granite_1" },
{ "homedecor:dishwasher" },
},
})
]]
-- paintings
minetest.register_craft({
output = "homedecor:blank_canvas",
recipe = {
{ "", "group:stick", "" },
{ "group:stick", "wool:white", "group:stick" },
{ "", "group:stick", "" },
}
})
local painting_patterns = {
[1] = { { "brown", "red", "brown" },
{ "dark_green", "red", "green" } },
[2] = { { "green", "yellow", "green" },
{ "green", "yellow", "green" } },
[3] = { { "green", "pink", "green" },
{ "brown", "pink", "brown" } },
[4] = { { "black", "orange", "grey" },
{ "dark_green", "orange", "orange" } },
[5] = { { "blue", "orange", "yellow" },
{ "green", "red", "brown" } },
[6] = { { "green", "red", "orange" },
{ "orange", "yellow", "green" } },
[7] = { { "blue", "dark_green", "dark_green" },
{ "green", "grey", "green" } },
[8] = { { "blue", "blue", "blue" },
{ "green", "green", "green" } },
[9] = { { "blue", "blue", "dark_green" },
{ "green", "grey", "dark_green" } },
[10] = { { "green", "white", "green" },
{ "dark_green", "white", "dark_green" } },
[11] = { { "blue", "white", "blue" },
{ "blue", "grey", "dark_green" } },
[12] = { { "green", "green", "green" },
{ "grey", "grey", "green" } },
[13] = { { "blue", "blue", "grey" },
{ "dark_green", "white", "white" } },
[14] = { { "red", "yellow", "blue" },
{ "blue", "green", "violet" } },
[15] = { { "blue", "yellow", "blue" },
{ "black", "black", "black" } },
[16] = { { "red", "orange", "blue" },
{ "black", "dark_grey", "grey" } },
[17] = { { "orange", "yellow", "orange" },
{ "black", "black", "black" } },
[18] = { { "grey", "dark_green", "grey" },
{ "white", "white", "white" } },
[19] = { { "white", "brown", "green" },
{ "green", "brown", "brown" } },
[20] = { { "blue", "blue", "blue" },
{ "red", "brown", "grey" } }
}
for i,recipe in pairs(painting_patterns) do
local item1 = "dye:"..recipe[1][1]
local item2 = "dye:"..recipe[1][2]
local item3 = "dye:"..recipe[1][3]
local item4 = "dye:"..recipe[2][1]
local item5 = "dye:"..recipe[2][2]
local item6 = "dye:"..recipe[2][3]
minetest.register_craft({
output = "homedecor:painting_"..i,
recipe = {
{ item1, item2, item3 },
{ item4, item5, item6 },
{"", "homedecor:blank_canvas", "" }
}
})
end
minetest.register_craft({
output = "homedecor:toilet_paper",
recipe = {
{ "", "default:paper", "default:paper" },
{ "group:wood", "group:stick", "default:paper" },
{ "", "default:paper", "default:paper" },
},
})
minetest.register_craft({
output = "homedecor:medicine_cabinet",
recipe = {
{ "group:stick", "default:glass", "group:stick" },
{ "group:stick", "default:glass", "group:stick" },
{ "group:stick", "default:glass", "group:stick" }
},
})
minetest.register_craft({
output = "homedecor:desk",
recipe = {
{ "stairs:slab_wood", "stairs:slab_wood", "stairs:slab_wood" },
{ "homedecor:drawer_small", "default:wood", "default:wood" },
{ "homedecor:drawer_small", "", "default:wood" },
},
})
minetest.register_craft({
output = "homedecor:desk",
recipe = {
{ "moreblocks:slab_wood", "moreblocks:slab_wood", "moreblocks:slab_wood" },
{ "homedecor:drawer_small", "default:wood", "default:wood" },
{ "homedecor:drawer_small", "", "default:wood" },
},
})
minetest.register_craft( {
output = "homedecor:kitchen_faucet",
recipe = {
{ "", "default:steel_ingot" },
{ "default:steel_ingot", "" },
{ "homedecor:taps", "" }
},
})
minetest.register_craft({
output = "homedecor:coffee_maker",
recipe = {
{"homedecor:plastic_sheeting", "bucket:bucket_water", "homedecor:plastic_sheeting"},
{"homedecor:plastic_sheeting", "default:glass", "homedecor:plastic_sheeting"},
{"homedecor:plastic_sheeting", "homedecor:heating_element", "homedecor:plastic_sheeting"}
},
})
minetest.register_craft({
output = "homedecor:office_chair_basic",
recipe = {
{ "", "", "wool:black" },
{ "", "wool:black", "default:steel_ingot" },
{ "group:stick", "default:copper_ingot", "group:stick" }
},
})
minetest.register_craft({
output = "homedecor:barbecue",
recipe = {
{ "","army:chainlink","" },
{ "default:steel_ingot","default:coal_lump","default:steel_ingot" },
{ "homedecor:pole_wrought_iron","default:steel_ingot","homedecor:pole_wrought_iron" }
},
})
minetest.register_craft({
output = "homedecor:beer_tap",
recipe = {
{ "group:stick","default:steel_ingot","group:stick" },
{ "homedecor:kitchen_faucet","default:steel_ingot","homedecor:kitchen_faucet" },
{ "default:steel_ingot","default:steel_ingot","default:steel_ingot" }
},
})
local bookcolors = {
"red",
"green",
"blue",
"violet",
"grey",
"brown"
}
for _, color in ipairs(bookcolors) do
minetest.register_craft({
type = "shapeless",
output = "homedecor:book_"..color,
recipe = {
"dye:"..color,
"default:book"
},
})
end
local picture_dyes = {
{"dye:brown", "dye:green"}, -- the figure sitting by the tree, wielding a pick
{"dye:green", "dye:blue"} -- the "family photo"
}
for i in ipairs(picture_dyes) do
minetest.register_craft({
output = "homedecor:picture_frame"..i,
recipe = {
{ picture_dyes[i][1], picture_dyes[i][2] },
{ "homedecor:blank_canvas", "group:stick" },
},
})
end
--FURNATURE
minetest.register_craft({
output = "homedecor:chair 2",
recipe = {
{ "group:stick",""},
{ "group:wood","group:wood" },
{ "group:stick","group:stick" },
},
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:chair",
burntime = 15,
})
local chaircolors = { "black", "red", "pink", "violet", "blue", "dark_green" }
for _, color in ipairs(chaircolors) do
minetest.register_craft({
type = "shapeless",
output = "homedecor:chair_"..color,
recipe = {
"homedecor:chair",
"wool:white",
"dye:"..color
},
})
minetest.register_craft({
type = "shapeless",
output = "homedecor:chair_"..color,
recipe = {
"homedecor:chair",
"wool:"..color
},
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:chair_"..color,
burntime = 15,
})
end
minetest.register_craft({
type = "fuel",
recipe = "homedecor:armchair",
burntime = 30,
})
minetest.register_craft({
output = "homedecor:toilet",
recipe = {
{"","","bucket:bucket_water"},
{ "es:marble","es:marble", "es:marble" },
{ "", "bucket:bucket_empty", "" },
},
})
minetest.register_craft({
output = "homedecor:sink",
recipe = {
{ "es:marble","bucket:bucket_empty", "es:marble" },
},
})
minetest.register_craft({
output = "homedecor:taps",
recipe = {
{ "default:steel_ingot","bucket:bucket_water", "default:steel_ingot" },
},
})
minetest.register_craft({
output = "homedecor:taps_brass",
recipe = {
{ "technic:brass_ingot","bucket:bucket_water", "technic:brass_ingot" },
},
})
minetest.register_craft({
output = "homedecor:shower_tray",
recipe = {
{ "es:marble","bucket:bucket_water", "es:marble" },
},
})
minetest.register_craft({
output = "homedecor:shower_head",
recipe = {
{"default:steel_ingot", "bucket:bucket_water"},
},
})
minetest.register_craft({
output = "homedecor:table", "homedecor:chair 2",
recipe = {
{ "group:wood","group:wood", "group:wood" },
{ "group:stick", "", "group:stick" },
},
})
minetest.register_craft({
type = "shapeless",
output = "homedecor:table_mahogany",
recipe = {
"homedecor:table",
"dye:brown",
},
})
minetest.register_craft({
type = "shapeless",
output = "homedecor:table_white",
recipe = {
"homedecor:table",
"dye:white",
},
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:table",
burntime = 30,
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:table_mahogany",
burntime = 30,
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:table_white",
burntime = 30,
})
minetest.register_craft({
output = "homedecor:desk",
recipe = {
{ "stairs:slab_wood", "stairs:slab_wood", "stairs:slab_wood" },
{ "homedecor:drawer_small", "default:wood", "default:wood" },
{ "homedecor:drawer_small", "", "default:wood" },
},
})