forked from VoxeLibre/VoxeLibre
Fix undefined luaentity crash.
* Add nil check to get_luaentity() access. * Cache get_luaentity() call in local var.
This commit is contained in:
parent
3dd4eec4e8
commit
46ee5aaa59
|
@ -222,8 +222,8 @@ local collision = function(self)
|
||||||
|
|
||||||
for _,object in pairs(minetest.get_objects_inside_radius(pos, width)) do
|
for _,object in pairs(minetest.get_objects_inside_radius(pos, width)) do
|
||||||
|
|
||||||
if object:is_player()
|
local ent = object:get_luaentity()
|
||||||
or (object:get_luaentity()._cmi_is_mob == true and object ~= self.object) then
|
if object:is_player() or (ent and ent._cmi_is_mob and object ~= self.object) then
|
||||||
|
|
||||||
local pos2 = object:get_pos()
|
local pos2 = object:get_pos()
|
||||||
local vec = {x = pos.x - pos2.x, z = pos.z - pos2.z}
|
local vec = {x = pos.x - pos2.x, z = pos.z - pos2.z}
|
||||||
|
|
|
@ -35,8 +35,8 @@ local function player_collision(player)
|
||||||
|
|
||||||
for _,object in pairs(minetest.get_objects_inside_radius(pos, width)) do
|
for _,object in pairs(minetest.get_objects_inside_radius(pos, width)) do
|
||||||
|
|
||||||
if object and (object:is_player()
|
local ent = object:get_luaentity()
|
||||||
or (object:get_luaentity()._cmi_is_mob == true and object ~= player)) then
|
if (object:is_player() or (ent and ent._cmi_is_mob and object ~= player)) then
|
||||||
|
|
||||||
local pos2 = object:get_pos()
|
local pos2 = object:get_pos()
|
||||||
local vec = {x = pos.x - pos2.x, z = pos.z - pos2.z}
|
local vec = {x = pos.x - pos2.x, z = pos.z - pos2.z}
|
||||||
|
|
Loading…
Reference in New Issue