Private
Public Access
1
0

Fix entity tracking by ensuring last user is checked for built and mined entities; update version to 0.1.14

This commit is contained in:
Jan Grießhaber
2026-01-03 17:08:59 +01:00
parent 13c56bfed9
commit 04b613b959
2 changed files with 9 additions and 1 deletions

View File

@@ -283,21 +283,25 @@ function CreateEntity(event)
--Event is RobotPlaced --Event is RobotPlaced
if event.name == defines.events.on_robot_built_entity then if event.name == defines.events.on_robot_built_entity then
if event.entity.name ~= "entity-ghost" then if event.entity.name ~= "entity-ghost" then
if event.entity.last_user then
local lastUser = event.entity.last_user.index local lastUser = event.entity.last_user.index
storage.constructedEntites[lastUser] = storage.constructedEntites[lastUser] or {} storage.constructedEntites[lastUser] = storage.constructedEntites[lastUser] or {}
storage.constructedEntites[lastUser][event.entity.name] = (storage.constructedEntites[lastUser][event.entity.name] or 0) + 1 storage.constructedEntites[lastUser][event.entity.name] = (storage.constructedEntites[lastUser][event.entity.name] or 0) + 1
end end
end end
end
--Event is spaceplatform build --Event is spaceplatform build
if event.name == defines.events.on_space_platform_built_entity then if event.name == defines.events.on_space_platform_built_entity then
if event.entity.name ~= "entity-ghost" then if event.entity.name ~= "entity-ghost" then
if event.entity.last_user then
local lastUser = event.entity.last_user.index local lastUser = event.entity.last_user.index
storage.constructedEntites[lastUser] = storage.constructedEntites[lastUser] or {} storage.constructedEntites[lastUser] = storage.constructedEntites[lastUser] or {}
storage.constructedEntites[lastUser][event.entity.name] = (storage.constructedEntites[lastUser][event.entity.name] or 0) + 1 storage.constructedEntites[lastUser][event.entity.name] = (storage.constructedEntites[lastUser][event.entity.name] or 0) + 1
end end
end end
end
UpdateStorage(event) UpdateStorage(event)
end end
@@ -310,19 +314,23 @@ function RemoveEntity(event)
if event.name == defines.events.on_robot_mined_entity then if event.name == defines.events.on_robot_mined_entity then
if event.entity.name ~= "entity-ghost" then if event.entity.name ~= "entity-ghost" then
if event.entity.last_user then
local lastUser = event.entity.last_user.index local lastUser = event.entity.last_user.index
storage.deconstructedEntities[lastUser] = storage.deconstructedEntities[lastUser] or {} storage.deconstructedEntities[lastUser] = storage.deconstructedEntities[lastUser] or {}
storage.deconstructedEntities[lastUser][event.entity.name] = (storage.deconstructedEntities[lastUser][event.entity.name] or 0) + 1 storage.deconstructedEntities[lastUser][event.entity.name] = (storage.deconstructedEntities[lastUser][event.entity.name] or 0) + 1
end end
end end
end
if event.name == defines.events.on_space_platform_mined_entity then if event.name == defines.events.on_space_platform_mined_entity then
if event.entity.name ~= "entity-ghost" then if event.entity.name ~= "entity-ghost" then
if event.entity.last_user then
local lastUser = event.entity.last_user.index local lastUser = event.entity.last_user.index
storage.deconstructedEntities[lastUser] = storage.deconstructedEntities[lastUser] or {} storage.deconstructedEntities[lastUser] = storage.deconstructedEntities[lastUser] or {}
storage.deconstructedEntities[lastUser][event.entity.name] = (storage.deconstructedEntities[lastUser][event.entity.name] or 0) + 1 storage.deconstructedEntities[lastUser][event.entity.name] = (storage.deconstructedEntities[lastUser][event.entity.name] or 0) + 1
end end
end end
end
if event.name == defines.events.on_entity_died then if event.name == defines.events.on_entity_died then
end end

View File

@@ -1,6 +1,6 @@
{ {
"name": "factorio-metrics-exporter", "name": "factorio-metrics-exporter",
"version": "0.1.13", "version": "0.1.14",
"title": "Prometheus Metrics Exporter", "title": "Prometheus Metrics Exporter",
"author": "Jan Grießhaber", "author": "Jan Grießhaber",
"contact": "jan@griesshaber.systems", "contact": "jan@griesshaber.systems",