Use tables for registering wooden nodes (fix of #2, p2)
unsure if will merge to indev; code just became bigger and without api at all (what if someone's mod adds new type of wood, why can't author of mod just add support for mine?)
This commit is contained in:
parent
4f43fcf650
commit
2989f4c616
76
wooden.lua
76
wooden.lua
|
@ -2,8 +2,23 @@
|
||||||
|
|
||||||
local S = minetest.get_translator(minetest.get_current_modname())
|
local S = minetest.get_translator(minetest.get_current_modname())
|
||||||
|
|
||||||
--=-- API --=--
|
mcl_decor.woods = {
|
||||||
function mcl_decor.register_chair_and_table(name, desc, desc2, material, tiles, group)
|
-- 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)
|
||||||
if group == nil then
|
if group == nil then
|
||||||
group = {handy=1, axey=1, attached_node=1, material_wood=1, deco_block=1, flammable=-1}
|
group = {handy=1, axey=1, attached_node=1, material_wood=1, deco_block=1, flammable=-1}
|
||||||
else
|
else
|
||||||
|
@ -25,7 +40,7 @@ function mcl_decor.register_chair_and_table(name, desc, desc2, material, tiles,
|
||||||
{-0.25, -0.5, -0.25, -0.125, -0.125, -0.125},
|
{-0.25, -0.5, -0.25, -0.125, -0.125, -0.125},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
tiles = {tiles},
|
tiles = {tiles..".png"},
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
|
@ -81,7 +96,7 @@ function mcl_decor.register_chair_and_table(name, desc, desc2, material, tiles,
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 },
|
fixed = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 },
|
||||||
},
|
},
|
||||||
tiles = {tiles},
|
tiles = {tiles..".png"},
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
|
@ -104,16 +119,10 @@ function mcl_decor.register_chair_and_table(name, desc, desc2, material, tiles,
|
||||||
recipe = "mcl_decor:"..name.."_table",
|
recipe = "mcl_decor:"..name.."_table",
|
||||||
burntime = 10,
|
burntime = 10,
|
||||||
})
|
})
|
||||||
end
|
|
||||||
|
|
||||||
function mcl_decor.register_slab_table(name, desc, material, tiles, group)
|
-- slab table part
|
||||||
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
|
|
||||||
minetest.register_node("mcl_decor:"..name.."_stable", {
|
minetest.register_node("mcl_decor:"..name.."_stable", {
|
||||||
description = desc,
|
description = desc3,
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
node_box = {
|
node_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
|
@ -122,7 +131,7 @@ function mcl_decor.register_slab_table(name, desc, material, tiles, group)
|
||||||
{-0.5, 0, -0.5, 0.5, 0.5, 0.5},
|
{-0.5, 0, -0.5, 0.5, 0.5, 0.5},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
tiles = {tiles},
|
tiles = {tiles..".png"},
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
|
@ -148,25 +157,28 @@ end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
--=-- REGISTER --=--
|
for _, row in ipairs(mcl_decor.woods) do
|
||||||
mcl_decor.register_chair_and_table("wooden", S("Oak Chair"), S("Oak Table"), "mcl_core:wood", "default_wood.png")
|
-- define rows
|
||||||
mcl_decor.register_chair_and_table("dark_oak", S("Dark Oak Chair"), S("Dark Oak Table"), "mcl_core:darkwood", "mcl_core_planks_big_oak.png")
|
local name = row[1]
|
||||||
mcl_decor.register_chair_and_table("jungle", S("Jungle Chair"), S("Jungle Table"), "mcl_core:junglewood", "default_junglewood.png")
|
local desc = row[2]
|
||||||
mcl_decor.register_chair_and_table("spruce", S("Spruce Chair"), S("Spruce Table"), "mcl_core:sprucewood", "mcl_core_planks_spruce.png")
|
local desc2 = row[3]
|
||||||
mcl_decor.register_chair_and_table("acacia", S("Acacia Chair"), S("Acacia Table"), "mcl_core:acaciawood", "default_acacia_wood.png")
|
local desc3 = row[4]
|
||||||
mcl_decor.register_chair_and_table("birch", S("Birch Chair"), S("Birch Table"), "mcl_core:birchwood", "mcl_core_planks_birch.png")
|
local material = row[5]
|
||||||
|
local tiles = row[6]
|
||||||
mcl_decor.register_slab_table("wooden", S("Oak Slab Table"), "mcl_core:wood", "default_wood.png")
|
local group = row[7]
|
||||||
mcl_decor.register_slab_table("dark_oak", S("Dark Oak Slab Table"), "mcl_core:darkwood", "mcl_core_planks_big_oak.png")
|
mcl_decor.register_wooden_stuff(name, desc, desc2, desc3, material, tiles, group)
|
||||||
mcl_decor.register_slab_table("jungle", S("Jungle Slab Table"), "mcl_core:junglewood", "default_junglewood.png")
|
end
|
||||||
mcl_decor.register_slab_table("spruce", S("Spruce Slab Table"), "mcl_core:sprucewood", "mcl_core_planks_spruce.png")
|
|
||||||
mcl_decor.register_slab_table("acacia", S("Acacia Slab Table"), "mcl_core:acaciawood", "default_acacia_wood.png")
|
|
||||||
mcl_decor.register_slab_table("birch", S("Birch Slab Table"), "mcl_core:birchwood", "mcl_core_planks_birch.png")
|
|
||||||
|
|
||||||
-- support for MineClone 5
|
-- support for MineClone 5
|
||||||
if minetest.get_modpath("mcl_mushroom") then
|
if minetest.get_modpath("mcl_mushroom") then
|
||||||
mcl_decor.register_chair_and_table("crimson", S("Crimson Chair"), S("Crimson Table"), "mcl_mushroom:crimson_hyphae_wood", "crimson_hyphae_wood.png", "1")
|
for _, row in ipairs(mcl_decor.netherwoods) do
|
||||||
mcl_decor.register_chair_and_table("warped", S("Warped Chair"), S("Warped Table"), "mcl_mushroom:warped_hyphae_wood", "warped_hyphae_wood.png", "1")
|
-- define rows
|
||||||
mcl_decor.register_slab_table("crimson", S("Crimson Slab Table"), "mcl_mushroom:crimson_hyphae_wood", "crimson_hyphae_wood.png", "1")
|
local name = row[1]
|
||||||
mcl_decor.register_slab_table("warped", S("Warped Slab Table"), "mcl_mushroom:warped_hyphae_wood", "warped_hyphae_wood.png", "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
|
||||||
end
|
end
|
||||||
|
|
Reference in New Issue