Untested but perhaps this shall work.
This commit is contained in:
parent
c359a92d45
commit
fd4316b844
|
@ -463,10 +463,11 @@ end
|
|||
-- when a new machine is created, add it to the list of filters
|
||||
-- on whichever chunk it is on
|
||||
function onEntityCreated(event)
|
||||
if isAirFilterMachine(event.created_entity) then
|
||||
local chunkPos = positionToChunk(event.created_entity.position)
|
||||
local chunk = getFilteredChunk(event.created_entity.surface, chunkPos.x, chunkPos.y)
|
||||
chunk:addFilter(event.created_entity)
|
||||
local entity = event.created_entity or event.entity
|
||||
if isAirFilterMachine(entity) then
|
||||
local chunkPos = positionToChunk(entity.position)
|
||||
local chunk = getFilteredChunk(entity.surface, chunkPos.x, chunkPos.y)
|
||||
chunk:addFilter(entity)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -536,8 +537,8 @@ function preEntityRemoved(event)
|
|||
end
|
||||
end
|
||||
|
||||
-- On entity died has no pre version -> call onEntityRemoved manually
|
||||
if event.name == defines.events.on_entity_died then
|
||||
-- On entity died and script_raised_destroy have no pre version -> call onEntityRemoved manually
|
||||
if event.name == defines.events.on_entity_died or event.name == defines.events.script_raised_destroy then
|
||||
onEntityRemoved(event)
|
||||
end
|
||||
end
|
||||
|
@ -546,11 +547,11 @@ end
|
|||
|
||||
|
||||
-- Set up callbacks
|
||||
script.on_event({ defines.events.on_built_entity, defines.events.on_robot_built_entity }, onEntityCreated)
|
||||
script.on_event({ defines.events.on_built_entity, defines.events.on_robot_built_entity, defines.events.script_raised_built }, onEntityCreated)
|
||||
|
||||
|
||||
-- on_entity_died should trigger both functions -> called manually
|
||||
script.on_event({ defines.events.on_player_mined_entity, defines.events.on_robot_mined_entity, defines.events.on_entity_died }, onEntityRemoved)
|
||||
-- on_entity_died and script_raised_destroy should trigger both functions -> called manually
|
||||
script.on_event({ defines.events.on_player_mined_entity, defines.events.on_robot_mined_entity, defines.events.on_entity_died, defines.events.script_raised_destroy }, onEntityRemoved)
|
||||
script.on_event({ defines.events.on_pre_player_mined_item, defines.events.on_pre_robot_mined_item, defines.events.on_entity_died }, preEntityRemoved)
|
||||
|
||||
|
||||
|
|
Reference in New Issue