diff --git a/mapgen.lua b/mapgen.lua index bf47d6f..3304cea 100644 --- a/mapgen.lua +++ b/mapgen.lua @@ -1,5 +1,4 @@ local moreores -firstplayer = 0 if minetest.get_modpath("moreores") then moreores=true end @@ -794,7 +793,7 @@ minetest.register_abm({ }) ]] minetest.register_abm({ - nodenames = {"default:lava_source", "default:lava_flowing"}, + nodenames = {"default:lava_source", "default:lava_flowing", "default:water_source", "default:water_flowing"}, neighbors = {"air"}, interval = 1.0, chance = 1, @@ -835,96 +834,91 @@ minetest.register_abm({ ]] --Abm -function enableabms() - minetest.after(180, function() - minetest.register_abm({ - nodenames = {"default:torch"}, - neighbors = {"nssb:morentir","nssb:morkemen"}, - interval = 1.0, - chance = 1, - action = function(pos, node) - minetest.set_node({x = pos.x, y = pos.y , z = pos.z}, {name = "nssb:mornar"}) - end - }) +minetest.register_abm({ + nodenames = {"default:torch"}, + neighbors = {"nssb:morentir","nssb:morkemen"}, + interval = 1.0, + chance = 1, + action = function(pos, node) + minetest.set_node({x = pos.x, y = pos.y , z = pos.z}, {name = "nssb:mornar"}) + end +}) - minetest.register_abm({ - nodenames = {"nssb:morlote"}, - neighbors = {"air"}, - interval = 60, - chance = 100, - action = - function(pos, node) - local pos1 = {x=pos.x, y=pos.y+1, z=pos.z} - local n = minetest.env:get_node(pos1).name - if n ~= "air" then - return - end - minetest.add_entity(pos1, "nssm:morgre") - minetest.remove_node(pos) +minetest.register_abm({ + nodenames = {"nssb:morlote"}, + neighbors = {"air"}, + interval = 60, + chance = 100, + action = + function(pos, node) + local pos1 = {x=pos.x, y=pos.y+1, z=pos.z} + local n = minetest.env:get_node(pos1).name + if n ~= "air" then + return + end + minetest.add_entity(pos1, "nssm:morgre") + minetest.remove_node(pos) + end +}) + +minetest.register_abm({ + nodenames = {"nssb:fall_morentir"}, + neighbors = {"nssb:fall_morentir"}, + interval = 1, + chance = 1, + action = + function(pos, node) + for _,obj in ipairs(minetest.get_objects_inside_radius(pos, 7)) do + if obj:is_player() then + nodeupdate(pos) end - }) + end + end +}) - minetest.register_abm({ - nodenames = {"nssb:fall_morentir"}, - neighbors = {"nssb:fall_morentir"}, - interval = 1, - chance = 1, - action = - function(pos, node) - for _,obj in ipairs(minetest.get_objects_inside_radius(pos, 7)) do - if obj:is_player() then - nodeupdate(pos) - end - end + +minetest.register_abm({ + nodenames = {"nssb:boum_morentir"}, + neighbors = {"nssb:morentir"}, + interval = 1, + chance = 1, + action = + function(pos, node) + for _,obj in ipairs(minetest.get_objects_inside_radius(pos, 5)) do + if obj:is_player() then + explosion(pos, 3, 0, 1) end - }) + end + end +}) - minetest.register_abm({ - nodenames = {"nssb:boum_morentir"}, - neighbors = {"nssb:morentir"}, - interval = 1, - chance = 1, - action = - function(pos, node) - for _,obj in ipairs(minetest.get_objects_inside_radius(pos, 5)) do - if obj:is_player() then - explosion(pos, 3, 0, 1) - end - end - end - }) - - - minetest.register_abm({ - nodenames = {"nssb:mornen", "nssb:mornen_flowing"}, - neighbors = {"air"}, - interval = 1.0, - chance = 5, - action = - function (pos, node) - minetest.add_particlespawner({ - amount = 1, - time = 2, - minpos = {x=pos.x-0.5, y=pos.y+0.5, z=pos.z-0.5}, - maxpos = {x=pos.x+0.5, y=pos.y+0.5, z=pos.z+0.5}, - minvel = {x=0, y=0.1, z=0}, - maxvel = {x=0, y=0.3, z=0}, - minacc = {x=0,y=0,z=0}, - maxacc = {x=0,y=0,z=0}, - minexptime = 1, - maxexptime = 1.2, - minsize = 0.5, - maxsize = 0.7, - collisiondetection = false, - vertical = true, - texture = "morparticle.png", - }) - end - }) - minetest.chat_send_all("enableabms") - end) -end +minetest.register_abm({ + nodenames = {"nssb:mornen", "nssb:mornen_flowing"}, + neighbors = {"air"}, + interval = 1.0, + chance = 5, + action = + function (pos, node) + minetest.add_particlespawner({ + amount = 1, + time = 2, + minpos = {x=pos.x-0.5, y=pos.y+0.5, z=pos.z-0.5}, + maxpos = {x=pos.x+0.5, y=pos.y+0.5, z=pos.z+0.5}, + minvel = {x=0, y=0.1, z=0}, + maxvel = {x=0, y=0.3, z=0}, + minacc = {x=0,y=0,z=0}, + maxacc = {x=0,y=0,z=0}, + minexptime = 1, + maxexptime = 1.2, + minsize = 0.5, + maxsize = 0.7, + collisiondetection = false, + vertical = true, + texture = "morparticle.png", + }) + end +}) minetest.register_abm({ nodenames = {"nssb:portal"}, @@ -970,13 +964,6 @@ minetest.register_abm({ --minetest.chat_send_all("Posizione: "..minetest.pos_to_string(posp)) obj:setpos({x=5, y=pos1.y+2, z =5}) - if firstplayer == 0 then - minetest.chat_send_all("Avvio il timer. firstplayer= "..firstplayer) - enablespawns() - minetest.chat_send_all("Tra le funzioni. firstplayer= "..firstplayer) - enableabms() - minetest.chat_send_all("Dopo le funzioni. Firstplayer= "..firstplayer) - end meta:set_string("player"..obj:get_player_name(), minetest.pos_to_string(posp)) timer_pos = {x=os.time(), y = 0, z = 0} meta:set_string("player_timer"..obj:get_player_name(), minetest.pos_to_string(timer_pos)) diff --git a/spawn.lua b/spawn.lua index a8df72b..a0efcc5 100644 --- a/spawn.lua +++ b/spawn.lua @@ -1,17 +1,9 @@ local mm = nssm.multimobs - -function enablespawns() - minetest.after(180, function() - mobs:spawn_specific("nssm:morbat1", {"air"}, {"nssb:morelentir"}, 0, 20, 100, 20000000/mm, 1, -31000, 0) - mobs:spawn_specific("nssm:morbat2", {"air"}, {"nssb:morelentir"}, 0, 20, 100, 20000000/mm, 1, -31000, 0) - mobs:spawn_specific("nssm:morbat3", {"air"}, {"nssb:morelentir"}, 0, 20, 100, 20000000/mm, 1, -31000, 0) - mobs:spawn_specific("nssm:morvy", {"nssb:morentir"}, {"nssb:morentir"}, 0, 20, 120, 18000000/mm, 1, -31000, -93) - mobs:spawn_specific("nssm:morlu", {"nssb:morentir"}, {"nssb:mornen"}, 0, 20, 80, 1200000/mm, 1, -31000, -93) - mobs:spawn_specific("nssm:morde", {"nssb:morenrir"}, {"nssb:mornar"}, 0, 20, 50, 350000/mm, 1, -31000, -93) - mobs:spawn_specific("nssm:mordain", {"nssb:morentir"}, {"nssb:morentir"}, 0, 20, 90, 15000000/mm, 1, -31000, .93) - mobs:spawn_specific("nssm:morgut", {"nssb:morentir"}, {"nssb:morentir"}, 0, 20, 50, 15000000/mm, 1, -31000, -93) - firstplayer=1 - minetest.chat_send_all("Enablespawns") - end - ) -end +mobs:spawn_specific("nssm:morbat1", {"air"}, {"nssb:morelentir"}, 0, 20, 100, 20000000/mm, 1, -31000, 0) +mobs:spawn_specific("nssm:morbat2", {"air"}, {"nssb:morelentir"}, 0, 20, 100, 20000000/mm, 1, -31000, 0) +mobs:spawn_specific("nssm:morbat3", {"air"}, {"nssb:morelentir"}, 0, 20, 100, 20000000/mm, 1, -31000, 0) +mobs:spawn_specific("nssm:morvy", {"nssb:morentir"}, {"nssb:morentir"}, 0, 20, 120, 18000000/mm, 1, -31000, -93) +mobs:spawn_specific("nssm:morlu", {"nssb:morentir"}, {"nssb:mornen"}, 0, 20, 80, 1200000/mm, 1, -31000, -93) +mobs:spawn_specific("nssm:morde", {"nssb:morenrir"}, {"nssb:mornar"}, 0, 20, 50, 350000/mm, 1, -31000, -93) +mobs:spawn_specific("nssm:mordain", {"nssb:morentir"}, {"nssb:morentir"}, 0, 20, 90, 15000000/mm, 1, -31000, .93) +mobs:spawn_specific("nssm:morgut", {"nssb:morentir"}, {"nssb:morentir"}, 0, 20, 50, 15000000/mm, 1, -31000, -93)