Skip to content

Log registered event handlers under _DEBUG - #1657

Open
lex wants to merge 8 commits into
Refactorio:developfrom
lex:event-registry-debug
Open

lex wants to merge 8 commits into
Refactorio:developfrom
lex:event-registry-debug

Conversation

@lex

@lex lex commented Oct 25, 2026

Copy link
Copy Markdown
Contributor

Stacked on #1654 (Update to Factorio 2.1): until that merges this diff includes its commits too. The change for review is one commit: compare factorio-2.1...event-registry-debug.

RedRafe's commit from #1569, cherry-picked (it keeps his authorship). Under _DEBUG, utils/event_core keeps a count of the handlers registered per event (by name, e.g. on_player_created, plus on_init, on_load and on_configuration_changed) and writes it to script-output/event_handler_registry.json each time one is added, to see which events a scenario listens to. Without _DEBUG nothing changes.

It doesn't depend on 2.1, but develop no longer runs on a 2.1 install, so it's stacked to be tested there. On a local 2.1.23 the develop, crashsite and diggy templates pass (58, 90 and 71 passed, 0 failed); luacheck .: 0 warnings / 0 errors.

🤖 Generated with Claude Code

@lex lex mentioned this pull request Oct 25, 2026
RedRafe and others added 8 commits October 25, 2026 13:08
In 2.1 get_quick_bar_slot returns a table, {type, filter} or {type,
item}, not an item prototype, so .name on it was nil: auto stash failed
with "table index is nil" for any player with a quick bar slot set, and
saving quick bars saved empty bars. Both now take the name from the
slot's filter or item.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.1 removed LuaEntity.neighbours. Underground belts now have
underground_belt_neighbour and pipes-to-ground fluidbox_neighbours,
which the Citadel, Fault Lines and Rivers tests use through connected().

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Since 2.1 a flow added with on_flow shows up in the statistics two ticks
later, so the tests read the counts before it had landed: the first
failed on every Danger Ores map, and "other items do not count" passed
without checking anything. Each test now waits for its own flow first.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CI now tests the latest stable 2.1 release, and AGENTS.md says the
scenario targets 2.1 and lists the 2.0 API it removed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@lex
lex force-pushed the event-registry-debug branch from 8c469c8 to 88575cd Compare October 25, 2026 11:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants