Add doors and fences to wood api
|
@ -157,8 +157,8 @@ function mcl_doors:register_door(name, def)
|
|||
local left_node = minetest.get_node(pt_left)
|
||||
|
||||
-- Set door nodes
|
||||
minetest.set_node(pt, {name=name.."_b_1", param2=p2})
|
||||
minetest.set_node(pt2, {name=name.."_t_1", param2=p2})
|
||||
minetest.set_node(pt, {name=name:gsub(":mcl_doors","mcl_doors").."_b_1", param2=p2})
|
||||
minetest.set_node(pt2, {name=name:gsub(":mcl_doors","mcl_doors").."_t_1", param2=p2})
|
||||
|
||||
if def.sounds and def.sounds.place then
|
||||
minetest.sound_play(def.sounds.place, {pos=pt}, true)
|
||||
|
@ -217,9 +217,9 @@ function mcl_doors:register_door(name, def)
|
|||
local p2 = minetest.get_node(pos).param2
|
||||
local np2 = params[p2+1]
|
||||
|
||||
minetest.swap_node(pos, {name=replace_dir, param2=np2})
|
||||
minetest.swap_node(pos, {name=replace_dir:gsub(":mcl_doors","mcl_doors"), param2=np2})
|
||||
pos.y = pos.y-dir
|
||||
minetest.swap_node(pos, {name=replace, param2=np2})
|
||||
minetest.swap_node(pos, {name=replace:gsub(":mcl_doors","mcl_doors"), param2=np2})
|
||||
|
||||
local door_switching_sound
|
||||
if meta1:get_int("is_open") == 1 then
|
||||
|
@ -265,7 +265,7 @@ function mcl_doors:register_door(name, def)
|
|||
if not def.only_redstone_can_open then
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
if check_player_priv(pos, clicker) then
|
||||
on_open_close(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2")
|
||||
on_open_close(pos, 1, name:gsub(":mcl_doors","mcl_doors").."_t_1", name:gsub(":mcl_doors","mcl_doors").."_b_2", name:gsub(":mcl_doors","mcl_doors").."_t_2")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -299,7 +299,7 @@ function mcl_doors:register_door(name, def)
|
|||
else
|
||||
minetest.add_item(bottom, name)
|
||||
local top = { x = bottom.x, y = bottom.y + 1, z = bottom.z }
|
||||
if minetest.get_node(bottom).name ~= name.."_b_2" and minetest.get_node(top).name == name.."_t_1" then
|
||||
if minetest.get_node(bottom).name ~= name:gsub(":mcl_doors","mcl_doors").."_b_2" and minetest.get_node(top).name == name:gsub(":mcl_doors","mcl_doors").."_t_1" then
|
||||
minetest.remove_node(top)
|
||||
end
|
||||
end
|
||||
|
@ -337,7 +337,7 @@ function mcl_doors:register_door(name, def)
|
|||
else
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
if check_player_priv(pos, clicker) then
|
||||
on_open_close(pos, -1, name.."_b_1", name.."_t_2", name.."_b_2")
|
||||
on_open_close(pos, -1, name:gsub(":mcl_doors","mcl_doors").."_b_1", name:gsub(":mcl_doors","mcl_doors").."_t_2", name:gsub(":mcl_doors","mcl_doors").."_b_2")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -370,7 +370,7 @@ function mcl_doors:register_door(name, def)
|
|||
meta_top:set_int("rotation", 0)
|
||||
else
|
||||
local bottom = { x = top.x, y = top.y - 1, z = top.z }
|
||||
if minetest.get_node(top).name ~= name.."_t_2" and minetest.get_node(bottom).name == name.."_b_1" and oldnode.name == name.."_t_1" then
|
||||
if minetest.get_node(top).name ~= name.."_t_2" and minetest.get_node(bottom).name == name:gsub(":mcl_doors","mcl_doors").."_b_1" and oldnode.name == name:gsub(":mcl_doors","mcl_doors").."_t_1" then
|
||||
minetest.dig_node(bottom)
|
||||
end
|
||||
end
|
||||
|
@ -393,7 +393,7 @@ function mcl_doors:register_door(name, def)
|
|||
local bottom = {x=top.x,y=top.y-1,z=top.z}
|
||||
local meta_bottom = minetest_get_meta(bottom)
|
||||
meta_bottom:set_int("rotation", 1)
|
||||
node.name = name .."_b_1"
|
||||
node.name = node.name:gsub(":mcl_doors","mcl_doors").."_b_1"
|
||||
minetest.swap_node(bottom, node)
|
||||
|
||||
return true
|
||||
|
@ -409,7 +409,7 @@ function mcl_doors:register_door(name, def)
|
|||
else
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
if check_player_priv(pos, clicker) then
|
||||
on_open_close(pos, 1, name.."_t_2", name.."_b_1", name.."_t_1")
|
||||
on_open_close(pos, 1, name:gsub(":mcl_doors","mcl_doors").."_t_2", name:gsub(":mcl_doors","mcl_doors").."_b_1", name:gsub(":mcl_doors","mcl_doors").."_t_1")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -68,11 +68,11 @@ function mcl_doors:register_trapdoor(name, def)
|
|||
-- Close
|
||||
if minetest.get_item_group(me.name, "trapdoor") == 2 then
|
||||
minetest.sound_play(def.sound_close, {pos = pos, gain = 0.3, max_hear_distance = 16}, true)
|
||||
tmp_node = {name=name, param1=me.param1, param2=me.param2}
|
||||
tmp_node = {name=name:gsub(":mcl_doors","mcl_doors"), param1=me.param1, param2=me.param2}
|
||||
-- Open
|
||||
else
|
||||
minetest.sound_play(def.sound_open, {pos = pos, gain = 0.3, max_hear_distance = 16}, true)
|
||||
tmp_node = {name=name.."_open", param1=me.param1, param2=me.param2}
|
||||
tmp_node = {name=name:gsub(":mcl_doors","mcl_doors").."_open", param1=me.param1, param2=me.param2}
|
||||
end
|
||||
minetest.set_node(pos, tmp_node)
|
||||
end
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
doors_item_wood.png
|
|
@ -0,0 +1 @@
|
|||
mcl_doors_door_wood_lower.png
|
|
@ -0,0 +1 @@
|
|||
mcl_doors_door_wood_upper.png
|
|
@ -0,0 +1 @@
|
|||
doors_trapdoor.png
|
|
@ -0,0 +1 @@
|
|||
doors_trapdoor_side.png
|
|
@ -0,0 +1 @@
|
|||
mcl_fences_fence_big_oak.png
|
|
@ -0,0 +1 @@
|
|||
mcl_fences_fence_gate_big_oak.png
|
|
@ -16,9 +16,9 @@ local propagule_allowed_nodes = {
|
|||
"mcl_mud:mud",
|
||||
}
|
||||
local propagule_water_nodes = {"mcl_mud:mud","mcl_core:dirt","mcl_core:coarse_dirt","mcl_core:clay"}
|
||||
mcl_wood.register_wood("mangrove",false,true)
|
||||
--"mcl_lush_caves:moss","mcl_lush_caves:rooted_dirt
|
||||
|
||||
mcl_wood.register_wood("mangrove",{nosap=true})
|
||||
|
||||
minetest.register_node("mcl_mangrove:mangrove_roots", {
|
||||
description = "Mangrove_Roots",
|
||||
|
@ -244,43 +244,7 @@ minetest.register_node("mcl_mangrove:mangrove_mud_roots", {
|
|||
_mcl_hardness = 0.7,
|
||||
})
|
||||
|
||||
mcl_doors:register_door("mcl_mangrove:mangrove_door", {
|
||||
description = ("Mangrove Door"),
|
||||
_doc_items_longdesc = "",
|
||||
_doc_items_usagehelp = "",
|
||||
inventory_image = "mcl_mangrove_doors.png",
|
||||
groups = {handy=1,axey=1, material_wood=1, flammable=-1},
|
||||
_mcl_hardness = 3,
|
||||
_mcl_blast_resistance = 3,
|
||||
tiles_bottom = {"mcl_mangrove_door_bottom.png", "mcl_wood_planks_mangrove.png"},
|
||||
tiles_top = {"mcl_mangrove_door_top.png", "mcl_wood_planks_mangrove.png"},
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
mcl_doors:register_trapdoor("mcl_mangrove:mangrove_trapdoor", {
|
||||
description = S("Mangrove Trapdoor"),
|
||||
_doc_items_longdesc = S("Wooden trapdoors are horizontal barriers which can be opened and closed by hand or a redstone signal. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder."),
|
||||
_doc_items_usagehelp = S("To open or close the trapdoor, rightclick it or send a redstone signal to it."),
|
||||
tile_front = "mcl_mangrove_trapdoor.png",
|
||||
tile_side = "mcl_wood_planks_mangrove.png",
|
||||
wield_image = "mcl_mangrove_trapdoor.png",
|
||||
groups = {handy=1,axey=1, mesecon_effector_on=1, material_wood=1, flammable=-1},
|
||||
_mcl_hardness = 3,
|
||||
_mcl_blast_resistance = 3,
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
mcl_fences.register_fence_and_fence_gate(
|
||||
"mangrove_wood_fence",
|
||||
S("Mangrove Wood Fence"),
|
||||
S("Mangrove Wood Plank Fence"),
|
||||
"mcl_mangrove_fence.png",
|
||||
{handy=1,axey=1, flammable=2,fence_wood=1, fire_encouragement=5, fire_flammability=20},
|
||||
minetest.registered_nodes["mcl_core:wood"]._mcl_hardness,
|
||||
minetest.registered_nodes["mcl_core:wood"]._mcl_blast_resistance,
|
||||
{"group:fence_wood"},
|
||||
mcl_sounds.node_sound_wood_defaults(), "mcl_mangrove_mangrove_wood_fence_gate_open", "mcl_mangrove_mangrove_wood_fence_gate_close", 1, 1,
|
||||
"mcl_mangrove_fence_gate.png")
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mcl_mangrove:mangrove_tree_bark 3",
|
||||
|
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
|
@ -9,6 +9,9 @@ if mod_screwdriver then
|
|||
on_rotate = screwdriver.rotate_3way
|
||||
end
|
||||
|
||||
local door_longdesc = S("Wooden doors are 2-block high barriers which can be opened or closed by hand and by a redstone signal.")
|
||||
local door_usagehelp = S("To open or close a wooden door, rightclick it or supply its lower half with a redstone signal.")
|
||||
|
||||
-- Register tree trunk (wood) and bark
|
||||
local function register_tree_trunk(subname, description_trunk, description_bark, longdesc, tile_inner, tile_bark, stripped_variant)
|
||||
minetest.register_node(":mcl_wood:"..subname, {
|
||||
|
@ -218,7 +221,8 @@ function readable_name(str)
|
|||
end
|
||||
|
||||
|
||||
function mcl_wood.register_wood(name,nether,nosap)
|
||||
function mcl_wood.register_wood(name,p)
|
||||
if not p then p = {} end
|
||||
local rname = readable_name(name)
|
||||
register_tree_trunk("tree_"..name, S(rname.." Wood"), S(rname.." Bark"), S("The trunk of an "..name.." tree."), "mcl_wood_tree_"..name.."_top.png", "mcl_wood_tree_"..name..".png", "mcl_wood:stripped_"..name)
|
||||
|
||||
|
@ -226,7 +230,7 @@ function mcl_wood.register_wood(name,nether,nosap)
|
|||
|
||||
register_wooden_planks("wood_"..name, S(rname.." Wood Planks"), {"mcl_wood_planks_"..name..".png"})
|
||||
|
||||
if not nosap then
|
||||
if not p.nosap then
|
||||
register_sapling("sapling_"..name, S(rname.." Sapling"),S("When placed on soil (such as dirt) and exposed to light, an "..name.." sapling will grow into an "..name.." after some time."),S("Needs soil and light to grow"),"mcl_wood_sapling_"..name..".png", {-5/16, -0.5, -5/16, 5/16, 0.5, 5/16})
|
||||
end
|
||||
|
||||
|
@ -244,4 +248,42 @@ function mcl_wood.register_wood(name,nether,nosap)
|
|||
S(rname.." Wood Slab"),
|
||||
mcl_sounds.node_sound_wood_defaults(), 3, 2,
|
||||
S("Double "..rname.." Wood Slab"))
|
||||
|
||||
mcl_fences.register_fence_and_fence_gate(
|
||||
name.."_wood_fence",
|
||||
S(rname.." Wood Fence"),
|
||||
S(rname.." Wood Fence"),
|
||||
"mcl_fences_fence_"..name..".png",
|
||||
{handy=1,axey=1, flammable=2,fence_wood=1, fire_encouragement=5, fire_flammability=20},
|
||||
minetest.registered_nodes["mcl_wood:wood_oak"]._mcl_hardness,
|
||||
minetest.registered_nodes["mcl_wood:wood_oak"]._mcl_blast_resistance,
|
||||
{"group:fence_wood"},
|
||||
mcl_sounds.node_sound_wood_defaults(), "doors_fencegate_open", "doors_fencegate_close", 1, 1,
|
||||
"mcl_fences_fence_gate_"..name..".png")
|
||||
|
||||
mcl_doors:register_door(":mcl_doors:door_"..name, {
|
||||
description = S(rname.." Door"),
|
||||
_doc_items_longdesc = door_longdesc,
|
||||
_doc_items_usagehelp = door_usagehelp,
|
||||
inventory_image = "mcl_doors_door_"..name..".png",
|
||||
groups = {handy=1,axey=1, material_wood=1, flammable=-1},
|
||||
_mcl_hardness = 3,
|
||||
_mcl_blast_resistance = 3,
|
||||
tiles_bottom = {"mcl_doors_door_"..name.."_lower.png", "mcl_wood_planks_"..name..".png"},
|
||||
tiles_top = {"mcl_doors_door_"..name.."_upper.png", "mcl_wood_planks_"..name..".png"},
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
mcl_doors:register_trapdoor(":mcl_doors:trapdoor_"..name, {
|
||||
description = S(rname.." Trapdoor"),
|
||||
_doc_items_longdesc = S("Wooden trapdoors are horizontal barriers which can be opened and closed by hand or a redstone signal. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder."),
|
||||
_doc_items_usagehelp = S("To open or close the trapdoor, rightclick it or send a redstone signal to it."),
|
||||
tile_front = "mcl_doors_trapdoor_"..name..".png",
|
||||
tile_side = "mcl_wood_planks_"..name..".png",
|
||||
wield_image = "mcl_doors_trapdoor_"..name..".png",
|
||||
groups = {handy=1,axey=1, mesecon_effector_on=1, material_wood=1, flammable=-1},
|
||||
_mcl_hardness = 3,
|
||||
_mcl_blast_resistance = 3,
|
||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||
})
|
||||
end
|
||||
|
|
|
@ -1,23 +1,21 @@
|
|||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
local doc_mod = minetest.get_modpath("doc")
|
||||
--[[]
|
||||
|
||||
|
||||
local barks = {
|
||||
{ "", S("Oak Bark Stairs"), S("Oak Bark Slab"), S("Double Oak Bark Slab") },
|
||||
{ "oak", S("Oak Bark Stairs"), S("Oak Bark Slab"), S("Double Oak Bark Slab") },
|
||||
{ "jungle", S("Jungle Bark Stairs"), S("Jungle Bark Slab"), S("Double Jungle Bark Slab") },
|
||||
{ "acacia", S("Acacia Bark Stairs"), S("Acacia Bark Slab"), S("Double Acacia Bark Slab") },
|
||||
{ "spruce", S("Spruce Bark Stairs"), S("Spruce Bark Slab"), S("Double Spruce Bark Slab") },
|
||||
{ "birch", S("Birch Bark Stairs"), S("Birch Bark Slab"), S("Double Birch Bark Slab") },
|
||||
{ "dark", S("Dark Oak Bark Stairs"), S("Dark Oak Bark Slab"), S("Double Dark Oak Bark Slab") },
|
||||
{ "dark_oak", S("Dark Oak Bark Stairs"), S("Dark Oak Bark Slab"), S("Double Dark Oak Bark Slab") },
|
||||
}
|
||||
|
||||
for b=1, #barks do
|
||||
local bark = barks[b]
|
||||
local sub = bark[1].."tree_bark"
|
||||
local id = "mcl_core:tree"
|
||||
if bark[1] ~= "" then
|
||||
id = "mcl_core:"..bark[1].."tree"
|
||||
end
|
||||
local sub = "tree_"..bark[1].."_bark"
|
||||
local id = "mcl_wood:tree_"..bark[1]
|
||||
|
||||
mcl_stairs.register_stair(sub, id,
|
||||
{handy=1,axey=1, flammable=3, bark_stairs=1, material_wood=1, fire_encouragement=5, fire_flammability=5},
|
||||
{minetest.registered_nodes[id].tiles[3]},
|
||||
|
@ -143,4 +141,3 @@ minetest.register_craft({
|
|||
-- Same as wood slab
|
||||
burntime = 8,
|
||||
})
|
||||
--]]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
name = mclx_stairs
|
||||
description = Additional stairs and slabs not found in Minecraft 1.11
|
||||
depends = mcl_ocean, mcl_core, mcl_sounds, mcl_nether, mcl_end, mcl_colorblocks, mcl_stairs
|
||||
depends = mcl_ocean, mcl_core, mcl_sounds, mcl_nether, mcl_end, mcl_colorblocks, mcl_stairs, mcl_wood
|
||||
optional_depends = doc
|
||||
|
|