Merge pull request #8 from FaceDeer/master

updating various deprecated functions
This commit is contained in:
Tai Kedzierski 2021-04-06 16:00:43 +01:00 committed by GitHub
commit 4f6cc3f91e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 194 additions and 192 deletions

View File

@ -10,7 +10,7 @@ minetest.register_abm({
return
end
--local under = {x=pos.x, y=pos.y-1, z=pos.z}
--local n = minetest.env:get_node(under).name
--local n = minetest.get_node(under).name
--if n~= "air" then
minetest.set_node({x=pos.x+1, y=pos.y, z=pos.z}, {name = "fire:basic_flame"})
minetest.set_node({x=pos.x-1, y=pos.y, z=pos.z}, {name = "fire:basic_flame"})
@ -27,7 +27,7 @@ minetest.register_abm({
interval = 20.0,
chance = 20,
action = function(pos, node, active_object_count, active_object_count_wider)
local n = minetest.env:get_node(pos).name
local n = minetest.get_node(pos).name
if n== "air" then
minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z}, {name = "nssm:web"})
end
@ -40,7 +40,7 @@ minetest.register_abm({
interval = 20.0,
chance = 20,
action = function(pos, node, active_object_count, active_object_count_wider)
local n = minetest.env:get_node(pos).name
local n = minetest.get_node(pos).name
if n== "air" then
minetest.set_node({x = pos.x + 1, y = pos.y, z = pos.z}, {name = "nssm:web"})
end
@ -53,7 +53,7 @@ minetest.register_abm({
interval = 20.0,
chance = 20,
action = function(pos, node, active_object_count, active_object_count_wider)
local n = minetest.env:get_node(pos).name
local n = minetest.get_node(pos).name
if n == "air" then
minetest.set_node({x = pos.x - 1, y = pos.y, z = pos.z}, {name = "nssm:web"})
end
@ -89,7 +89,7 @@ minetest.register_abm({
action =
function(pos, node)
local pos1 = {x=pos.x, y=pos.y+1, z=pos.z}
local n = minetest.env:get_node(pos1).name
local n = minetest.get_node(pos1).name
if n ~= "air" then
return
end

View File

@ -6,12 +6,12 @@ mobs:register_arrow("nssm:duck_father", {
velocity = 8,
-- direct hit
hit_player = function(self, player)
local pos = self.object:getpos()
local pos = self.object:get_pos()
duck_explosion(pos)
end,
hit_mob = function(self, player)
local pos = self.object:getpos()
local pos = self.object:get_pos()
duck_explosion(pos)
end,
@ -76,12 +76,12 @@ mobs:register_arrow("nssm:snow_arrow", {
velocity =20,
-- direct hit
hit_player = function(self, player)
local pos = self.object:getpos()
local pos = self.object:get_pos()
ice_explosion(pos)
end,
hit_mob = function(self, player)
local pos = self.object:getpos()
local pos = self.object:get_pos()
ice_explosion(pos)
end,
hit_node = function(self, pos, node)
@ -94,7 +94,7 @@ function ice_explosion(pos)
for j=pos.y-1, pos.y+4, 1 do
for k=pos.z-math.random(0, 1), pos.z+math.random(0, 1), 1 do
local p = {x=i, y=j, z=k}
local n = minetest.env:get_node(p).name
local n = minetest.get_node(p).name
if not nssm.unswappable_node(p) then
minetest.set_node(p, {name="default:ice"})
end
@ -152,7 +152,7 @@ mobs:register_arrow("nssm:webball", {
velocity = 8,
-- direct hit
hit_player = function(self, player)
local p = player:getpos()
local p = player:get_pos()
explosion_web(p, "nssm:web")
end,
@ -176,8 +176,8 @@ function explosion_web(pos, webtype)
-- TODO 0 check, why are we operating on two positions?
local p = {x=i,y=j,z=k}
local k = {x=i,y=j+1,z=k}
local current = minetest.env:get_node(p).name
local ontop = minetest.env:get_node(k).name
local current = minetest.get_node(p).name
local ontop = minetest.get_node(k).name
if current == "air" then
--if not nssm.unswappable_node(p) then -- replaces to many nodes
minetest.set_node(p, {name=webtype})
@ -196,7 +196,7 @@ mobs:register_arrow("nssm:thickwebball", {
velocity = 8,
-- direct hit
hit_player = function(self, player)
local p = player:getpos()
local p = player:get_pos()
explosion_web(p, "nssm:thick_web")
end,
@ -224,12 +224,12 @@ mobs:register_arrow("nssm:phoenix_arrow", {
on_step = function(self, dtime)
local pos = self.object:getpos()
local pos = self.object:get_pos()
if minetest.is_protected(pos, "") then
return
end
local n = minetest.env:get_node(pos).name
local n = minetest.get_node(pos).name
if self.timer == 0 then
self.timer = os.time()
@ -243,7 +243,7 @@ mobs:register_arrow("nssm:phoenix_arrow", {
-- Randomly decide to place phoenix fire at current location
if math.random(1,2)==2 then
if not nssm.unswappable_node(pos) then
minetest.env:set_node(pos, {name="nssm:phoenix_fire"})
minetest.set_node(pos, {name="nssm:phoenix_fire"})
end
end
@ -253,9 +253,9 @@ mobs:register_arrow("nssm:phoenix_arrow", {
dy = math.random(-1,1)
dz = math.random(-1,1)
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
local n = minetest.env:get_node(p).name
local n = minetest.get_node(p).name
if n=="air" and not nssm.unswappable_node(p) then
minetest.env:set_node(p, {name="nssm:phoenix_fire"})
minetest.set_node(p, {name="nssm:phoenix_fire"})
end
end
@ -271,7 +271,7 @@ mobs:register_arrow("nssm:super_gas", {
velocity = 8,
-- direct hit
hit_player = function(self, player)
local p = player:getpos()
local p = player:get_pos()
gas_explosion(p)
end,
@ -292,7 +292,7 @@ function gas_explosion(pos)
if minetest.is_protected(p, "") then
return
end
local n = minetest.env:get_node(p).name
local n = minetest.get_node(p).name
if n == "air" and not nssm.unswappable_node(p) then
minetest.set_node(p, {name="nssm:venomous_gas"})
end
@ -310,9 +310,9 @@ mobs:register_arrow("nssm:roar_of_the_dragon", {
on_step = function(self, dtime)
local pos = self.object:getpos()
local pos = self.object:get_pos()
local n = minetest.env:get_node(pos).name
local n = minetest.get_node(pos).name
if self.timer == 0 then
self.timer = os.time()
@ -322,7 +322,7 @@ mobs:register_arrow("nssm:roar_of_the_dragon", {
self.object:remove()
end
local objects = minetest.env:get_objects_inside_radius(pos, 1)
local objects = minetest.get_objects_inside_radius(pos, 1)
for _,obj in ipairs(objects) do
local name = obj:get_entity_name()
if name ~= "nssm:roar_of_the_dragon" and name ~= "nssm:mese_dragon" then
@ -335,7 +335,7 @@ mobs:register_arrow("nssm:roar_of_the_dragon", {
end
end
minetest.env:set_node(pos, {name="air"})
minetest.set_node(pos, {name="air"})
if math.random(1,2)==1 then
dx = math.random(-1,1)
dy = math.random(-1,1)
@ -344,7 +344,7 @@ mobs:register_arrow("nssm:roar_of_the_dragon", {
return
end
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
minetest.env:set_node(p, {name="air"})
minetest.set_node(p, {name="air"})
end
end
})
@ -357,7 +357,7 @@ mobs:register_arrow("nssm:lava_arrow", {
velocity = 10,
-- direct hit
hit_player = function(self, player)
local pos = self.object:getpos()
local pos = self.object:get_pos()
if minetest.is_protected(pos, "") then
return
end
@ -365,7 +365,7 @@ mobs:register_arrow("nssm:lava_arrow", {
for dx=-1, 1, 2 do
for dz=-1, 1, 2 do
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
local n = minetest.env:get_node(p).name
local n = minetest.get_node(p).name
if n~="default:lava_flowing" and not nssm.unswappable_node(p) then
minetest.set_node(p, {name="default:lava_flowing"})
end

View File

@ -19,7 +19,7 @@ end
-- Return true if the original_node should not be swapped
nssm.unswappable_node = function (pos, node_list)
local _, node, original_node
original_node = minetest.env:get_node(pos).name
original_node = minetest.get_node(pos).name
if original_node ~= "air" and not minetest.registered_nodes[original_node] then
-- remnant unknown block
@ -55,7 +55,7 @@ end
nssm.drops = function(drop)
if drop then
drop:setvelocity({
drop:set_velocity({
x = math.random(-10, 10) / 9,
y = 5,
z = math.random(-10, 10) / 9,
@ -153,8 +153,8 @@ function digging_attack(
)
if self.attack and self.attack:is_player() then
local s = self.object:getpos()
local p = self.attack:getpos()
local s = self.object:get_pos()
local p = self.attack:get_pos()
local dir = vector.subtract(p,s)
dir = vector.normalize(dir)
@ -172,9 +172,9 @@ function digging_attack(
local pos_to_dig = posp
for i = 0,dim.y do -- from 0 to dy between mob and player altitude?
local target_node = minetest.env:get_node(pos_to_dig).name
local target_node = minetest.get_node(pos_to_dig).name
if not nssm.unswappable_node(pos_to_dig) then
local nodename = minetest.env:get_node(posp).name
local nodename = minetest.get_node(posp).name
local nodedef = minetest.registered_nodes[nodename]
if nodedef.groups and nodedef.groups[group] then
minetest.remove_node(pos_to_dig)
@ -202,11 +202,11 @@ local function safely_put_block(self, pos_under_mob, original_node, putting_bloc
minetest.registered_nodes[original_node].drawtype == "liquid"
or minetest.registered_nodes[original_node].drawtype == "flowingliquid"
) then
minetest.env:set_node(pos_under_mob, {name = putting_block})
minetest.set_node(pos_under_mob, {name = putting_block})
-- buildable to (snow, torch)
elseif minetest.registered_nodes[original_node].buildable_to then
minetest.env:set_node(pos_under_mob, {name = "air"})
minetest.set_node(pos_under_mob, {name = "air"})
minetest.add_item(pos_under_mob, {name = original_node})
end
@ -219,7 +219,7 @@ function putting_ability( --sets 'putting_block' under the mob, as well a
max_vel -- max velocity of the mob
)
local v = self.object:getvelocity()
local v = self.object:get_velocity()
local dx = 0
local dz = 0
@ -238,7 +238,7 @@ function putting_ability( --sets 'putting_block' under the mob, as well a
end
end
local pos_under_mob = self.object:getpos()
local pos_under_mob = self.object:get_pos()
local pos_under_frontof_mob
pos_under_mob.y=pos_under_mob.y - 1
@ -248,8 +248,8 @@ function putting_ability( --sets 'putting_block' under the mob, as well a
z = pos_under_mob.z + dz
}
local node_under_mob = minetest.env:get_node(pos_under_mob).name
local node_under_frontof_mob = minetest.env:get_node(pos_under_frontof_mob).name
local node_under_mob = minetest.get_node(pos_under_mob).name
local node_under_frontof_mob = minetest.get_node(pos_under_frontof_mob).name
local oldmetainf = {
minetest.get_meta(pos_under_mob):to_table(),
@ -266,16 +266,16 @@ function webber_ability( --puts randomly around the block defined as w_bl
radius --max distance the block can be put
)
local pos = self.object:getpos()
local pos = self.object:get_pos()
if (math.random(1,55)==1) then
local dx=math.random(1,radius)
local dz=math.random(1,radius)
--local p = {x=pos.x+dx, y=pos.y-1, z=pos.z+dz}
local t = {x=pos.x+dx, y=pos.y, z=pos.z+dz}
--local n = minetest.env:get_node(p).name
local k = minetest.env:get_node(t).name
--local n = minetest.get_node(p).name
local k = minetest.get_node(t).name
if k == "air" and not nssm.unswappable_node(t) then
minetest.env:set_node(t, {name=w_block})
minetest.set_node(t, {name=w_block})
end
end
end
@ -288,15 +288,15 @@ function midas_ability( --ability to transform every blocks it touches in
height --height of the mob
)
local v = self.object:getvelocity()
local pos = self.object:getpos()
local v = self.object:get_velocity()
local pos = self.object:get_pos()
--[[
if minetest.is_protected(pos, "") then
return
end
--]]
local max = 0
local yaw = (self.object:getyaw() + self.rotate) or 0
local yaw = (self.object:get_yaw() + self.rotate) or 0
local x = math.sin(yaw)*-1
local z = math.cos(yaw)
@ -323,10 +323,10 @@ function midas_ability( --ability to transform every blocks it touches in
for dy = -1, height do
for dz = k1, k do
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
local n = minetest.env:get_node(p).name
local n = minetest.get_node(p).name
if not nssm.unswappable_node(p, {"air"}) then
minetest.env:set_node(p, {name=m_block})
minetest.set_node(p, {name=m_block})
end
end
end
@ -449,7 +449,7 @@ local function eject_drops(drops, pos, radius)
if obj then
obj:get_luaentity().collect = true
obj:setacceleration({x = 0, y = -10, z = 0})
obj:setvelocity({x = math.random(-3, 3),
obj:set_velocity({x = math.random(-3, 3),
y = math.random(0, 10),
z = math.random(-3, 3)})
end
@ -494,7 +494,7 @@ end
local function entity_physics(pos, radius, drops)
local objs = minetest.get_objects_inside_radius(pos, radius)
for _, obj in pairs(objs) do
local obj_pos = obj:getpos()
local obj_pos = obj:get_pos()
local dist = math.max(1, vector.distance(pos, obj_pos))
local damage = (4 / dist) * radius
@ -527,8 +527,8 @@ local function entity_physics(pos, radius, drops)
end
if do_knockback then
local obj_vel = obj:getvelocity()
obj:setvelocity(calc_velocity(pos, obj_pos,
local obj_vel = obj:get_velocity()
obj:set_velocity(calc_velocity(pos, obj_pos,
obj_vel, radius * 10))
end
if do_damage then

View File

@ -174,7 +174,7 @@ minetest.register_node("nssm:pumpbomb", {
drop = "",
on_timer = function(pos, elapsed)
tnt_boom_nssm(pos, {damage_radius=4,radius=3,ignore_protection=false})
minetest.env:set_node(pos, {name="air"})
minetest.set_node(pos, {name="air"})
end,
})

View File

@ -70,8 +70,8 @@ nssm:register_mob("nssm:ant_queen", "Ant Queen", {
self.ant_queen_counter = 0
local counter = 0
local s = self.object:getpos()
local p = self.attack:getpos()
local s = self.object:get_pos()
local p = self.attack:get_pos()
p.y = p.y + 1.5
s.y = s.y + 1.5
@ -85,7 +85,7 @@ nssm:register_mob("nssm:ant_queen", "Ant Queen", {
end
local pos1 = {x=s.x+math.random(-3,3), y=s.y-1, z=s.z+math.random(-3,3)}
local objects = minetest.env:get_objects_inside_radius(s, 10)
local objects = minetest.get_objects_inside_radius(s, 10)
for _,obj in ipairs(objects) do
if (obj:get_luaentity() and obj:get_luaentity().name == "nssm:ant_soldier") then
counter = counter + 1
@ -93,7 +93,7 @@ nssm:register_mob("nssm:ant_queen", "Ant Queen", {
end
if ((pos1.x~=s.x) and (pos1.z~=s.z))
and (minetest.env:get_node(pos1).name == "air")
and (minetest.get_node(pos1).name == "air")
and (counter < 4)
then
explosion_particles(pos1, 1)

View File

@ -58,7 +58,7 @@ nssm:register_mob("nssm:larva", "Mantis Larva", {
if os.time() - self.metatimer >20 then
minetest.log("action",
"metatimer expired, metamorphosis! ")
local pos=self.object:getpos()
local pos=self.object:get_pos()
self.object:remove()
minetest.add_particlespawner({
amount = 200,

View File

@ -52,12 +52,12 @@ nssm:register_mob("nssm:lava_titan", "Lava Titan", {
shoot_offset = 0,
--[[
on_dist_attack = function(self, player)
local pos = player:getpos()
local pos = player:get_pos()
for dy=-1, 6, 1 do
for dx=-1, 1, 2 do
for dz=-1, 1, 2 do
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
local n = minetest.env:get_node(p).name
local n = minetest.get_node(p).name
if n~="default:lava_flowing" and not minetest.is_protected(p, "") then
minetest.set_node(p, {name="default:lava_flowing"})
end

View File

@ -84,7 +84,7 @@ nssm:register_mob("nssm:masticone", "Masticone", {
local chance = math.random(1,math.ceil(respawn_count * 1.5))
if chance == 1 then
local pos = {x=pos.x+math.random(-1,1), y=pos.y+0.5, z=pos.z+math.random(-1,1)}
local n = minetest.env:get_node(pos).name
local n = minetest.get_node(pos).name
if n == "air" then
minetest.add_entity(pos, "nssm:masticone")
end
@ -94,8 +94,8 @@ nssm:register_mob("nssm:masticone", "Masticone", {
end,
do_custom = function (self)
local pos = self.object:getpos()
local n = minetest.env:get_node(pos).name
local pos = self.object:get_pos()
local n = minetest.get_node(pos).name
if n == "default:lava_source" or n == "default:lava_flowing" then
self.object:set_hp(self.object:get_hp()-5)
@ -111,7 +111,7 @@ nssm:register_mob("nssm:masticone", "Masticone", {
if obj then
obj:setvelocity({
obj:set_velocity({
x = math.random(-1, 1),
y = 6,
z = math.random(-1, 1)

View File

@ -74,11 +74,11 @@ nssm:register_mob("nssm:mese_dragon", "Mese Dragon", {
self.timer = 0
self.attack_rip = self.attack_rip+1
local s = self.object:getpos()
local s = self.object:get_pos()
if minetest.is_protected(s, "") then
return
end
local p = self.attack:getpos()
local p = self.attack:get_pos()
p.y = p.y + 1.5
s.y = s.y + 1.5
@ -103,9 +103,9 @@ nssm:register_mob("nssm:mese_dragon", "Mese Dragon", {
for dx = -17,17 do
for dz= -17,17 do
local k = {x = s.x+dx, y=s.y+20, z=s.z+dz}
local n = minetest.env:get_node(k).name
local n = minetest.get_node(k).name
if n=="air" and math.random(1,23)==1 then
minetest.env:set_node(k, {name="nssm:mese_meteor"})
minetest.set_node(k, {name="nssm:mese_meteor"})
nodeupdate(k)
end
end

View File

@ -57,8 +57,8 @@ nssm:register_mob("nssm:mordain", "Mordain", {
self.mordain_timer = (self.mordain_timer or os.time())
if (os.time() - self.mordain_timer) > 1 then
self.mordain_timer = os.time()
local s = self.object:getpos()
local p = self.attack:getpos()
local s = self.object:get_pos()
local p = self.attack:get_pos()
mobs:set_animation(self, "punch")
@ -89,8 +89,8 @@ nssm:register_mob("nssm:mordain", "Mordain", {
for j = -3,3 do
ty = d.y + j
local current = minetest.env:get_node({x = d.x, y = ty, z = d.z}).name
local up = minetest.env:get_node({x = d.x, y = ty+1, z = d.z}).name
local current = minetest.get_node({x = d.x, y = ty, z = d.z}).name
local up = minetest.get_node({x = d.x, y = ty+1, z = d.z}).name
if up == "air" and current ~= "air" then
d.y = d.y + j+1.5
flag = 1
@ -106,8 +106,8 @@ nssm:register_mob("nssm:mordain", "Mordain", {
if dist>=2 then
for j = -3,3 do
ty = d.y + j
local current = minetest.env:get_node({x = d.x, y = ty, z = d.z}).name
local up = minetest.env:get_node({x = d.x, y = ty+1, z = d.z}).name
local current = minetest.get_node({x = d.x, y = ty, z = d.z}).name
local up = minetest.get_node({x = d.x, y = ty+1, z = d.z}).name
if up == "air" and current ~= "air" then
d.y = d.y + j+1.5
flag = 1

View File

@ -59,8 +59,8 @@ nssm:register_mob("nssm:morde", "Morde", {
if (os.time() - self.morde_timer) > 1 then
self.morde_timer = os.time()
local s = self.object:getpos()
local p = self.attack:getpos()
local s = self.object:get_pos()
local p = self.attack:get_pos()
mobs:set_animation(self, "punch")
@ -101,7 +101,7 @@ nssm:register_mob("nssm:morde", "Morde", {
end
end,
on_die = function(self)
local pos = self.object:getpos()
local pos = self.object:get_pos()
self.object:remove()
minetest.add_entity(pos, "nssm:mortick")
end,
@ -122,7 +122,7 @@ minetest.register_entity("nssm:mortick", {
self.mortick_timer = self.mortick_timer or os.time()
self.timer = self.timer or 0
self.timer = self.timer+dtime
local s = self.object:getpos()
local s = self.object:get_pos()
local s1 = {x=s.x, y = s.y-1, z = s.z}
--[[
@ -131,7 +131,7 @@ minetest.register_entity("nssm:mortick", {
end
]]
--The mortick dies when he finds himself in fire
local name = minetest.env:get_node(s1).name
local name = minetest.get_node(s1).name
if name == "fire:basic_flame" or
name == "fire:permanent_flame" or
name == "nssm:phoenix_fire" or
@ -145,7 +145,7 @@ minetest.register_entity("nssm:mortick", {
--Find player to attack:
self.attack = (self.attack or 0)
local objects = minetest.env:get_objects_inside_radius(s, 8)
local objects = minetest.get_objects_inside_radius(s, 8)
for _,obj in ipairs(objects) do
if (obj:is_player()) then
self.attack = obj
@ -154,7 +154,7 @@ minetest.register_entity("nssm:mortick", {
--If found a player follow him
if self.attack ~= 0 then
local p = self.attack:getpos()
local p = self.attack:get_pos()
local yawp = self.attack:get_look_horizontal()+math.pi/2
local pi = math.pi
@ -166,7 +166,7 @@ minetest.register_entity("nssm:mortick", {
local yaws = yawp +pi
--stay attached to players back:
self.object:setvelocity(v)
self.object:set_velocity(v)
self.object:setyaw(yaws)
--damage player every ten seconds:

View File

@ -87,8 +87,8 @@ nssm:register_mob("nssm:morgut", "Morgut", {
self.dir = (self.dir or 0)
if (os.time() - self.morgut_timer) > 1 then
if self.attack then
local s = self.object:getpos()
local p = self.attack:getpos()
local s = self.object:get_pos()
local p = self.attack:get_pos()
mobs:set_animation(self, "punch")
local m = 2
@ -167,14 +167,14 @@ nssm:register_mob("nssm:morgut", "Morgut", {
end
end,
on_die = function(self)
local pos = self.object:getpos()
local pos = self.object:get_pos()
if (self.inventory ~= nil) then
local elem
for i = 1,32 do
if self.inventory[i].num~=0 then
local items = ItemStack(self.inventory[i].name.." "..self.inventory[i].num)
local obj = minetest.add_item(pos, items)
obj:setvelocity({
obj:set_velocity({
x = math.random(-1, 1),
y = 6,
z = math.random(-1, 1)

View File

@ -89,8 +89,8 @@ nssm:register_mob("nssm:morlu", "Morlu", {
self.dir = (self.dir or 0)
if (os.time() - self.morlu_timer) > 1 then
local s = self.object:getpos()
local p = self.attack:getpos()
local s = self.object:get_pos()
local p = self.attack:get_pos()
mobs:set_animation(self, "punch")
local m = 1
@ -201,8 +201,8 @@ nssm:register_mob("nssm:morlu", "Morlu", {
end
end
else
local s = self.object:getpos()
local p = self.attack:getpos()
local s = self.object:get_pos()
local p = self.attack:get_pos()
mobs:set_animation(self, "punch")
@ -225,13 +225,13 @@ nssm:register_mob("nssm:morlu", "Morlu", {
end
end,
on_die = function(self)
local pos = self.object:getpos()
local pos = self.object:get_pos()
if (self.inventory ~= nil) then
if self.invnum > 0 then
for i=1,self.invnum do
local items = ItemStack(self.inventory[i].name.." 1")
local obj = minetest.add_item(pos, items)
obj:setvelocity({
obj:set_velocity({
x = math.random(-1, 1),
y = 6,
z = math.random(-1, 1)

View File

@ -14,7 +14,7 @@ local function initiation_timeout(self)
if os.time() - self.stop_timer > first_hit_timelimit then
local shout_distance = 64
local message = "Summon me ... when you are ready to fight ..."
local pos = self.object:getpos()
local pos = self.object:get_pos()
local objs = minetest.get_objects_inside_radius(pos, shout_distance)
for k, obj in pairs(objs) do
@ -91,8 +91,8 @@ mobs:register_mob("nssm:morvalar", {
self.dir = (self.dir or 0)
if (os.time() - self.morvalar_timer) > 2 then
local s = self.object:getpos()
local p = self.attack:getpos()
local s = self.object:get_pos()
local p = self.attack:get_pos()
mobs:set_animation(self, "punch")
local m = 1
@ -168,8 +168,8 @@ mobs:register_mob("nssm:morvalar", {
end
end
else
local s = self.object:getpos()
local p = self.attack:getpos()
local s = self.object:get_pos()
local p = self.attack:get_pos()
mobs:set_animation(self, "punch")
@ -192,7 +192,7 @@ mobs:register_mob("nssm:morvalar", {
end
end,
on_die = function(self)
local pos = self.object:getpos()
local pos = self.object:get_pos()
self.object:remove()
add_entity_and_particles("nssm:morvalar6", pos, "morparticle.png", 10)
end,
@ -252,8 +252,8 @@ mobs:register_mob("nssm:morvalar6", {
self.dir = (self.dir or 0)
if (os.time() - self.morvalar6_timer) > 1 then
local s = self.object:getpos()
local p = self.attack:getpos()
local s = self.object:get_pos()
local p = self.attack:get_pos()
mobs:set_animation(self, "punch")
local m = 2
@ -312,7 +312,7 @@ mobs:register_mob("nssm:morvalar6", {
end
end,
on_die = function(self)
local pos = self.object:getpos()
local pos = self.object:get_pos()
self.object:remove()
add_entity_and_particles("nssm:morvalar5", pos, "morparticle.png", 10)
end,
@ -373,8 +373,8 @@ mobs:register_mob("nssm:morvalar5", {
self.dir = (self.dir or 0)
if (os.time() - self.morvalar5_timer) > 2 then
local s = self.object:getpos()
local p = self.attack:getpos()
local s = self.object:get_pos()
local p = self.attack:get_pos()
minetest.after(2, function(self)
mobs:set_animation(self, "punch")
tnt_boom_nssm(p, {damage_radius=6,radius=5,ignore_protection=false})
@ -383,7 +383,7 @@ mobs:register_mob("nssm:morvalar5", {
end
end,
on_die = function(self)
local pos = self.object:getpos()
local pos = self.object:get_pos()
self.object:remove()
add_entity_and_particles("nssm:morvalar4", pos, "morparticle.png", 10)
end,
@ -442,8 +442,8 @@ mobs:register_mob("nssm:morvalar4", {
self.morvalar4_timer = (self.morvalar4_timer or os.time())
if (os.time() - self.morvalar4_timer) > 1 then
self.morvalar4_timer = os.time()
local s = self.object:getpos()
local p = self.attack:getpos()
local s = self.object:get_pos()
local p = self.attack:get_pos()
mobs:set_animation(self, "punch")
@ -474,8 +474,8 @@ mobs:register_mob("nssm:morvalar4", {
for j = -3,3 do
ty = d.y + j
local current = minetest.env:get_node({x = d.x, y = ty, z = d.z}).name
local up = minetest.env:get_node({x = d.x, y = ty+1, z = d.z}).name
local current = minetest.get_node({x = d.x, y = ty, z = d.z}).name
local up = minetest.get_node({x = d.x, y = ty+1, z = d.z}).name
if up == "air" and current ~= "air" then
d.y = d.y + j+1.5
flag = 1
@ -491,8 +491,8 @@ mobs:register_mob("nssm:morvalar4", {
if dist>=2 then
for j = -3,3 do
ty = d.y + j
local current = minetest.env:get_node({x = d.x, y = ty, z = d.z}).name
local up = minetest.env:get_node({x = d.x, y = ty+1, z = d.z}).name
local current = minetest.get_node({x = d.x, y = ty, z = d.z}).name
local up = minetest.get_node({x = d.x, y = ty+1, z = d.z}).name
if up == "air" and current ~= "air" then
d.y = d.y + j+1.5
flag = 1
@ -506,7 +506,7 @@ mobs:register_mob("nssm:morvalar4", {
end
end,
on_die = function(self)
local pos = self.object:getpos()
local pos = self.object:get_pos()
self.object:remove()
add_entity_and_particles("nssm:morvalar3", pos, "morparticle.png", 10)
end,
@ -567,7 +567,7 @@ mobs:register_mob("nssm:morvalar3", {
initiation_timeout(self)
end,
on_die = function(self)
local pos = self.object:getpos()
local pos = self.object:get_pos()
self.object:remove()
add_entity_and_particles("nssm:morvalar2", pos, "morparticle.png", 10)
end,
@ -625,11 +625,11 @@ mobs:register_mob("nssm:morvalar2", {
self.morvalar2_timer = (self.morvalar2_timer or os.time())
if (os.time() - self.morvalar2_timer) > 1 then
self.morvalar2_timer = os.time()
local s = self.object:getpos()
local p = self.attack:getpos()
local s = self.object:get_pos()
local p = self.attack:get_pos()
local counter = 0
local objects = minetest.env:get_objects_inside_radius(s, 7)
local objects = minetest.get_objects_inside_radius(s, 7)
for _,obj in ipairs(objects) do
if obj:get_luaentity() then
local name = obj:get_luaentity().name
@ -667,7 +667,7 @@ mobs:register_mob("nssm:morvalar2", {
end
end,
on_die = function(self)
local pos = self.object:getpos()
local pos = self.object:get_pos()
self.object:remove()
add_entity_and_particles("nssm:morvalar1", pos, "morparticle.png", 10)
end,
@ -726,8 +726,8 @@ mobs:register_mob("nssm:morvalar1", {
if (os.time() - self.morvalar1_timer) > 3 then
self.morvalar1_timer = os.time()
local s = self.object:getpos()
local p = self.attack:getpos()
local s = self.object:get_pos()
local p = self.attack:get_pos()
mobs:set_animation(self, "punch")
@ -751,7 +751,7 @@ mobs:register_mob("nssm:morvalar1", {
end
end,
on_die = function(self)
local pos = self.object:getpos()
local pos = self.object:get_pos()
self.object:remove()
add_entity_and_particles("nssm:morvalar0", pos, "morparticle.png", 10)
end,
@ -814,13 +814,13 @@ nssm:register_mob("nssm:morvalar0", "Mor Valar", {
self.morvalar1_timer = os.time()
minetest.sound_play("kamehameha", {
pos = self.object:getpos(),
pos = self.object:get_pos(),
gain = 1.0,
})
minetest.after(1, function()
local s = self.object:getpos()
local p = self.attack:getpos()
local s = self.object:get_pos()
local p = self.attack:get_pos()
mobs:set_animation(self, "punch")
@ -830,12 +830,12 @@ nssm:register_mob("nssm:morvalar0", "Mor Valar", {
s.y = s.y+0.5
p.y = p.y+0.9
local dir = {x=(p.x-s.x)*m, y=(p.y-s.y)*m, z=(p.z-s.z)*m} --direction of the kamehameha
obj:setvelocity(dir)
obj:set_velocity(dir)
end)
end
end,
on_die = function(self)
local pos = self.object:getpos()
local pos = self.object:get_pos()
self.object:remove()
minetest.add_particlespawner({
@ -861,7 +861,7 @@ nssm:register_mob("nssm:morvalar0", "Mor Valar", {
minetest.register_entity("nssm:kamehameha_bad", {
textures = {"kamehameha.png"},
on_step = function(self, dtime)
local pos = self.object:getpos();
local pos = self.object:get_pos();
if self.timer == 0 then
self.timer = os.time()
end
@ -871,7 +871,7 @@ minetest.register_entity("nssm:kamehameha_bad", {
end
-- Damage things around the entity
local objects = minetest.env:get_objects_inside_radius(pos, 2)
local objects = minetest.get_objects_inside_radius(pos, 2)
for _,obj in ipairs(objects) do
if obj:is_player() then
--minetest.chat_send_all("Dentro il raggio grande")
@ -891,7 +891,7 @@ minetest.register_entity("nssm:kamehameha_bad", {
end
-- Explode things near to the entity
local objects = minetest.env:get_objects_inside_radius(pos, 1)
local objects = minetest.get_objects_inside_radius(pos, 1)
for _,obj in ipairs(objects) do
if obj:is_player() then
tnt_boom_nssm(pos, {damage_radius=6,radius=5})

View File

@ -62,8 +62,8 @@ nssm:register_mob("nssm:morvy", "Morvy", {
self.morvy_counter = 0
local counter = 0
local s = self.object:getpos()
local p = self.attack:getpos()
local s = self.object:get_pos()
local p = self.attack:get_pos()
p.y = p.y + 1.5
s.y = s.y + 1.5
@ -77,14 +77,14 @@ nssm:register_mob("nssm:morvy", "Morvy", {
end]]
local pos1 = {x=s.x+math.random(-0.5,0.5), y=s.y+0.2, z=s.z+math.random(-0.5,0.5)}
local objects = minetest.env:get_objects_inside_radius(s, 10)
local objects = minetest.get_objects_inside_radius(s, 10)
for _,obj in ipairs(objects) do
if (obj:get_luaentity() and ((obj:get_luaentity().name == "nssm:morbat1") or (obj:get_luaentity().name == "nssm:morbat2") or (obj:get_luaentity().name == "nssm:morbat3"))) then
counter = counter + 1
end
end
if (minetest.env:get_node(pos1).name == "air")
if (minetest.get_node(pos1).name == "air")
and (counter < 5)
then
local bat

View File

@ -60,12 +60,12 @@ nssm:register_mob("nssm:morwa", "Morwa", {
shoot_end=226,
},
do_custom = function (self)
local pos = self.object:getpos()
local pos = self.object:get_pos()
local light = minetest.get_node_light(pos)
--minetest.chat_send_all("Luce: "..light)
if (light < 8) then
self.object:remove()
minetest.env:set_node(pos, {name="nssm:morwa_statue"})
minetest.set_node(pos, {name="nssm:morwa_statue"})
end
end,
})

View File

@ -65,8 +65,8 @@ nssm:register_mob("nssm:pumpking", "PumpKing", {
if (os.time() - self.pumpking_timer) >3 then
mobs:set_animation(self, "punch")
self.pumpking_timer = os.time()
local s = self.object:getpos()
local p = self.attack:getpos()
local s = self.object:get_pos()
local p = self.attack:get_pos()
p.y = p.y + 1.5
s.y = s.y + 1.5
if minetest.line_of_sight(p, s) == true then

View File

@ -1 +1,3 @@
name = nssm
depends = default, mobs, fire, tnt
optional_depends = farming, 3d_armor, shields, itemdrop, nyancat

View File

@ -7,12 +7,12 @@ function nssm_register_throwitem(name, descr, def)
--weapons_shot(itemstack, placer, pointed_thing, def.velocity, name)
local velocity = 15
local dir = placer:get_look_dir();
local playerpos = placer:getpos();
local playerpos = placer:get_pos();
posthrow = playerpos
local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "nssm:"..name.."_bomb_flying")
local obj = minetest.add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "nssm:"..name.."_bomb_flying")
local vec = {x=dir.x*velocity,y=dir.y*velocity,z=dir.z*velocity}
local acc = {x=0, y=-9.8, z=0}
obj:setvelocity(vec)
obj:set_velocity(vec)
obj:setacceleration(acc)
itemstack:take_item()
return itemstack
@ -24,7 +24,7 @@ function nssm_register_throwitem(name, descr, def)
hp_max = 20,
collisionbox = {-0.1,-0.1,-0.1, 0.1,0.1,0.1},
on_step = function(self, dtime)
local pos = self.object:getpos()
local pos = self.object:get_pos()
local node = minetest.get_node(pos)
local n = node.name
if n ~= "air" then
@ -555,11 +555,11 @@ function nssm_register_throwegg(name, descr, def)
--weapons_shot(itemstack, placer, pointed_thing, def.velocity, name)
local velocity = 15
local dir = placer:get_look_dir();
local playerpos = placer:getpos();
local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "nssm:"..name.."_bomb_flying")
local playerpos = placer:get_pos();
local obj = minetest.add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "nssm:"..name.."_bomb_flying")
local vec = {x=dir.x*velocity,y=dir.y*velocity,z=dir.z*velocity}
local acc = {x=0, y=-9.8, z=0}
obj:setvelocity(vec)
obj:set_velocity(vec)
obj:setacceleration(acc)
itemstack:take_item()
return itemstack
@ -569,7 +569,7 @@ function nssm_register_throwegg(name, descr, def)
minetest.register_entity("nssm:"..name.."_bomb_flying",{
textures = {"evocation_bomb.png^"..name.."_egg.png"},
on_step = function(self, dtime)
local pos = self.object:getpos()
local pos = self.object:get_pos()
local node = minetest.get_node(pos)
local n = node.name
if n ~= "air" then

View File

@ -160,7 +160,7 @@ minetest.register_tool("nssm:axe_of_pride", {
damage_groups = {fleshy=16},
},
on_drop = function(itemstack, dropper, pos)
local objects = minetest.env:get_objects_inside_radius(pos, 10)
local objects = minetest.get_objects_inside_radius(pos, 10)
local dropfuel = {name="nssm:energy_globe", description="energy sphere", quantity=1}
local part = 0
@ -198,8 +198,8 @@ minetest.register_tool("nssm:axe_of_pride", {
end
if part == 1 then
local s = dropper:getpos()
local p = obj:getpos()
local s = dropper:get_pos()
local p = obj:get_pos()
local m = 2
minetest.add_particlespawner({
@ -240,10 +240,10 @@ minetest.register_tool("nssm:gratuitousness_battleaxe", {
},
on_drop = function(itemstack, dropper, pos)
local epicenter_distance = 10
local objects = minetest.env:get_objects_inside_radius(pos, 10)
local objects = minetest.get_objects_inside_radius(pos, 10)
local flag = 0
local vec = dropper:get_look_dir()
local pos = dropper:getpos()
local pos = dropper:get_pos()
--vec.y = 0
local dropfuel = {name = "nssm:energy_globe", description = "energy globe", quantity = 1}
@ -278,7 +278,7 @@ minetest.register_tool("nssm:sword_of_eagerness", {
damage_groups = {fleshy=14},
},
on_drop = function(itemstack, dropper, pos)
local objects = minetest.env:get_objects_inside_radius(pos, 10)
local objects = minetest.get_objects_inside_radius(pos, 10)
local flag = 0
local dropfuel = {name = "nssm:energy_globe", description = "energy globe", quantity = 1}
@ -291,7 +291,7 @@ minetest.register_tool("nssm:sword_of_eagerness", {
if not find_dropfuel(dropper, dropfuel) then
return
else
local pos = obj:getpos()
local pos = obj:get_pos()
pos.y = pos.y + 15
if (obj:is_player()) then
if (obj:get_player_name()~=dropper:get_player_name()) then
@ -353,7 +353,7 @@ minetest.register_tool("nssm:falchion_of_eagerness", {
},
on_drop = function(itemstack, dropper, pos)
local vec = dropper:get_look_dir()
local pos_destination = dropper:getpos()
local pos_destination = dropper:get_pos()
--vec.y = 0
local dropfuel = {name = "nssm:life_energy", description = "life energy", quantity = 5}
@ -375,7 +375,7 @@ minetest.register_tool("nssm:falchion_of_eagerness", {
return
else
local pos_particles = dropper:getpos()
local pos_particles = dropper:get_pos()
minetest.add_particlespawner({
amount = 25,
time = 0.3,
@ -444,7 +444,7 @@ minetest.register_tool("nssm:sword_of_envy", {
damage_groups = {fleshy=14},
},
on_drop = function(itemstack, dropper, pos)
local objects = minetest.env:get_objects_inside_radius(pos, 10)
local objects = minetest.get_objects_inside_radius(pos, 10)
local flag = 0
local dropfuel = {name = "nssm:energy_globe", description = "energy globe", quantity = 1}
@ -510,7 +510,7 @@ minetest.register_tool("nssm:sword_of_gluttony", {
damage_groups = {fleshy=14},
},
on_drop = function(itemstack, dropper, pos)
local objects = minetest.env:get_objects_inside_radius(pos, 10)
local objects = minetest.get_objects_inside_radius(pos, 10)
local flag = 0
local dropfuel = {name = "nssm:energy_globe", description = "energy globe", quantity = 1}
@ -535,7 +535,7 @@ minetest.register_tool("nssm:sword_of_gluttony", {
else
if (obj:get_luaentity().health) then
if obj:get_luaentity().health <= 32 then
local pos = obj:getpos()
local pos = obj:get_pos()
obj:remove()
-- We don't use check_for_death, as that would cause it to put regular drops
@ -550,8 +550,8 @@ minetest.register_tool("nssm:sword_of_gluttony", {
nssm.drops(drop)
end
local s = obj:getpos()
local p = dropper:getpos()
local s = obj:get_pos()
local p = dropper:get_pos()
local m = 3
minetest.add_particlespawner({
@ -597,7 +597,7 @@ minetest.register_tool("nssm:death_scythe", {
},
groups ={not_in_creative_inventory=1},
on_drop = function(itemstack, dropper, pos)
local objects = minetest.env:get_objects_inside_radius(pos, 10)
local objects = minetest.get_objects_inside_radius(pos, 10)
local flag = 0
dropper:set_hp(math.ceil(dropper:get_hp()/2) )
@ -623,7 +623,7 @@ minetest.register_tool("nssm:death_scythe", {
drop = minetest.add_item(pos, "nssm:energy_globe 1")
if drop then
drop:setvelocity({
drop:set_velocity({
x = math.random(-10, 10) / 9,
y = 5,
z = math.random(-10, 10) / 9,
@ -632,7 +632,7 @@ minetest.register_tool("nssm:death_scythe", {
end
end
end
local pos = dropper:getpos()
local pos = dropper:get_pos()
local vec = {x=5,y=5,z=5}
local poslist = minetest.find_nodes_in_area(vector.subtract(pos, vec), vector.add(pos,vec), "default:dirt_with_grass")
for _,v in pairs(poslist) do

View File

@ -14,7 +14,7 @@ local tail_replacement = "nssm:light_energy"
local function drop_rainbow_staff(itemstack, dropper, pos)
local extents = 16
local airnodes = minetest.env:find_nodes_in_area(
local airnodes = minetest.find_nodes_in_area(
{x=pos.x-extents , y=pos.y-extents, z=pos.z-extents},
{x=pos.x+extents , y=pos.y+extents, z=pos.z+extents},
{"air"}
@ -44,7 +44,7 @@ if not nssm.server_rainbow_staff then
on_step = function (self, pos, node, dtime)
self.timer = self.timer or os.time()
local pos = self.object:getpos()
local pos = self.object:get_pos()
if nssm.unswappable_node(pos) then
return
end
@ -74,10 +74,10 @@ if not nssm.server_rainbow_staff then
groups = {not_in_creative_inventory=1,},
on_use = function(itemstack, placer, pointed_thing)
local dir = placer:get_look_dir();
local playerpos = placer:getpos();
local playerpos = placer:get_pos();
local obj = minetest.add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "nssm:rainbow")
local vec = {x=dir.x*6,y=dir.y*6,z=dir.z*6}
obj:setvelocity(vec)
obj:set_velocity(vec)
return itemstack
end,
--on_drop = drop_rainbow_staff,

View File

@ -50,11 +50,11 @@ local function spears_shot(itemstack, player)
end
local drag = base_drag * statmodifier
local playerpos = player:getpos()
local playerpos = player:get_pos()
local obj = minetest.add_entity({x=playerpos.x,y=playerpos.y+1.5,z=playerpos.z}, spear)
local dir = player:get_look_dir()
obj:setvelocity({x=dir.x*speed, y=dir.y*speed, z=dir.z*speed})
obj:set_velocity({x=dir.x*speed, y=dir.y*speed, z=dir.z*speed})
obj:setacceleration({x=-dir.x*drag, y=-gravity, z=-dir.z*drag})
obj:setyaw(player:get_look_horizontal()+(math.pi*1.5))
minetest.sound_play("spears_sound", {pos=playerpos})
@ -99,7 +99,7 @@ local function spears_set_entity(kind, eq, toughness, breadth)
SPEAR_ENTITY.on_step = function(self, dtime)
self.timer = self.timer+dtime
local pos = self.object:getpos()
local pos = self.object:get_pos()
local node = minetest.get_node(pos)
if not self.wear then
@ -127,7 +127,7 @@ local function spears_set_entity(kind, eq, toughness, breadth)
if obj:get_luaentity() ~= nil then
if obj:get_luaentity().name ~= spearentityname and obj:get_luaentity().name ~= "__builtin:item" then
if not (obj:is_player() and obj:get_luaentity().shooter:get_player_name() == obj:get_player_name() ) then
local speed = vector.length(self.object:getvelocity()) / statmodifier
local speed = vector.length(self.object:get_velocity()) / statmodifier
local damage = (speed + eq)^1.12-20
obj:punch(self.object, 1.0, {

View File

@ -8,10 +8,10 @@ local default_dir = {
--Function used to shoot:
local function weapons_shot(itemstack, placer, pointed_thing, velocity, name)
local dir = placer:get_look_dir();
local playerpos = placer:getpos();
local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "nssm:"..name)
local playerpos = placer:get_pos();
local obj = minetest.add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "nssm:"..name)
local vec = {x=dir.x*velocity,y=dir.y*velocity,z=dir.z*velocity}
obj:setvelocity(vec)
obj:set_velocity(vec)
return itemstack
end
@ -24,7 +24,7 @@ end
local function activate_balls(pos)
local radius = 50
local objects = minetest.env:get_objects_inside_radius(pos, radius)
local objects = minetest.get_objects_inside_radius(pos, radius)
for _,obj in ipairs(objects) do
if (obj:get_luaentity() and obj:get_luaentity().name == "nssm:hellzone_grenade") then
obj:get_luaentity().move = 1
@ -39,7 +39,7 @@ local function search_on_step2(
radius, --radius in which look for entities to follow
vel) --velocity of the projectile
local pos = self.object:getpos()
local pos = self.object:get_pos()
--Disappear after a certain time
if self.life_time == 0 then
@ -51,7 +51,7 @@ local function search_on_step2(
end
--Look for an entity to follow
local objects = minetest.env:get_objects_inside_radius(pos, radius)
local objects = minetest.get_objects_inside_radius(pos, radius)
local min_dist = 100
local obj_min = nil
local obj_p = nil
@ -59,7 +59,7 @@ local function search_on_step2(
for _,obj in ipairs(objects) do
if (obj:is_player()) then
elseif (obj:get_luaentity() and obj:get_luaentity().name ~= "__builtin:item" and obj:get_luaentity().name ~= self.object:get_luaentity().name) then
obj_p = obj:getpos()
obj_p = obj:get_pos()
local vec = {x=obj_p.x-pos.x, y=obj_p.y-pos.y, z=obj_p.z-pos.z}
local dist = (vec.x^2+vec.y^2+vec.z^2)^0.5
if (dist<min_dist) then
@ -93,19 +93,19 @@ local function search_on_step2(
vec_min.x = (vec_min.x/max_diff)*vel
vec_min.y = (vec_min.y/max_diff)*vel
vec_min.z = (vec_min.z/max_diff)*vel
obj_p = obj_min:getpos()
obj_p = obj_min:get_pos()
if min_dist <=8 and self.move==0 then
self.object:setvelocity({x=0, y=0, z=0})
self.object:set_velocity({x=0, y=0, z=0})
--hit(pos,self)
elseif min_dist<=1 and self.move==1 then
hit(pos,self)
else
self.object:setvelocity(vec_min)
self.object:set_velocity(vec_min)
end
end
local n = minetest.env:get_node(pos).name
local n = minetest.get_node(pos).name
if n ~= "air" and n ~= "default:water_source" and n ~= "default:water_flowing" then
hit(pos,self)
end
@ -120,7 +120,7 @@ local function search_on_step(
vel) --velocity of the projectile
local pos = self.object:getpos()
local pos = self.object:get_pos()
--Disappear after a certain time
if self.life_time == 0 then
@ -133,7 +133,7 @@ local function search_on_step(
--Look for an entity to follow
local objects = minetest.env:get_objects_inside_radius(pos, radius)
local objects = minetest.get_objects_inside_radius(pos, radius)
local min_dist = 100
local obj_min = nil
local obj_p = nil
@ -141,7 +141,7 @@ local function search_on_step(
for _,obj in ipairs(objects) do
if (obj:is_player()) then
elseif (obj:get_luaentity() and obj:get_luaentity().name ~= "__builtin:item" and obj:get_luaentity().name ~= self.object:get_luaentity().name) then
obj_p = obj:getpos()
obj_p = obj:get_pos()
local vec = {x=obj_p.x-pos.x, y=obj_p.y-pos.y, z=obj_p.z-pos.z}
local dist = (vec.x^2+vec.y^2+vec.z^2)^0.5
if (dist<min_dist) then
@ -175,17 +175,17 @@ local function search_on_step(
vec_min.x = (vec_min.x/max_diff)*vel
vec_min.y = (vec_min.y/max_diff)*vel
vec_min.z = (vec_min.z/max_diff)*vel
obj_p = obj_min:getpos()
obj_p = obj_min:get_pos()
if min_dist < 1 then
local node = node_ok(pos).name
self.hit_node(self, pos, node)
self.object:remove()
return
else
self.object:setvelocity(vec_min)
self.object:set_velocity(vec_min)
end
end
local n = minetest.env:get_node(pos).name
local n = minetest.get_node(pos).name
if n ~= "air" and n ~= "default:water_source" and n ~= "default:water_flowing" then
local node = node_ok(pos).name
self.hit_node(self, pos, node)
@ -205,7 +205,7 @@ local function default_on_step(
vel) --velocity of the projectile
local pos = self.object:getpos()
local pos = self.object:get_pos()
if self.life_time == 0 then
self.life_time = os.time()
@ -223,7 +223,7 @@ local function default_on_step(
--minetest.chat_send_all("Timer: "..self.timer)
--while going around it damages entities
local objects = minetest.env:get_objects_inside_radius(pos, 2)
local objects = minetest.get_objects_inside_radius(pos, 2)
if self.timer > 0.1 then
self.timer = 0
for _,obj in ipairs(objects) do
@ -244,14 +244,14 @@ local function default_on_step(
end
end
local n = minetest.env:get_node(pos).name
local n = minetest.get_node(pos).name
if n==not_transparent or minetest.get_item_group(n, not_transparent)==1 then
local node = node_ok(pos).name
self.hit_node(self, pos, node)
self.object:remove()
return
else
local vec = self.object:getvelocity()
local vec = self.object:get_velocity()
local c=vel/10
--calculate how many blocks around need to be removed
local max = 0
@ -300,7 +300,7 @@ local function default_on_step(
for dz = -k,k do
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
if not minetest.is_protected(p, "") or not minetest.get_item_group(n, "unbreakable") == 1 then
minetest.env:remove_node(p)
minetest.remove_node(p)
end
end
end
@ -406,7 +406,7 @@ nssm_register_weapon("hellzone_grenade", {
end,
on_drop = function(itemstack, user, pointed_thing)
local pos = user:getpos()
local pos = user:get_pos()
activate_balls(pos)
end,
material = "default:mese",