Mobs: Move rp_mobs.scan_environment function

This commit is contained in:
Wuzzy 2024-02-23 21:51:04 +01:00
parent 0048d27e44
commit b4f41dbef4
2 changed files with 15 additions and 17 deletions

View File

@ -426,22 +426,6 @@ rp_mobs.add_microtask_to_task = function(self, microtask, task)
return task.microTasks:append(microtask)
end
rp_mobs.scan_environment = function(self)
local pos = self.object:get_pos()
local props = self.object:get_properties()
if not props then
return
end
local yoff = props.collisionbox[2] + (props.collisionbox[5] - props.collisionbox[2]) / 2
pos = vector.offset(pos, 0, yoff, 0)
local cpos = vector.round(pos)
if (not self._env_lastpos) or (not vector.equals(cpos, self._env_lastpos)) then
self._env_lastpos = cpos
self._env_node = minetest.get_node(pos)
self._env_node_floor = minetest.get_node(vector.offset(pos, 0, -1, 0))
end
end
rp_mobs.handle_tasks = function(self, dtime, moveresult)
if not self._task_queues then
minetest.log("error", "[rp_mobs] rp_mobs.handle_tasks called before tasks were initialized!")

View File

@ -9,7 +9,21 @@ local REBREATH_TIME = 0.5
-- Minimum Y fall height before starting to take fall damage
local FALL_DAMAGE_HEIGHT = 5
function rp_mobs.scan_environment(self)
local pos = self.object:get_pos()
local props = self.object:get_properties()
if not props then
return
end
local yoff = props.collisionbox[2] + (props.collisionbox[5] - props.collisionbox[2]) / 2
pos = vector.offset(pos, 0, yoff, 0)
local cpos = vector.round(pos)
if (not self._env_lastpos) or (not vector.equals(cpos, self._env_lastpos)) then
self._env_lastpos = cpos
self._env_node = minetest.get_node(pos)
self._env_node_floor = minetest.get_node(vector.offset(pos, 0, -1, 0))
end
end
function rp_mobs.init_breath(self, can_drown, def)
if self._can_drown ~= nil then