forked from VoxeLibre/VoxeLibre
beacon_beam -> beam
what other beam is there in this mod ?
This commit is contained in:
parent
bcfd664e9b
commit
6b746ec6a5
|
@ -32,7 +32,7 @@ local colors = {
|
|||
"pink",
|
||||
} -- the order of this array determines the index of the palette - do not change it
|
||||
|
||||
minetest.register_node("mcl_beacons:beacon_beam",{
|
||||
minetest.register_node("mcl_beacons:beam",{
|
||||
tiles = {"^[colorize:white"},
|
||||
drawtype = "nodebox",
|
||||
paramtype2 = "color",
|
||||
|
@ -46,13 +46,12 @@ minetest.register_node("mcl_beacons:beacon_beam",{
|
|||
light_source = 15,
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
-- diggable = false,
|
||||
floodable = false,
|
||||
buildable_to = true,
|
||||
groups = {not_in_creative_inventory=1},
|
||||
_mcl_blast_resistance = 1200,
|
||||
})
|
||||
mesecon.register_mvps_stopper("mcl_beacons:beacon_beam")
|
||||
mesecon.register_mvps_stopper("mcl_beacons:beam")
|
||||
|
||||
local formspec_string=
|
||||
"size[11,14]"..
|
||||
|
@ -84,7 +83,7 @@ local formspec_string=
|
|||
mcl_formspec.get_itemslot_bg(1,12.5,9,1)..
|
||||
"list[current_player;main;1,12.5;9,1;]"
|
||||
|
||||
local function remove_beacon_beam(pos)
|
||||
local function remove_beam(pos)
|
||||
for y=pos.y+1, pos.y+401 do
|
||||
local node = minetest.get_node({x=pos.x,y=y,z=pos.z})
|
||||
if node.name ~= "air" and node.name ~= "mcl_core:bedrock" and node.name ~= "mcl_core:void" then
|
||||
|
@ -92,7 +91,7 @@ local function remove_beacon_beam(pos)
|
|||
minetest.get_voxel_manip():read_from_map({x=pos.x,y=y,z=pos.z}, {x=pos.x,y=y,z=pos.z})
|
||||
node = minetest.get_node({x=pos.x,y=y,z=pos.z})
|
||||
end
|
||||
if node.name == "mcl_beacons:beacon_beam" then
|
||||
if node.name == "mcl_beacons:beam" then
|
||||
minetest.remove_node({x=pos.x,y=y,z=pos.z})
|
||||
end
|
||||
end
|
||||
|
@ -146,10 +145,10 @@ local function globalstep_function(pos,player)
|
|||
for y=pos.y+1, pos.y+301 do
|
||||
local nodename = minetest.get_node({x=pos.x,y=y, z = pos.z}).name
|
||||
if nodename ~= "mcl_core:bedrock" and nodename ~= "air" and nodename ~= "ignore" and nodename ~= "mcl_core:void" then --ignore means not loaded, let's just assume that's air
|
||||
if nodename ~= "mcl_beacons:beacon_beam" then
|
||||
if nodename ~= "mcl_beacons:beam" then
|
||||
if minetest.get_item_group(nodename,"glass") == 0 then
|
||||
obstructed = true
|
||||
remove_beacon_beam(pos)
|
||||
remove_beam(pos)
|
||||
return
|
||||
end
|
||||
end
|
||||
|
@ -182,7 +181,7 @@ minetest.register_node("mcl_beacons:beacon", {
|
|||
local p = {x=pos.x+math.random(0, 10)/10-0.5, y=pos.y, z=pos.z+math.random(0, 10)/10-0.5} --from mcl_anvils
|
||||
minetest.add_item(p, input)
|
||||
end
|
||||
remove_beacon_beam(pos)
|
||||
remove_beam(pos)
|
||||
end,
|
||||
on_receive_fields = function(pos, formname, fields, sender)
|
||||
if fields.swiftness or fields.regeneration or fields.leaping or fields.strenght then
|
||||
|
@ -253,7 +252,7 @@ minetest.register_node("mcl_beacons:beacon", {
|
|||
input:take_item()
|
||||
inv:set_stack("input",1,input)
|
||||
|
||||
remove_beacon_beam(pos)
|
||||
remove_beam(pos)
|
||||
local p2 = 0
|
||||
for y = pos.y +1, pos.y + 21 do
|
||||
local node = minetest.get_node({x=pos.x,y=y,z=pos.z})
|
||||
|
@ -267,7 +266,7 @@ minetest.register_node("mcl_beacons:beacon", {
|
|||
end
|
||||
|
||||
if node.name == "air" then
|
||||
minetest.set_node({x=pos.x,y=y,z=pos.z},{name="mcl_beacons:beacon_beam",param2=p2})
|
||||
minetest.set_node({x=pos.x,y=y,z=pos.z},{name="mcl_beacons:beam",param2=p2})
|
||||
end
|
||||
end
|
||||
globalstep_function(pos,sender)--call it once outside the globalstep so the player gets the effect right after selecting it
|
||||
|
@ -294,7 +293,7 @@ end
|
|||
|
||||
minetest.register_abm({
|
||||
label = "Beacon beams propagation",
|
||||
nodenames ={ "mcl_beacons:beacon_beam" },
|
||||
nodenames ={ "mcl_beacons:beam" },
|
||||
neighbors = { "air" },
|
||||
interval = 3,
|
||||
chance = 1,
|
||||
|
|
Loading…
Reference in New Issue