1
0
mirror of https://github.com/sys4-fr/server-nalc.git synced 2025-01-12 11:00:25 +01:00

avoid lag if full chest, limit items to 50, remove others

This commit is contained in:
crabman77 2016-03-16 12:17:01 +01:00
parent 2e6ec485b0
commit 9775af22f3

View File

@ -87,9 +87,14 @@ local tube_inject_item = pipeworks.tube_inject_item
local get_objects_inside_radius = minetest.get_objects_inside_radius
local function vacuum(pos, radius)
radius = radius + 0.5
local max_items = 0
for _, object in pairs(get_objects_inside_radius(pos, sqrt_3 * radius)) do
local lua_entity = object:get_luaentity()
if not object:is_player() and lua_entity and lua_entity.name == "__builtin:item" then
max_items = max_items + 1
if max_items > 50 then
object:remove()
else
local obj_pos = object:getpos()
local x1, y1, z1 = pos.x, pos.y, pos.z
local x2, y2, z2 = obj_pos.x, obj_pos.y, obj_pos.z
@ -106,6 +111,7 @@ local function vacuum(pos, radius)
end
end
end
end
minetest.register_abm({nodenames = {"group:vacuum_tube"},
interval = 1,