forked from VoxeLibre/VoxeLibre
Add hardness support for stairs and slabs
This commit is contained in:
parent
051799bb3d
commit
ed882cd70b
|
@ -614,7 +614,8 @@ function mcstair.add(name, stairtiles)
|
||||||
},
|
},
|
||||||
drop = drop,
|
drop = drop,
|
||||||
stairs = {name, name.."_outer", name.."_inner"},
|
stairs = {name, name.."_outer", name.."_inner"},
|
||||||
after_dig_node = function(pos, oldnode) after_dig_node(pos, oldnode) end
|
after_dig_node = function(pos, oldnode) after_dig_node(pos, oldnode) end,
|
||||||
|
_mcl_hardness = node_def._mcl_hardness,
|
||||||
})
|
})
|
||||||
minetest.register_node(":"..name.."_inner", {
|
minetest.register_node(":"..name.."_inner", {
|
||||||
description = node_def.description,
|
description = node_def.description,
|
||||||
|
@ -636,7 +637,8 @@ function mcstair.add(name, stairtiles)
|
||||||
},
|
},
|
||||||
drop = drop,
|
drop = drop,
|
||||||
stairs = {name, name.."_outer", name.."_inner"},
|
stairs = {name, name.."_outer", name.."_inner"},
|
||||||
after_dig_node = function(pos, oldnode) after_dig_node(pos, oldnode) end
|
after_dig_node = function(pos, oldnode) after_dig_node(pos, oldnode) end,
|
||||||
|
_mcl_hardness = node_def._mcl_hardness,
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ stairs = {}
|
||||||
-- Register stairs.
|
-- Register stairs.
|
||||||
-- Node will be called stairs:stair_<subname>
|
-- Node will be called stairs:stair_<subname>
|
||||||
|
|
||||||
function stairs.register_stair(subname, recipeitem, groups, images, description, sounds)
|
function stairs.register_stair(subname, recipeitem, groups, images, description, sounds, hardness)
|
||||||
groups.stair = 1
|
groups.stair = 1
|
||||||
groups.building_block = 1
|
groups.building_block = 1
|
||||||
minetest.register_node(":stairs:stair_" .. subname, {
|
minetest.register_node(":stairs:stair_" .. subname, {
|
||||||
|
@ -67,6 +67,7 @@ function stairs.register_stair(subname, recipeitem, groups, images, description,
|
||||||
|
|
||||||
return minetest.item_place(itemstack, placer, pointed_thing, param2)
|
return minetest.item_place(itemstack, placer, pointed_thing, param2)
|
||||||
end,
|
end,
|
||||||
|
_mcl_hardness = hardness,
|
||||||
})
|
})
|
||||||
|
|
||||||
if recipeitem then
|
if recipeitem then
|
||||||
|
@ -103,7 +104,7 @@ local slab_trans_dir_place = {[0] = 0, 20, 12, 16, 4, 8}
|
||||||
-- double_description, full_node: NEW arguments, not supported in Minetest Game
|
-- double_description, full_node: NEW arguments, not supported in Minetest Game
|
||||||
-- double_description: If set, add a separate “double slab” node. The description is the name of this new node
|
-- double_description: If set, add a separate “double slab” node. The description is the name of this new node
|
||||||
-- full_node: If set, this node is used when two nodes are placed on top of each other. Use this if recipeitem is a group
|
-- full_node: If set, this node is used when two nodes are placed on top of each other. Use this if recipeitem is a group
|
||||||
function stairs.register_slab(subname, recipeitem, groups, images, description, sounds, double_description, full_node)
|
function stairs.register_slab(subname, recipeitem, groups, images, description, sounds, hardness, double_description, full_node)
|
||||||
groups.slab = 1
|
groups.slab = 1
|
||||||
groups.building_block = 1
|
groups.building_block = 1
|
||||||
minetest.register_node(":stairs:slab_" .. subname, {
|
minetest.register_node(":stairs:slab_" .. subname, {
|
||||||
|
@ -185,6 +186,7 @@ function stairs.register_slab(subname, recipeitem, groups, images, description,
|
||||||
return minetest.item_place(itemstack, placer, pointed_thing, rot)
|
return minetest.item_place(itemstack, placer, pointed_thing, rot)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
_mcl_hardness = hardness,
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Double slab node
|
-- Double slab node
|
||||||
|
@ -199,6 +201,7 @@ function stairs.register_slab(subname, recipeitem, groups, images, description,
|
||||||
groups = dgroups,
|
groups = dgroups,
|
||||||
sounds = sounds,
|
sounds = sounds,
|
||||||
drop = "stairs:slab_"..subname.." 2",
|
drop = "stairs:slab_"..subname.." 2",
|
||||||
|
_mcl_hardness = hardness,
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -218,145 +221,195 @@ end
|
||||||
-- Nodes will be called stairs:{stair,slab}_<subname>
|
-- Nodes will be called stairs:{stair,slab}_<subname>
|
||||||
|
|
||||||
function stairs.register_stair_and_slab(subname, recipeitem,
|
function stairs.register_stair_and_slab(subname, recipeitem,
|
||||||
groups, images, desc_stair, desc_slab, sounds,
|
groups, images, desc_stair, desc_slab, sounds, hardness,
|
||||||
double_description, full_node)
|
double_description, full_node)
|
||||||
stairs.register_stair(subname, recipeitem, groups, images, desc_stair, sounds)
|
stairs.register_stair(subname, recipeitem, groups, images, desc_stair, sounds, hardness)
|
||||||
stairs.register_slab(subname, recipeitem, groups, images, desc_slab, sounds, double_description, full_node)
|
stairs.register_slab(subname, recipeitem, groups, images, desc_slab, sounds, hardness, double_description, full_node)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Register all Minecraft stairs and slabs
|
||||||
|
-- Note about hardness: For some reason, the hardness of slabs and stairs don't always match nicely, so that some
|
||||||
|
-- slabs actually take slightly longer to be dug than their stair counterparts.
|
||||||
|
-- Note sure if it is a good idea to preserve this oddity.
|
||||||
|
|
||||||
stairs.register_stair("wood", "mcl_core:wood",
|
stairs.register_stair("wood", "mcl_core:wood",
|
||||||
{snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood_stairs=1},
|
{handy=1,axey=1, flammable=3,wood_stairs=1},
|
||||||
{"default_wood.png"},
|
{"default_wood.png"},
|
||||||
"Oak Wood Stairs",
|
"Oak Wood Stairs",
|
||||||
mcl_sounds.node_sound_wood_defaults())
|
mcl_sounds.node_sound_wood_defaults(),
|
||||||
|
2)
|
||||||
stairs.register_slab("wood", "mcl_core:wood",
|
stairs.register_slab("wood", "mcl_core:wood",
|
||||||
{snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood_slab=1},
|
{handy=1,axey=1, flammable=3,wood_slab=1},
|
||||||
{"default_wood.png"},
|
{"default_wood.png"},
|
||||||
"Oak Wood Slab",
|
"Oak Wood Slab",
|
||||||
mcl_sounds.node_sound_wood_defaults())
|
mcl_sounds.node_sound_wood_defaults(),
|
||||||
|
2)
|
||||||
|
|
||||||
stairs.register_stair("junglewood", "mcl_core:junglewood",
|
stairs.register_stair("junglewood", "mcl_core:junglewood",
|
||||||
{snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood_stairs=1},
|
{handy=1,axey=1, flammable=3,wood_stairs=1},
|
||||||
{"default_junglewood.png"},
|
{"default_junglewood.png"},
|
||||||
"Jungle Wood Stairs",
|
"Jungle Wood Stairs",
|
||||||
mcl_sounds.node_sound_wood_defaults())
|
mcl_sounds.node_sound_wood_defaults(),
|
||||||
|
2)
|
||||||
stairs.register_slab("junglewood", "mcl_core:junglewood",
|
stairs.register_slab("junglewood", "mcl_core:junglewood",
|
||||||
{snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood_slab=1},
|
{handy=1,axey=1, flammable=3,wood_slab=1},
|
||||||
{"default_junglewood.png"},
|
{"default_junglewood.png"},
|
||||||
"Jungle Wood Slab",
|
"Jungle Wood Slab",
|
||||||
mcl_sounds.node_sound_wood_defaults())
|
mcl_sounds.node_sound_wood_defaults(),
|
||||||
|
2)
|
||||||
|
|
||||||
stairs.register_stair("acaciawood", "mcl_core:acaciawood",
|
stairs.register_stair("acaciawood", "mcl_core:acaciawood",
|
||||||
{snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood_stairs=1},
|
{handy=1,axey=1, flammable=3,wood_stairs=1},
|
||||||
{"default_acaciawood.png"},
|
{"default_acaciawood.png"},
|
||||||
"Acacia Wood Stairs",
|
"Acacia Wood Stairs",
|
||||||
mcl_sounds.node_sound_wood_defaults())
|
mcl_sounds.node_sound_wood_defaults(),
|
||||||
|
2)
|
||||||
|
|
||||||
stairs.register_slab("acaciawood", "mcl_core:acaciawood",
|
stairs.register_slab("acaciawood", "mcl_core:acaciawood",
|
||||||
{snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood_slab=1},
|
{handy=1,axey=1, flammable=3,wood_slab=1},
|
||||||
{"default_acaciawood.png"},
|
{"default_acaciawood.png"},
|
||||||
"Acacia Wood Slab",
|
"Acacia Wood Slab",
|
||||||
mcl_sounds.node_sound_wood_defaults())
|
mcl_sounds.node_sound_wood_defaults(),
|
||||||
|
2)
|
||||||
|
|
||||||
stairs.register_stair("sprucewood", "mcl_core:sprucewood",
|
stairs.register_stair("sprucewood", "mcl_core:sprucewood",
|
||||||
{snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood_stairs=1},
|
{handy=1,axey=1, flammable=3,wood_stairs=1},
|
||||||
{"default_sprucewood.png"},
|
{"default_sprucewood.png"},
|
||||||
"Spruce Wood Stairs",
|
"Spruce Wood Stairs",
|
||||||
mcl_sounds.node_sound_wood_defaults())
|
mcl_sounds.node_sound_wood_defaults(),
|
||||||
|
2)
|
||||||
stairs.register_slab("sprucewood", "mcl_core:sprucewood",
|
stairs.register_slab("sprucewood", "mcl_core:sprucewood",
|
||||||
{snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood_slab=1},
|
{handy=1,axey=1, flammable=3,wood_slab=1},
|
||||||
{"default_sprucewood.png"},
|
{"default_sprucewood.png"},
|
||||||
"Spruce Wood Slab",
|
"Spruce Wood Slab",
|
||||||
mcl_sounds.node_sound_wood_defaults())
|
mcl_sounds.node_sound_wood_defaults(),
|
||||||
|
2)
|
||||||
|
|
||||||
stairs.register_stair("birchwood", "mcl_core:birchwood",
|
stairs.register_stair("birchwood", "mcl_core:birchwood",
|
||||||
{snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood_stairs=1},
|
{handy=1,axey=1, flammable=3,wood_stairs=1},
|
||||||
{"default_planks_birch.png"},
|
{"default_planks_birch.png"},
|
||||||
"Birch Wood Stairs",
|
"Birch Wood Stairs",
|
||||||
mcl_sounds.node_sound_wood_defaults())
|
mcl_sounds.node_sound_wood_defaults(),
|
||||||
|
2)
|
||||||
stairs.register_slab("birchwood", "mcl_core:birchwood",
|
stairs.register_slab("birchwood", "mcl_core:birchwood",
|
||||||
{snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood_slab=1},
|
{handy=1,axey=1, flammable=3,wood_slab=1},
|
||||||
{"default_planks_birch.png"},
|
{"default_planks_birch.png"},
|
||||||
"Birch Wood Slab",
|
"Birch Wood Slab",
|
||||||
mcl_sounds.node_sound_wood_defaults())
|
mcl_sounds.node_sound_wood_defaults(),
|
||||||
|
2)
|
||||||
|
|
||||||
stairs.register_stair("darkwood", "mcl_core:darkwood",
|
stairs.register_stair("darkwood", "mcl_core:darkwood",
|
||||||
{snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood_stairs=1},
|
{handy=1,axey=1, flammable=3,wood_stairs=1},
|
||||||
{"default_planks_big_oak.png"},
|
{"default_planks_big_oak.png"},
|
||||||
"Dark Oak Wood Stairs",
|
"Dark Oak Wood Stairs",
|
||||||
mcl_sounds.node_sound_wood_defaults())
|
mcl_sounds.node_sound_wood_defaults(),
|
||||||
|
2)
|
||||||
stairs.register_slab("darkwood", "mcl_core:darkwood",
|
stairs.register_slab("darkwood", "mcl_core:darkwood",
|
||||||
{snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood_slab=1},
|
{handy=1,axey=1, flammable=3,wood_slab=1},
|
||||||
{"default_planks_big_oak.png"},
|
{"default_planks_big_oak.png"},
|
||||||
"Dark Oak Wood Slab",
|
"Dark Oak Wood Slab",
|
||||||
mcl_sounds.node_sound_wood_defaults())
|
mcl_sounds.node_sound_wood_defaults(),
|
||||||
|
2)
|
||||||
|
|
||||||
stairs.register_slab("stone", "mcl_core:stone",
|
stairs.register_slab("stone", "mcl_core:stone",
|
||||||
{cracky=3},
|
{pickaxey=1},
|
||||||
{"stairs_stone_slab_top.png", "stairs_stone_slab_top.png", "stairs_stone_slab_side.png"},
|
{"stairs_stone_slab_top.png", "stairs_stone_slab_top.png", "stairs_stone_slab_side.png"},
|
||||||
"Stone Slab",
|
"Stone Slab",
|
||||||
mcl_sounds.node_sound_stone_defaults(), "Double Stone Slab")
|
mcl_sounds.node_sound_stone_defaults(), 2, "Double Stone Slab")
|
||||||
|
|
||||||
stairs.register_stair_and_slab("cobble", "mcl_core:cobble",
|
stairs.register_stair_and_slab("cobble", "mcl_core:cobble",
|
||||||
{cracky=3},
|
{pickaxey=1},
|
||||||
{"default_cobble.png"},
|
{"default_cobble.png"},
|
||||||
"Cobblestone Stairs",
|
"Cobblestone Stairs",
|
||||||
"Cobblestone Slab",
|
"Cobblestone Slab",
|
||||||
mcl_sounds.node_sound_stone_defaults())
|
mcl_sounds.node_sound_stone_defaults(), 2)
|
||||||
|
|
||||||
stairs.register_stair_and_slab("brick_block", "mcl_core:brick_block",
|
stairs.register_stair_and_slab("brick_block", "mcl_core:brick_block",
|
||||||
{cracky=3},
|
{pickaxey=1},
|
||||||
{"default_brick.png"},
|
{"default_brick.png"},
|
||||||
"Brick Stairs",
|
"Brick Stairs",
|
||||||
"Brick Slab",
|
"Brick Slab",
|
||||||
mcl_sounds.node_sound_stone_defaults())
|
mcl_sounds.node_sound_stone_defaults(), 2)
|
||||||
|
|
||||||
stairs.register_stair_and_slab("sandstone", "group:sandstone",
|
|
||||||
{crumbly=2,cracky=2},
|
stairs.register_stair("sprucewood", "mcl_core:sprucewood",
|
||||||
|
{handy=1,axey=1, flammable=3,wood_stairs=1},
|
||||||
|
{"default_sprucewood.png"},
|
||||||
|
"Spruce Wood Stairs",
|
||||||
|
mcl_sounds.node_sound_wood_defaults(),
|
||||||
|
2)
|
||||||
|
stairs.register_slab("sprucewood", "mcl_core:sprucewood",
|
||||||
|
{handy=1,axey=1, flammable=3,wood_slab=1},
|
||||||
|
{"default_sprucewood.png"},
|
||||||
|
"Spruce Wood Slab",
|
||||||
|
mcl_sounds.node_sound_wood_defaults(),
|
||||||
|
2)
|
||||||
|
|
||||||
|
|
||||||
|
stairs.register_stair("sandstone", "group:sandstone",
|
||||||
|
{pickaxey=1},
|
||||||
{"default_sandstone_top.png", "default_sandstone_bottom.png", "default_sandstone_normal.png"},
|
{"default_sandstone_top.png", "default_sandstone_bottom.png", "default_sandstone_normal.png"},
|
||||||
"Sandstone Stairs",
|
"Sandstone Stairs",
|
||||||
|
mcl_sounds.node_sound_stone_defaults(), 0.8, nil, "mcl_core:sandstone")
|
||||||
|
stairs.register_slab("sandstone", "group:sandstone",
|
||||||
|
{pickaxey=1},
|
||||||
|
{"default_sandstone_top.png", "default_sandstone_bottom.png", "default_sandstone_normal.png"},
|
||||||
"Sandstone Slab",
|
"Sandstone Slab",
|
||||||
mcl_sounds.node_sound_stone_defaults(), "mcl_core:sandstone")
|
mcl_sounds.node_sound_stone_defaults(), 2, nil, "mcl_core:sandstone")
|
||||||
|
|
||||||
stairs.register_stair_and_slab("redsandstone", "group:redsandstone",
|
stairs.register_stair("redsandstone", "group:redsandstone",
|
||||||
{crumbly=2,cracky=2},
|
{pickaxey=1},
|
||||||
{"default_redsandstone_top.png", "default_redsandstone_bottom.png", "default_redsandstone_normal.png"},
|
{"default_redsandstone_top.png", "default_redsandstone_bottom.png", "default_redsandstone_normal.png"},
|
||||||
"Red Sandstone Stairs",
|
"Red Sandstone Stairs",
|
||||||
|
mcl_sounds.node_sound_stone_defaults(), 0.8, nil, "mcl_core:redsandstone")
|
||||||
|
stairs.register_slab("redsandstone", "group:redsandstone",
|
||||||
|
{pickaxey=1},
|
||||||
|
{"default_redsandstone_top.png", "default_redsandstone_bottom.png", "default_redsandstone_normal.png"},
|
||||||
"Red Sandstone Slab",
|
"Red Sandstone Slab",
|
||||||
mcl_sounds.node_sound_stone_defaults(), nil, "mcl_core:redsandstone")
|
mcl_sounds.node_sound_stone_defaults(), 2, nil, "mcl_core:redsandstone")
|
||||||
|
|
||||||
stairs.register_stair_and_slab("stonebrick", "group:stonebrick",
|
stairs.register_stair("stonebrick", "group:stonebrick",
|
||||||
{cracky=3},
|
{pickaxey=1},
|
||||||
{"default_stone_brick.png"},
|
{"default_stone_brick.png"},
|
||||||
"Stone Bricks Stairs",
|
"Stone Bricks Stairs",
|
||||||
|
mcl_sounds.node_sound_stone_defaults(), 1.5, nil, "mcl_core:stonebrick")
|
||||||
|
stairs.register_slab("stonebrick", "group:stonebrick",
|
||||||
|
{pickaxey=1},
|
||||||
|
{"default_stone_brick.png"},
|
||||||
"Stone Bricks Slab",
|
"Stone Bricks Slab",
|
||||||
mcl_sounds.node_sound_stone_defaults(), nil, "mcl_core:stonebrick"
|
mcl_sounds.node_sound_stone_defaults(), 2, nil, "mcl_core:stonebrick")
|
||||||
)
|
|
||||||
|
|
||||||
stairs.register_stair_and_slab("quartzblock", "group:quartz_block",
|
stairs.register_stair("quartzblock", "group:quartz_block",
|
||||||
{cracky=3},
|
{pickaxey=1},
|
||||||
{"mcl_nether_quartz_block_top.png", "mcl_nether_quartz_block_bottom.png", "mcl_nether_quartz_block_side.png"},
|
{"mcl_nether_quartz_block_top.png", "mcl_nether_quartz_block_bottom.png", "mcl_nether_quartz_block_side.png"},
|
||||||
"Quartz Stairs",
|
"Quartz Stairs",
|
||||||
"Quartz Slab",
|
mcl_sounds.node_sound_stone_defaults(), 0.8, nil, "mcl_nether:quartz_block")
|
||||||
mcl_sounds.node_sound_stone_defaults(), nil, "mcl_nether:quartz_block"
|
stairs.register_slab("quartzblock", "group:quartz_block",
|
||||||
)
|
{pickaxey=1},
|
||||||
|
{"mcl_nether_quartz_block_top.png", "mcl_nether_quartz_block_bottom.png", "mcl_nether_quartz_block_side.png"},
|
||||||
|
"Quartz Slab",
|
||||||
|
mcl_sounds.node_sound_stone_defaults(), 2, nil, "mcl_nether:quartz_block")
|
||||||
|
|
||||||
stairs.register_stair_and_slab("nether_brick", "mcl_nether:nether_brick",
|
stairs.register_stair_and_slab("nether_brick", "mcl_nether:nether_brick",
|
||||||
{cracky=2},
|
{pickaxey=1},
|
||||||
{"mcl_nether_nether_brick.png"},
|
{"mcl_nether_nether_brick.png"},
|
||||||
"Nether Brick Stairs",
|
"Nether Brick Stairs",
|
||||||
"Nether Brick Slab",
|
"Nether Brick Slab",
|
||||||
mcl_sounds.node_sound_stone_defaults()
|
mcl_sounds.node_sound_stone_defaults(),
|
||||||
)
|
2)
|
||||||
|
|
||||||
stairs.register_stair_and_slab("purpur_block", "mcl_end:purpur_block",
|
stairs.register_stair("purpur_block", "mcl_end:purpur_block",
|
||||||
{cracky=3},
|
{pickaxey=1},
|
||||||
{"mcl_end_purpur_block.png"},
|
{"mcl_end_purpur_block.png"},
|
||||||
"Purpur Stairs",
|
"Purpur Stairs",
|
||||||
|
mcl_sounds.node_sound_stone_defaults(),
|
||||||
|
1.5)
|
||||||
|
stairs.register_slab("purpur_block", "mcl_end:purpur_block",
|
||||||
|
{pickaxey=1},
|
||||||
|
{"mcl_end_purpur_block.png"},
|
||||||
"Purpur Slab",
|
"Purpur Slab",
|
||||||
mcl_sounds.node_sound_stone_defaults()
|
mcl_sounds.node_sound_stone_defaults(),
|
||||||
)
|
2)
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = 'mcl_core:sandstonecarved',
|
output = 'mcl_core:sandstonecarved',
|
||||||
|
|
Loading…
Reference in New Issue