122 lines
3.0 KiB
Lua
122 lines
3.0 KiB
Lua
|
minetest.register_node("castle:ropes",{
|
||
|
description = "Rope",
|
||
|
drawtype = "nodebox",
|
||
|
sunlight_propagates = true,
|
||
|
tiles = {"castle_ropes.png"},
|
||
|
groups = {choppy=3,snappy=3,oddly_breakable_by_hand=3,flammable=1},
|
||
|
paramtype = "light",
|
||
|
climbable = true,
|
||
|
walkable = false,
|
||
|
node_box = {
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{-1/16, -8/16, -1/16, 1/16, 8/16, 1/16},
|
||
|
},
|
||
|
},
|
||
|
selection_box = {
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{-1/16, -8/16, -1/16, 1/16, 8/16, 1/16},
|
||
|
},
|
||
|
},
|
||
|
})
|
||
|
|
||
|
minetest.register_craft({
|
||
|
output = "castle:ropes",
|
||
|
recipe = {
|
||
|
{"farming:string"},
|
||
|
{"farming:string"},
|
||
|
{"farming:string"},
|
||
|
}
|
||
|
})
|
||
|
|
||
|
minetest.register_node("castle:box_rope", {
|
||
|
description = "Rope from Ropebox",
|
||
|
drawtype = "nodebox",
|
||
|
paramtype = "light",
|
||
|
sunlight_propagates = true,
|
||
|
tiles = {"castle_ropes.png"},
|
||
|
groups = {not_in_creative_inventory=1},
|
||
|
climbable = true,
|
||
|
walkable = false,
|
||
|
diggable = false,
|
||
|
node_box = {
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{-1/16, -8/16, -1/16, 1/16, 8/16, 1/16},
|
||
|
},
|
||
|
},
|
||
|
selection_box = {
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{-1/16, -8/16, -1/16, 1/16, 8/16, 1/16},
|
||
|
},
|
||
|
},
|
||
|
after_destruct = function(pos,oldnode)
|
||
|
local node = minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z})
|
||
|
if node.name == "castle:box_rope" then
|
||
|
minetest.remove_node({x=pos.x,y=pos.y-1,z=pos.z})
|
||
|
end
|
||
|
end,
|
||
|
})
|
||
|
|
||
|
minetest.register_node("castle:ropebox", {
|
||
|
description = "Ropebox",
|
||
|
drawtype = "nodebox",
|
||
|
sunlight_propagates = true,
|
||
|
tiles = {"castle_ropebox_top.png",
|
||
|
"castle_ropebox_top.png",
|
||
|
"castle_ropebox_side_1.png",
|
||
|
"castle_ropebox_side_1.png",
|
||
|
"castle_ropebox_side_2.png",
|
||
|
"castle_ropebox_side_2.png"},
|
||
|
paramtype = "light",
|
||
|
paramtype2 = "facedir",
|
||
|
groups = {choppy=3},
|
||
|
node_box = {
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{-2/16, -2/16, -4/16, 2/16, 2/16, 4/16},
|
||
|
{-2/16, -4/16, -2/16, 2/16, 4/16, 2/16},
|
||
|
{-2/16, -3/16, -3/16, 2/16, 3/16, 3/16},
|
||
|
{-3/16, -2/16, -2/16, -2/16, 8/16, 2/16},
|
||
|
{2/16, -2/16, -2/16, 3/16, 8/16, 2/16},
|
||
|
{-1/16, -8/16, -1/16, 1/16, -4/16, 1/16},
|
||
|
},
|
||
|
},
|
||
|
after_destruct = function(pos,oldnode)
|
||
|
local node = minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z})
|
||
|
if node.name == "castle:box_rope" then
|
||
|
minetest.remove_node({x=pos.x,y=pos.y-1,z=pos.z})
|
||
|
end
|
||
|
end,
|
||
|
})
|
||
|
|
||
|
minetest.register_abm({
|
||
|
nodenames = {"castle:ropebox"},
|
||
|
interval = 1,
|
||
|
chance = 1,
|
||
|
action = function(pos, node)
|
||
|
if minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}).name ~= 'air' then return end
|
||
|
minetest.add_node({x=pos.x,y=pos.y-1,z=pos.z}, {name="castle:box_rope"})
|
||
|
end
|
||
|
})
|
||
|
|
||
|
minetest.register_abm({
|
||
|
nodenames = {"castle:box_rope"},
|
||
|
interval = 1,
|
||
|
chance = 1,
|
||
|
action = function(pos, node)
|
||
|
if minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}).name ~= 'air' then return end
|
||
|
minetest.add_node({x=pos.x,y=pos.y-1,z=pos.z}, {name="castle:box_rope"})
|
||
|
end
|
||
|
})
|
||
|
|
||
|
minetest.register_craft({
|
||
|
output = "castle:ropebox",
|
||
|
recipe = {
|
||
|
{"default:wood"},
|
||
|
{"castle:ropes"},
|
||
|
}
|
||
|
})
|