forked from MineClone5/MineClone5
167 lines
5.9 KiB
Lua
167 lines
5.9 KiB
Lua
|
--TODO: Add sounds for the respawn anchor
|
||
|
|
||
|
--Nether ends at y -29077
|
||
|
--Nether roof at y -28933
|
||
|
|
||
|
|
||
|
minetest.register_node("mcl_beds:respawn_anchor",{
|
||
|
description="respawn anchor",
|
||
|
tiles = {
|
||
|
"respawn_anchor_top_off.png",
|
||
|
"respawn_anchor_bottom.png",
|
||
|
"respawn_anchor_side0.png"
|
||
|
},
|
||
|
drawtype = "nodebox",
|
||
|
node_box= { --Reused the composter nodebox, since it is basicly the same
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{-0.5, -0.5, -0.5, -0.375, 0.5, 0.5}, -- Left wall
|
||
|
{ 0.375, -0.5, -0.5, 0.5, 0.5, 0.5}, -- Right wall
|
||
|
{-0.375, -0.5, 0.375, 0.375, 0.5, 0.5}, -- Back wall
|
||
|
{-0.375, -0.5, -0.5, 0.375, 0.5, -0.375}, -- Front wall
|
||
|
{-0.5, -0.5, -0.5, 0.5, -0.47, 0.5}, -- Bottom level, -0.47 because -0.5 is so low that you can see the texture of the block below through
|
||
|
}
|
||
|
},
|
||
|
on_rightclick = function(pos, node, player, itemstack)
|
||
|
minetest.log("tried to charge")
|
||
|
minetest.log(player.get_player_name(player))
|
||
|
minetest.log(itemstack.get_name(itemstack))
|
||
|
if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then
|
||
|
minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_1"})
|
||
|
else
|
||
|
if pos.y < -29077 or pos.y > -28933 then
|
||
|
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
|
||
|
end
|
||
|
end
|
||
|
end,
|
||
|
groups = {pickaxey=1, material_stone=1},
|
||
|
_mcl_hardness = 22.5
|
||
|
})
|
||
|
minetest.register_node("mcl_beds:respawn_anchor_charged_1",{
|
||
|
description="respawn anchor",
|
||
|
tiles = {
|
||
|
"portal.png",
|
||
|
"respawn_anchor_bottom.png",
|
||
|
"respawn_anchor_side1.png"
|
||
|
},
|
||
|
drawtype = "nodebox",
|
||
|
node_box= { --Reused the composter nodebox, since it is basicly the same
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{-0.5, -0.5, -0.5, -0.375, 0.5, 0.5}, -- Left wall
|
||
|
{ 0.375, -0.5, -0.5, 0.5, 0.5, 0.5}, -- Right wall
|
||
|
{-0.375, -0.5, 0.375, 0.375, 0.5, 0.5}, -- Back wall
|
||
|
{-0.375, -0.5, -0.5, 0.375, 0.5, -0.375}, -- Front wall
|
||
|
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, -- Bottom level
|
||
|
}
|
||
|
},
|
||
|
on_rightclick = function(pos, node, player, itemstack)
|
||
|
if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then
|
||
|
minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_2"})
|
||
|
else
|
||
|
if pos.y < -29077 or pos.y > -28933 then
|
||
|
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
|
||
|
else
|
||
|
mcl_spawn.set_spawn_pos(player, pos, nil)
|
||
|
end
|
||
|
end
|
||
|
end,
|
||
|
groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1},
|
||
|
_mcl_hardness = 22.5
|
||
|
})
|
||
|
|
||
|
minetest.register_node("mcl_beds:respawn_anchor_charged_2",{
|
||
|
description="respawn anchor",
|
||
|
tiles = {
|
||
|
"portal.png",
|
||
|
"respawn_anchor_bottom.png",
|
||
|
"respawn_anchor_side2.png"
|
||
|
},
|
||
|
drawtype = "nodebox",
|
||
|
node_box= { --Reused the composter nodebox, since it is basicly the same
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{-0.5, -0.5, -0.5, -0.375, 0.5, 0.5}, -- Left wall
|
||
|
{ 0.375, -0.5, -0.5, 0.5, 0.5, 0.5}, -- Right wall
|
||
|
{-0.375, -0.5, 0.375, 0.375, 0.5, 0.5}, -- Back wall
|
||
|
{-0.375, -0.5, -0.5, 0.375, 0.5, -0.375}, -- Front wall
|
||
|
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, -- Bottom level
|
||
|
}
|
||
|
},
|
||
|
on_rightclick = function(pos, node, player, itemstack)
|
||
|
if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then
|
||
|
minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_3"})
|
||
|
else
|
||
|
if pos.y < -29077 or pos.y > -28933 then
|
||
|
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
|
||
|
else
|
||
|
mcl_spawn.set_spawn_pos(player, pos, nil)
|
||
|
end
|
||
|
end
|
||
|
end,
|
||
|
groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1},
|
||
|
_mcl_hardness = 22.5
|
||
|
})
|
||
|
|
||
|
minetest.register_node("mcl_beds:respawn_anchor_charged_3",{
|
||
|
description="respawn anchor",
|
||
|
tiles = {
|
||
|
"portal.png",
|
||
|
"respawn_anchor_bottom.png",
|
||
|
"respawn_anchor_side3.png"
|
||
|
},
|
||
|
drawtype = "nodebox",
|
||
|
node_box= { --Reused the composter nodebox, since it is basicly the same
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{-0.5, -0.5, -0.5, -0.375, 0.5, 0.5}, -- Left wall
|
||
|
{ 0.375, -0.5, -0.5, 0.5, 0.5, 0.5}, -- Right wall
|
||
|
{-0.375, -0.5, 0.375, 0.375, 0.5, 0.5}, -- Back wall
|
||
|
{-0.375, -0.5, -0.5, 0.375, 0.5, -0.375}, -- Front wall
|
||
|
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, -- Bottom level
|
||
|
}
|
||
|
},
|
||
|
on_rightclick = function(pos, node, player, itemstack)
|
||
|
if itemstack.get_name(itemstack) == "mcl_nether:glowstone" then
|
||
|
minetest.set_node(pos, {name="mcl_beds:respawn_anchor_charged_4"})
|
||
|
else
|
||
|
if pos.y < -29077 or pos.y > -28933 then
|
||
|
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
|
||
|
else
|
||
|
mcl_spawn.set_spawn_pos(player, pos, nil)
|
||
|
end
|
||
|
end
|
||
|
end,
|
||
|
groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1},
|
||
|
_mcl_hardness = 22.5
|
||
|
})
|
||
|
|
||
|
minetest.register_node("mcl_beds:respawn_anchor_charged_4",{
|
||
|
description="respawn anchor",
|
||
|
tiles = {
|
||
|
"portal.png",
|
||
|
"respawn_anchor_bottom.png",
|
||
|
"respawn_anchor_side4.png"
|
||
|
},
|
||
|
drawtype = "nodebox",
|
||
|
node_box= { --Reused the composter nodebox, since it is basicly the same
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{-0.5, -0.5, -0.5, -0.375, 0.5, 0.5}, -- Left wall
|
||
|
{ 0.375, -0.5, -0.5, 0.5, 0.5, 0.5}, -- Right wall
|
||
|
{-0.375, -0.5, 0.375, 0.375, 0.5, 0.5}, -- Back wall
|
||
|
{-0.375, -0.5, -0.5, 0.375, 0.5, -0.375}, -- Front wall
|
||
|
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, -- Bottom level
|
||
|
}
|
||
|
},
|
||
|
on_rightclick = function(pos, node, player, itemstack)
|
||
|
if pos.y < -29077 or pos.y > -28933 then
|
||
|
mcl_explosions.explode(pos, 5, {drop_chance = 0, fire = true})
|
||
|
else
|
||
|
mcl_spawn.set_spawn_pos(player, pos, nil)
|
||
|
end
|
||
|
end,
|
||
|
groups = {pickaxey=1, material_stone=1, not_in_creative_inventory=1},
|
||
|
_mcl_hardness = 22.5
|
||
|
})
|