[2.1.20] Decider Combinator "else" and blueprint string

Bugs that are actually features.
quaitgor
Burner Inserter
Burner Inserter
Posts: 5
Joined: Mon Jul 18, 2016 4:12 pm
Contact:

[2.1.20] Decider Combinator "else" and blueprint string

Post by quaitgor »

This one is a weird and specific case, but it might hint at a problem elsewhere.

Steps:
  • Make a decider combinator in 2.1.20 factorio. With an else setting.
  • Copy the blueprint string
  • Open older factorio version where the "else" didnt yet exist (I think mine was 2.1.7).
  • Paste blueprint string.
No error message, the blueprint is useable, its simply missing the else part, since it didnt exist here yet.

I think its weird and untypical of factorio to just silently ignore part of the blueprint string, no error message, nothing indicating that something should be wrong with this blueprint string.
yes, of course the else part is not yet working, but I think some part of the blueprint string converter should at least throw an error or warning, shouldn't this be a weird blueprint string from its point of view?
I think this could lead to a situation where a blueprint gets malformed by something and the game simply and silently ignores that part without the player knowing that settings on some entity are missing or worse are set wrong.

blueprint string of a decider combinator with an else, cpied from 2.1.20
0eNqdUstugzAQ/BVrzyRqSYgEh/5IWyGDl2RVsK21QbUi/r0LNG3VQyP1ZHsfM7PjvULTj+iZbITqCtQ6G6B6vkKgs9X9ErN6QKjAYEsGede6oSGro2OYMyBr8B2qx/k1A7SRIuHWvz5SbcehQZaC7A+cDLwL0urswidwu/IhgwRVfir2hbAYYmy3/GOegYiM7Pq6wYueSACk6xO2lpxZocIS/fkSUR1xiPX3aDH5RdJEHEeJfGncKnbapnghe14GFble8yq3gidY5nVj9GP8bdcdzDMj2g3QJ1E72lh37IaarIBB1ek+4OqmnPW/KBjNfYJZKnyvk1hmMLRMfvNX9sG1b2qDUg12jlGFqJfs/sV2mvqgO1TRKc84yTeryJqskhvKGp1vxbfeAQfHSVFQjNqk/WodRRxWrtvuZTAhh1VBccrL4pgfy1NZHg75PH8AUZ7u1g==
User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 4911
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: [2.1.20] Decider Combinator "else" and blueprint string

Post by boskid »

Thanks for the report however i am not considering this to be a bug. Using older versions of game to load newer blueprint strings is not oficially supported. There are no migrations performed there either because older game does not know how to convert some of the data from newer versions and it would result in throwing a lot of spurious errors for failing to import a blueprint because some fields from newer version were unused. At that point i could just make it a warning anytime when loaded blueprint is of higher version than current game version, but i am not convinced if players would notice those warnings.
quaitgor
Burner Inserter
Burner Inserter
Posts: 5
Joined: Mon Jul 18, 2016 4:12 pm
Contact:

Re: [2.1.20] Decider Combinator "else" and blueprint string

Post by quaitgor »

yes, this case happens because its used in another lower version.

But what I'm concerned about is that settings from an entity are simply ignored and disregarded without warning or any information to the player. Not only in this exact scenario (giving a blueprint string to a lower version of factorio) but in general.

Any entity with settings that become unknown/wrong for any reason (bug, version update, mod update) the entity is still placed via its blueprint string as if nothing is wrong. At least the player should get an info that data is ignored and disregarded when a blueprint is imported.
maybe copying a blueprint from someones modded factorio to a non-modded game, or a blueprint saved in library and the player makes mod updates / mod list changes and suddenly settings on something in a blueprint are just gone.
Rseding91
Factorio Staff
Factorio Staff
Posts: 17563
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: [2.1.20] Decider Combinator "else" and blueprint string

Post by Rseding91 »

We aren’t going to be re-releasing older versions of the game with new code so all current and old versions will never have any of these suggestions.

I also don’t see the point in adding any such logic to future versions since blueprint strings weren’t and aren’t meant to be enforcing any kind of validation. They simply load what they can and if it works you get the result. It has always been up to the player to determine if they like the result or not.

Blueprint strings are only ever meant to be loaded In the current and future versions of the game with the same set of mods and mod settings. If they work in other contexts that’s fine, but that was never meant to be a fully feature rich part of them.
If you want to get ahold of me I'm almost always on Discord.
Post Reply

Return to “Not a bug”