2022-04-28 15:37:39 +02:00
|
|
|
-- mcl_decor/wooden.lua
|
|
|
|
|
|
|
|
local S = minetest.get_translator(minetest.get_current_modname())
|
|
|
|
|
2022-05-01 09:06:21 +02:00
|
|
|
mcl_decor.woods = {
|
|
|
|
-- name, chair desc, table desc, slabtable desc, planks, texture
|
|
|
|
{"wooden", S("Oak Chair"), S("Oak Table"), S("Oak Slab Table"), "mcl_core:wood", "default_wood"},
|
|
|
|
{"dark_oak", S("Dark Oak Chair"), S("Dark Oak Table"), S("Dark Oak Slab Table"), "mcl_core:darkwood", "mcl_core_planks_big_oak"},
|
|
|
|
{"jungle", S("Jungle Chair"), S("Jungle Table"), S("Jungle Slab Table"), "mcl_core:junglewood", "default_junglewood"},
|
|
|
|
{"spruce", S("Spruce Chair"), S("Spruce Table"), S("Spruce Slab Table"), "mcl_core:sprucewood", "mcl_core_planks_spruce"},
|
|
|
|
{"acacia", S("Acacia Chair"), S("Acacia Table"), S("Acacia Slab Table"), "mcl_core:acaciawood", "default_acacia_wood"},
|
|
|
|
{"birch", S("Birch Chair"), S("Birch Table"), S("Birch Slab Table"), "mcl_core:birchwood", "mcl_core_planks_birch"},
|
|
|
|
}
|
|
|
|
mcl_decor.netherwoods = {
|
|
|
|
-- name, chair desc, table desc, slabtable desc, planks, texture
|
|
|
|
{"crimson", S("Crimson Chair"), S("Crimson Table"), S("Crimson Slab Table"), "mcl_mushroom:crimson_hyphae_wood", "crimson_hyphae_wood", "1"},
|
|
|
|
{"warped", S("Warped Chair"), S("Warped Table"), S("Warped Slab Table"), "mcl_mushroom:warped_hyphae_wood", "warped_hyphae_wood", "1"},
|
|
|
|
}
|
|
|
|
|
|
|
|
-- combined wooden stuff registering function
|
|
|
|
mcl_decor.register_wooden_stuff = function(name, desc, desc2, desc3, material, tiles, group)
|
2022-04-28 15:37:39 +02:00
|
|
|
if group == nil then
|
|
|
|
group = {handy=1, axey=1, attached_node=1, material_wood=1, deco_block=1, flammable=-1}
|
|
|
|
else
|
|
|
|
group = {handy=1, axey=1, attached_node=1, material_wood=1, deco_block=1}
|
|
|
|
end
|
|
|
|
|
|
|
|
-- chair part
|
|
|
|
minetest.register_node("mcl_decor:"..name.."_chair", {
|
|
|
|
description = desc,
|
|
|
|
drawtype = "nodebox",
|
|
|
|
node_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = {
|
|
|
|
{-0.25, 0, 0.125, 0.25, 0.5, 0.25},
|
|
|
|
{-0.25, -0.125, -0.25, 0.25, 0, 0.25},
|
|
|
|
{-0.25, -0.5, 0.125, -0.125, -0.125, 0.25},
|
|
|
|
{0.125, -0.5, -0.25, 0.25, -0.125, -0.125},
|
|
|
|
{0.125, -0.5, 0.125, 0.25, -0.125, 0.25},
|
|
|
|
{-0.25, -0.5, -0.25, -0.125, -0.125, -0.125},
|
|
|
|
}
|
|
|
|
},
|
2022-05-01 09:06:21 +02:00
|
|
|
tiles = {tiles..".png"},
|
2022-04-28 15:37:39 +02:00
|
|
|
is_ground_content = false,
|
|
|
|
paramtype = "light",
|
|
|
|
paramtype2 = "facedir",
|
|
|
|
stack_max = 64,
|
|
|
|
sunlight_propagates = true,
|
|
|
|
selection_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = { -0.25, -0.5, -0.25, 0.25, 0.5, 0.25 },
|
|
|
|
},
|
|
|
|
groups = group,
|
|
|
|
_mcl_hardness = 1,
|
|
|
|
_mcl_blast_resistance = 1,
|
|
|
|
sounds = mcl_sounds.node_sound_wood_defaults(),
|
|
|
|
on_rightclick = mcl_decor.sit
|
|
|
|
})
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "mcl_decor:"..name.."_chair",
|
|
|
|
recipe = {
|
|
|
|
{"", "", "mcl_core:stick"},
|
|
|
|
{material, material, material},
|
|
|
|
{"mcl_core:stick", "", "mcl_core:stick"}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "mcl_decor:"..name.."_chair",
|
|
|
|
recipe = {
|
|
|
|
{"mcl_core:stick", "", ""},
|
|
|
|
{material, material, material},
|
|
|
|
{"mcl_core:stick", "", "mcl_core:stick"}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
minetest.register_craft({
|
|
|
|
type = "fuel",
|
|
|
|
recipe = "mcl_decor:"..name.."_chair",
|
|
|
|
burntime = 8,
|
|
|
|
})
|
|
|
|
|
|
|
|
-- table part
|
|
|
|
minetest.register_node("mcl_decor:"..name.."_table", {
|
|
|
|
description = desc2,
|
|
|
|
drawtype = "nodebox",
|
|
|
|
node_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = {
|
|
|
|
{ -0.5, 0.375, -0.5, 0.5, 0.5, 0.5 },
|
|
|
|
{ -0.4375, -0.5, -0.4375, -0.3125, 0.375, -0.3125 },
|
|
|
|
{ 0.3125, -0.5, -0.4375, 0.4375, 0.375, -0.3125 },
|
|
|
|
{ 0.3125, -0.5, 0.3125, 0.4375, 0.375, 0.4375 },
|
|
|
|
{ -0.4375, -0.5, 0.3125, -0.3125, 0.375, 0.4375 },
|
|
|
|
}
|
|
|
|
},
|
|
|
|
selection_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 },
|
|
|
|
},
|
2022-05-01 09:06:21 +02:00
|
|
|
tiles = {tiles..".png"},
|
2022-04-28 15:37:39 +02:00
|
|
|
is_ground_content = false,
|
|
|
|
paramtype = "light",
|
|
|
|
stack_max = 64,
|
|
|
|
sunlight_propagates = true,
|
|
|
|
groups = group,
|
|
|
|
_mcl_hardness = 2,
|
|
|
|
_mcl_blast_resistance = 3,
|
|
|
|
sounds = mcl_sounds.node_sound_wood_defaults(),
|
|
|
|
})
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "mcl_decor:"..name.."_table".." 2",
|
|
|
|
recipe = {
|
|
|
|
{material, material, material},
|
|
|
|
{"mcl_core:stick", "", "mcl_core:stick"},
|
|
|
|
{"mcl_core:stick", "", "mcl_core:stick"}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
minetest.register_craft({
|
|
|
|
type = "fuel",
|
|
|
|
recipe = "mcl_decor:"..name.."_table",
|
|
|
|
burntime = 10,
|
|
|
|
})
|
2022-05-01 09:06:21 +02:00
|
|
|
|
|
|
|
-- slab table part
|
2022-04-28 15:37:39 +02:00
|
|
|
minetest.register_node("mcl_decor:"..name.."_stable", {
|
2022-05-01 09:06:21 +02:00
|
|
|
description = desc3,
|
2022-04-28 15:37:39 +02:00
|
|
|
drawtype = "nodebox",
|
|
|
|
node_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = {
|
|
|
|
{-0.125, -0.5, -0.125, 0.125, 0, 0.125},
|
|
|
|
{-0.5, 0, -0.5, 0.5, 0.5, 0.5},
|
|
|
|
}
|
|
|
|
},
|
2022-05-01 09:06:21 +02:00
|
|
|
tiles = {tiles..".png"},
|
2022-04-28 15:37:39 +02:00
|
|
|
is_ground_content = false,
|
|
|
|
paramtype = "light",
|
|
|
|
stack_max = 64,
|
|
|
|
sunlight_propagates = true,
|
|
|
|
groups = group,
|
|
|
|
_mcl_hardness = 2,
|
|
|
|
_mcl_blast_resistance = 3,
|
|
|
|
sounds = mcl_sounds.node_sound_wood_defaults(),
|
|
|
|
})
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "mcl_decor:"..name.."_stable".." 3",
|
|
|
|
recipe = {
|
|
|
|
{material, material, material},
|
|
|
|
{"", "mcl_core:stick", ""}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
minetest.register_craft({
|
|
|
|
type = "fuel",
|
|
|
|
recipe = "mcl_decor:"..name.."_stable",
|
|
|
|
burntime = 10,
|
|
|
|
})
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-05-01 09:06:21 +02:00
|
|
|
for _, row in ipairs(mcl_decor.woods) do
|
|
|
|
-- define rows
|
|
|
|
local name = row[1]
|
|
|
|
local desc = row[2]
|
|
|
|
local desc2 = row[3]
|
|
|
|
local desc3 = row[4]
|
|
|
|
local material = row[5]
|
|
|
|
local tiles = row[6]
|
|
|
|
local group = row[7]
|
|
|
|
mcl_decor.register_wooden_stuff(name, desc, desc2, desc3, material, tiles, group)
|
|
|
|
end
|
2022-04-28 15:37:39 +02:00
|
|
|
-- support for MineClone 5
|
|
|
|
if minetest.get_modpath("mcl_mushroom") then
|
2022-05-01 09:06:21 +02:00
|
|
|
for _, row in ipairs(mcl_decor.netherwoods) do
|
|
|
|
-- define rows
|
|
|
|
local name = row[1]
|
|
|
|
local desc = row[2]
|
|
|
|
local desc2 = row[3]
|
|
|
|
local desc3 = row[4]
|
|
|
|
local material = row[5]
|
|
|
|
local tiles = row[6]
|
|
|
|
local group = row[7]
|
|
|
|
mcl_decor.register_wooden_stuff(name, desc, desc2, desc3, material, tiles, group)
|
|
|
|
end
|
2022-04-28 15:37:39 +02:00
|
|
|
end
|