[2.0.76] Blueprint active index out of bounds

Bugs that are actually features.
kryojenik
Long Handed Inserter
Long Handed Inserter
Posts: 52
Joined: Fri Jun 26, 2020 8:18 pm
Contact:

[2.0.76] Blueprint active index out of bounds

Post by kryojenik »

I'm not sure the origin of how the blueprint book gets in this state to begin with. I assume it might have to do with how the blueprints are converted when loading them in a 2.x game.

The following blueprint book:

Code: Select all

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
Evaluates to a book with 5 blueprints, indexed 0-4 and an active_index of 13.

If you export and re-import the string factorio will reset the active_index to 1. However, if the book was already in the players inventory, personal blueprint library, or game library the active_index remains out-of-bounds. A mod trying to access a BP at the active_index crashes with an unhanded exception.

To reproduce, open the attached save file and pick up the blueprint book from the players inventory and execute the following:

Code: Select all

/c stack=game.player.cursor_stack; inv=stack.get_inventory(defines.inventory.item_main); game.print(string.format("#inv: %d - active_index: %d",#inv,stack.active_index));
/c local newstack=inv[stack.active_index]
Attachments
bp-active-index-out-of-range.zip
(1.77 MiB) Downloaded 2 times
Rseding91
Factorio Staff
Factorio Staff
Posts: 16832
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: [2.0.76] Blueprint active index out of bounds

Post by Rseding91 »

Thanks for the report however this is not a bug. The active index is simply a number. It's up to the mod(s) to validate the number is valid and contains anything useful.
If you want to get ahold of me I'm almost always on Discord.
Post Reply

Return to “Not a bug”