Added crafting recipes for remain furniture and fixed already added ones
parent
eab62bb4cc
commit
d405faf3b1
|
@ -32,59 +32,62 @@ local items_and_crafts = {
|
|||
}
|
||||
|
||||
local format_nested_strings = function(t, wood)
|
||||
for i, item_n in ipairs(t) do
|
||||
local t2 = table.copy(t)
|
||||
for i, item_n in ipairs(t2) do
|
||||
if type(item_n) == "table" then
|
||||
for i2, item_n2 in ipairs(item_n) do
|
||||
t[i][i2] = item_n2:format(wood)
|
||||
t2[i][i2] = item_n2:format(wood)
|
||||
end
|
||||
else
|
||||
t[i] = item_n:format(wood)
|
||||
t2[i] = item_n:format(wood)
|
||||
end
|
||||
end
|
||||
|
||||
return t2
|
||||
end
|
||||
|
||||
for _, wood in ipairs(woods) do
|
||||
wood = wood ~= "" and wood .. "_" or wood
|
||||
to_capital_l = wood ~= "" and wood:sub(1,1):upper() .. wood:sub(2) or ""
|
||||
wood = wood ~= "" and wood ~= "jungle" and wood .. "_" or wood
|
||||
local to_capital_l = wood ~= "" and wood:sub(1,1):upper() .. wood:sub(2, -2) .. " " or ""
|
||||
|
||||
for item, recipes in pairs(items_and_crafts) do
|
||||
minetest.debug("item: " .. dump(item))
|
||||
minetest.register_craftitem(":multidecor:" .. wood .. item,
|
||||
{
|
||||
description = to_capital_l .. " " .. item:sub(1,1):upper() .. item:sub(2),
|
||||
inventory_image = "multidecor_" .. wood .. item .. ".png"
|
||||
description = to_capital_l .. item:sub(1,1):upper() .. item:sub(2),
|
||||
inventory_image = "multidecor_" .. (wood == "jungle" and wood .. "_" or wood) .. item .. ".png"
|
||||
})
|
||||
|
||||
for _, recipe in ipairs(recipes) do
|
||||
minetest.register_craft({
|
||||
local def = {
|
||||
type = recipe.type,
|
||||
output = "multidecor:" .. wood .. item .. " " .. recipe.amount,
|
||||
recipe = format_nested_strings(recipe.recipe, wood),
|
||||
replacements = recipe.type == "shapeless" and {{recipe.recipe[1]:format(wood), ""}, {"multidecor:saw", "multidecor:saw"}}
|
||||
})
|
||||
replacements = recipe.type == "shapeless" and {{"multidecor:saw", "multidecor:saw"}} or nil
|
||||
}
|
||||
minetest.register_craft(def)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_craftitem("multidecor:saw",
|
||||
minetest.register_craftitem(":multidecor:saw",
|
||||
{
|
||||
description = "Saw",
|
||||
inventory_image = "multidecor_saw.png"
|
||||
})
|
||||
|
||||
minetest.register_craftitem("multidecor:metal_bar",
|
||||
minetest.register_craftitem(":multidecor:metal_bar",
|
||||
{
|
||||
description = "Metal Bar",
|
||||
inventory_image = "multidecor_metal_bar.png"
|
||||
})
|
||||
|
||||
minetest.register_craftitem("multidecor:steel_sheet",
|
||||
minetest.register_craftitem(":multidecor:steel_sheet",
|
||||
{
|
||||
description = "Steel Sheet",
|
||||
inventory_image = "multidecor_sheet.png"
|
||||
inventory_image = "multidecor_steel_sheet.png"
|
||||
})
|
||||
|
||||
minetest.register_craftitem("multidecor:steel_scissors",
|
||||
minetest.register_craftitem(":multidecor:steel_scissors",
|
||||
{
|
||||
description = "Steel Scissors",
|
||||
inventory_image = "multidecor_steel_scissors.png"
|
||||
|
@ -95,47 +98,29 @@ minetest.register_craft(
|
|||
type = "shapeless",
|
||||
output = "multidecor:steel_sheet",
|
||||
recipe = {"default:steel_ingot", "multidecor:steel_scissors"},
|
||||
replacements = {{"default:steel_ingot", ""}, {"multidecor:steel_scissors", "multidecor:steel_scissors"}}
|
||||
replacements = {{"multidecor:steel_scissors", "multidecor:steel_scissors"}}
|
||||
})
|
||||
|
||||
minetest.register_craft(
|
||||
{
|
||||
type = "shapeless",
|
||||
output = "multidecor:metal_bar",
|
||||
recipe = {
|
||||
{"", "default:steel_ingot", ""},
|
||||
{"", "default:steel_ingot", ""},
|
||||
{"", "", ""}
|
||||
}
|
||||
recipe = {"default:steel_ingot", "default:steel_ingot", "multidecor:steel_scissors"},
|
||||
replacements = {{"multidecor:steel_scissors", "multidecor:steel_scissors"}}
|
||||
})
|
||||
|
||||
minetest.register_craft(
|
||||
{
|
||||
type = "shapeless",
|
||||
output = "multidecor:saw",
|
||||
recipe = {
|
||||
{"multidecor:plank", "multidecor:steel_sheet", "multidecor:saw"},
|
||||
{"", "", ""},
|
||||
{"", "", ""}
|
||||
},
|
||||
replacements = {
|
||||
{{"multidecor:plank", ""}, {"multidecor:steel_sheet", ""}, {"multidecor:saw", "multidecor:saw"}},
|
||||
{{"", ""}, {"", ""}, {"", ""}},
|
||||
{{"", ""}, {"", ""}, {"", ""}}
|
||||
}
|
||||
recipe = {"multidecor:plank", "multidecor:steel_sheet"}
|
||||
})
|
||||
|
||||
minetest.register_craft(
|
||||
{
|
||||
type = "shapeless",
|
||||
output = "multidecor:steel_scissors",
|
||||
recipe = {
|
||||
{"multidecor:plank", "default:steel_ingot", "multidecor:saw"},
|
||||
{"", "", ""},
|
||||
{"", "", ""}
|
||||
},
|
||||
replacements = {
|
||||
{{"multidecor:plank", ""}, {"default:steel_ingot", ""}, {"multidecor:saw", "multidecor:saw"}},
|
||||
{{"", ""}, {"", ""}, {"", ""}},
|
||||
{{"", ""}, {"", ""}, {"", ""}}
|
||||
}
|
||||
recipe = {"multidecor:plank", "default:steel_ingot"}
|
||||
})
|
||||
|
||||
|
||||
|
@ -153,25 +138,18 @@ minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv
|
|||
return
|
||||
end
|
||||
end
|
||||
for _, item in ipairs(old_craft_grid) do
|
||||
|
||||
for _, stack in ipairs(old_craft_grid) do
|
||||
check_for_item(stack:get_name())
|
||||
if contains_saw or contains_steel_scissors then
|
||||
break
|
||||
end
|
||||
if type(item) == "table" then
|
||||
for _, item2 in ipairs(item) do
|
||||
if contains_saw or contains_steel_scissors then
|
||||
break
|
||||
end
|
||||
check_for_item(item2)
|
||||
end
|
||||
else
|
||||
check_for_item(item)
|
||||
end
|
||||
end
|
||||
|
||||
local sound = contains_saw and "multidecor_saw.ogg" or contains_steel_scissors and "multidecor_steel_scissors.ogg"
|
||||
|
||||
local sound = contains_saw and "multidecor_saw" or contains_steel_scissors and "multidecor_steel_scissors"
|
||||
if sound then
|
||||
minetest.sound_play(sound, {to_player = player:get_player_name()})
|
||||
end
|
||||
|
||||
return
|
||||
end)
|
||||
|
|
|
@ -174,14 +174,14 @@ function register.register_furniture_unit(name, def, craft_def)
|
|||
end
|
||||
|
||||
f_def.add_properties = def.add_properties or {}
|
||||
local f_name = ":multidecor:" .. name
|
||||
minetest.register_node(f_name, f_def)
|
||||
local f_name = "multidecor:" .. name
|
||||
minetest.register_node(":" .. f_name, f_def)
|
||||
|
||||
if craft_def then
|
||||
minetest.register_craft({
|
||||
output = f_name,
|
||||
recipe = craft_def.recipe,
|
||||
replacements = craft_def.replacements
|
||||
replacements = craft_def.replacements or nil
|
||||
})
|
||||
end
|
||||
|
||||
|
|
|
@ -36,7 +36,13 @@ function register.register_seat(name, base_def, add_def, craft_def)
|
|||
def.paramtype2 = "facedir"
|
||||
|
||||
-- additional properties
|
||||
def.add_properties = add_def
|
||||
if add_def then
|
||||
if add_def.recipe then
|
||||
craft_def = add_def
|
||||
else
|
||||
def.add_properties = add_def
|
||||
end
|
||||
end
|
||||
|
||||
if def.callbacks then
|
||||
def.callbacks.on_construct = def.callbacks.on_construct or default_on_construct
|
||||
|
|
|
@ -2,7 +2,14 @@ function register.register_table(name, base_def, add_def, craft_def)
|
|||
local c_def = table.copy(base_def)
|
||||
|
||||
c_def.type = "table"
|
||||
c_def.add_properties = add_def
|
||||
|
||||
if add_def then
|
||||
if add_def.recipe then
|
||||
craft_def = add_def
|
||||
else
|
||||
c_def.add_properties = add_def
|
||||
end
|
||||
end
|
||||
|
||||
register.register_furniture_unit(name, c_def, craft_def)
|
||||
end
|
||||
|
|
|
@ -20,6 +20,13 @@ register.register_seat("kitchen_modern_wooden_chair", {
|
|||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
recipe = {
|
||||
{"multidecor:board", "multidecor:board", ""},
|
||||
{"default:stick", "default:stick", "default:stick"},
|
||||
{"", "default:stick", ""}
|
||||
}
|
||||
})
|
||||
|
||||
register.register_seat("soft_kitchen_modern_wooden_chair", {
|
||||
|
@ -44,6 +51,13 @@ register.register_seat("soft_kitchen_modern_wooden_chair", {
|
|||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
recipe = {
|
||||
{"multidecor:board", "multidecor:board", "wool:white"},
|
||||
{"default:stick", "default:stick", "default:stick"},
|
||||
{"", "default:stick", ""}
|
||||
}
|
||||
})
|
||||
|
||||
register.register_seat("soft_modern_jungle_chair", {
|
||||
|
@ -68,6 +82,13 @@ register.register_seat("soft_modern_jungle_chair", {
|
|||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
recipe = {
|
||||
{"multidecor:jungleboard", "multidecor:jungleboard", "default:stick"},
|
||||
{"default:stick", "default:stick", "default:stick"},
|
||||
{"default:stick", "default:stick", ""}
|
||||
}
|
||||
})
|
||||
|
||||
register.register_seat("soft_round_modern_metallic_chair", {
|
||||
|
@ -92,6 +113,13 @@ register.register_seat("soft_round_modern_metallic_chair", {
|
|||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
recipe = {
|
||||
{"wool:white", "wool:white", ""},
|
||||
{"multidecor:metal_bar", "multidecor:metal_bar", ""},
|
||||
{"multidecor:metal_bar", "multidecor:metal_bar", ""}
|
||||
}
|
||||
})
|
||||
|
||||
register.register_seat("round_modern_metallic_stool", {
|
||||
|
@ -115,4 +143,11 @@ register.register_seat("round_modern_metallic_stool", {
|
|||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
recipe = {
|
||||
{"wool:white", "", ""},
|
||||
{"multidecor:metal_bar", "multidecor:metal_bar", "multidecor:metal_bar"},
|
||||
{"multidecor:metal_bar", "multidecor:metal_bar", ""}
|
||||
}
|
||||
})
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
for _, wood_n in ipairs({"", "jungle", "pine", "birch"}) do
|
||||
local tex = "multidecor_" .. wood_n .. (wood_n ~= "" and "_" or "") .. "wood.png^[sheet:2x2:0,0"
|
||||
for _, wood_n in ipairs({"", "jungle", "pine", "aspen"}) do
|
||||
wood_n = wood_n .. (wood_n ~= "" and wood_n ~= "jungle" and "_" or "")
|
||||
local tex = "multidecor_" .. wood_n .. (wood_n == "jungle" and "_" or "") .. "wood.png^[sheet:2x2:0,0"
|
||||
|
||||
register.register_table("modern_wooden_" .. wood_n .. (wood_n ~= "" and "_" or "") .. "closed_shelf", {
|
||||
register.register_table("modern_wooden_" .. wood_n .. "closed_shelf", {
|
||||
style = "modern",
|
||||
material = "wood",
|
||||
drawtype = "nodebox",
|
||||
visual_scale = 1,
|
||||
description = "Modern Wooden " .. wood_n:sub(1, 1):upper() .. wood_n:sub(2) .. " Closed Shelf (without back)",
|
||||
description = "Modern Wooden " .. wood_n:sub(1, 1):upper() .. wood_n:sub(2, -1) .. " Closed Shelf (without back)",
|
||||
tiles = {tex, tex, tex, tex, tex, tex},
|
||||
bounding_boxes = {
|
||||
{-0.5, -0.4, -0.5, -0.4, 0.4, 0.5}, -- Left side
|
||||
|
@ -14,14 +15,21 @@ for _, wood_n in ipairs({"", "jungle", "pine", "birch"}) do
|
|||
{-0.5, -0.5, -0.5, 0.5, -0.4, 0.5}, -- Bottom side
|
||||
{-0.5, 0.4, -0.5, 0.5, 0.5, 0.5} -- Top side
|
||||
}
|
||||
},
|
||||
{
|
||||
recipe = {
|
||||
{"multidecor:" .. wood_n .. "board", "multidecor:" .. wood_n .. "board", "multidecor:" .. wood_n .. "board"},
|
||||
{"multidecor:" .. wood_n .. "board", "multidecor:" .. wood_n .. "board", ""},
|
||||
{"", "", ""}
|
||||
}
|
||||
})
|
||||
|
||||
register.register_table("modern_wooden_" .. wood_n .. (wood_n ~= "" and "_" or "") .. "closed_shelf_with_back", {
|
||||
register.register_table("modern_wooden_" .. wood_n .. "closed_shelf_with_back", {
|
||||
style = "modern",
|
||||
material = "wood",
|
||||
drawtype = "nodebox",
|
||||
visual_scale = 1,
|
||||
description = "Modern Wooden " .. wood_n:sub(1, 1):upper() .. wood_n:sub(2) .. " Closed Shelf (with back)",
|
||||
description = "Modern Wooden " .. wood_n:sub(1, 1):upper() .. wood_n:sub(2, -1) .. " Closed Shelf (with back)",
|
||||
tiles = {tex, tex, tex, tex, tex, tex},
|
||||
bounding_boxes = {
|
||||
{-0.5, -0.4, -0.5, -0.4, 0.4, 0.5}, -- Left side
|
||||
|
@ -30,5 +38,12 @@ for _, wood_n in ipairs({"", "jungle", "pine", "birch"}) do
|
|||
{-0.5, 0.4, -0.5, 0.5, 0.5, 0.5}, -- Top side
|
||||
{-0.4, -0.4, 0.4, 0.4, 0.4, 0.5} -- Back side
|
||||
}
|
||||
},
|
||||
{
|
||||
recipe = {
|
||||
{"multidecor:" .. wood_n .. "board", "multidecor:" .. wood_n .. "board", ""},
|
||||
{"multidecor:" .. wood_n .. "board", "multidecor:" .. wood_n .. "board", ""},
|
||||
{"", "", ""}
|
||||
}
|
||||
})
|
||||
end
|
||||
|
|
|
@ -64,8 +64,8 @@ register.register_table("round_modern_wooden_table", {
|
|||
},
|
||||
{
|
||||
recipe = {
|
||||
{"multidecor:jungle_board", "", ""},
|
||||
{"multidecor:jungle_plank", "multidecor:jungle_plank", ""},
|
||||
{"multidecor:jungleboard", "", ""},
|
||||
{"multidecor:jungleplank", "multidecor:jungleplank", ""},
|
||||
{"default:stick", "", ""}
|
||||
}
|
||||
})
|
||||
|
@ -105,9 +105,9 @@ register.register_table("modern_wooden_desk", {
|
|||
},
|
||||
{
|
||||
recipe = {
|
||||
{"multidecor:jungle_board", "multidecor:jungle_board", "multidecor:jungle_board"},
|
||||
{"multidecor:jungle_board", "multidecor:wooden_drawer", "multidecor:jungle_board"},
|
||||
{"multidecor:jungle_board", "multidecor:jungle_board", "multidecor:jungle_board"}
|
||||
{"multidecor:jungleboard", "multidecor:jungleboard", "multidecor:jungleboard"},
|
||||
{"multidecor:jungleboard", "multidecor:drawer", "multidecor:jungleboard"},
|
||||
{"multidecor:jungleboard", "multidecor:jungleboard", "multidecor:jungleboard"}
|
||||
}
|
||||
})
|
||||
|
||||
|
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
Loading…
Reference in New Issue