Problem:
Each time a player launches a rocket from a silo, a block of raw table text appears in chat for every player. It looks like a dump of Lua data, not a message meant for players. It happens on every launch, so in a multiplayer game it floods chat.
Cause:
In bunnyhop-control.lua, the on_rocket_launch_ordered handler ends with a game.print call that prints the whole bunnyhop table:
[
script.on_event(defines.events.on_rocket_launch_ordered, function(event)
if not event.player_index then return end
local player = game.players[event.player_index]
if not player then return end
local last_hops = get_hop_data(player)
last_hops[event.rocket_silo.surface_index] = event.rocket_silo.position
game.print(serpent.block(storage.last_bunnyhops)) -- line 308
end)
]
game.print sends the text to every player. serpent.block(storage.last_bunnyhops) serializes the stored return points of all players, which is the structured text players see. It only fires for launches ordered by a player (the player_index check), so automated launches don't trigger it.
It looks like a leftover from debugging the "silo position as return point" feature added around 0.23. The line isn't in the changelog.
Suggested fix Remove the line, since the last_hops update above it already stores the data. If you want to keep it for debugging, send it to the log instead:
log(serpent.block(storage.last_bunnyhops))
or only print it behind a debug mod setting.