From 57c099943a8c5d728eeddf636aace76a0746e631 Mon Sep 17 00:00:00 2001 From: chmodsayshello Date: Wed, 23 Mar 2022 13:44:18 +0000 Subject: [PATCH] upload main lua script --- mods/ITEMS/mcl_beds/respawn_anchor.lua | 166 +++++++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 mods/ITEMS/mcl_beds/respawn_anchor.lua diff --git a/mods/ITEMS/mcl_beds/respawn_anchor.lua b/mods/ITEMS/mcl_beds/respawn_anchor.lua new file mode 100644 index 000000000..882e1963a --- /dev/null +++ b/mods/ITEMS/mcl_beds/respawn_anchor.lua @@ -0,0 +1,166 @@ +--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 +})