teoxoy / factorio-blueprint-editor

A feature-rich Factorio Blueprint Editor
https://fbe.teoxoy.com
MIT License
332 stars 75 forks source link

[BUG] Pumpjack configuration breaks oil field generator with undefined `toGroup` #253

Open joelverhagen opened 11 months ago

joelverhagen commented 11 months ago

Describe the bug

This blueprint was passed into my tool causing it to throw an exception. The part of the code that has the problem is based off of FBE's oil field generator. The blueprint also breaks in FBE in turn:

0eJyM1ctuhCAUBuB3OWsWAt5fpWkmjkMa2hGNl6bG+O4VzyzaGRL+pYgfB+GHja73xQyjdTPVG9m2dxPVbxtN9sM1d9/mms5QTcPSDZ9N+0WC5nXwLXY2He2CrLuZH6rl/i7IuNnO1rBxPqwXt3RXMx4dRMAa+un4oHd+pAPRStB6dNWHe7OjafldsosXTgGczJnL45wGOFUwV8a5FOFS5qo4lyGTrU5OJXEuR5aCq1MyzhXIZHlllfrPqQBXIlwV5ELVVci/K5nT8epkgngZe1m8PCnxrQJ5SDBUwh4QDIkkQ0v2CsBDouEH9V4JrAeSDfXwgKj5MyPulbhX4PtFA2HzWxWdr36KRxrykHwoPkifvdB6+K2FeulLfI875LxX6j8Xk6BvM06PDvsvAAAA//8DANANMhY=

To Reproduce

  1. Open FBE
  2. Paste the blueprint above
  3. Run "Generate" under Oil Output Generator Settings.
  4. Look at the developer tools
Uncaught TypeError: Cannot read properties of undefined (reading 'toGroup')
    at e.generatePipes (app.0c4b4515.js:1:103862)
    at v.generatePipes (app.0c4b4515.js:1:30767)
    at Object.press (app.0c4b4515.js:1:3453)
    at Object.i [as press] (app.0c4b4515.js:1:131661)
    at o.call (app.0c4b4515.js:1:131967)
    at e.callAction (app.0c4b4515.js:1:133020)
    at Object.generate (app.0c4b4515.js:3:40153)
    at t.value (vendor.27ba943f.js:1:747169)
    at HTMLDivElement.<anonymous> (vendor.27ba943f.js:1:746977)
    at Object.fakeEvent (vendor.27ba943f.js:1:738872)

Expected behavior

An oil field plan is produced an put onto the canvas.

Screenshots

image

Desktop (please complete the following information):

joelverhagen commented 11 months ago

Here's another similar case: 0eJyM1dtuhCAQBuB3mWsuBDy/StNsXJc0tCsaD02N8d0L4kXrkvBfivg5wMyw0f25qGHUZqZ6I932ZqL6baNJf5jm6cZM0ymqaVi64bNpv4jRvA5uRM+qo52RNg/1QzXf3xkpM+tZK28cD+vNLN1djXYCC1hDP9kPeuP+ZBEpGK12qrTuQ4+q9e+Snb1wAuB47rk8zkmAE4XnyjiXIlzquSrOZchiq4MTSZzLkaPw0Qke5wpksf5khfjPpQGuRLgsyIWiqxCugjmeIGdReu+SxyLkIXXBz+VmQHwCT72rF4wPqozEe0Ch8RSvNMhDakNy7xWAhxSH2xTnlcD+QdVxekArcKkV90rcq/D8k0AzcKmArlcC3UAg9SF8o796ofNwjQj10pd+YO+4496r/1ycjL7VOJ0T9l8AAAD//wMAYfxmNQ==

I am not going to support this 2nd one in my tool. There is an isolated "island" which would only be solvable by placing underground pipes first. image

teoxoy commented 10 months ago

Hmm, I thought the oil field generator in factorio won't place oil patches in such a way that the player is required to use underground pipes to connect a pumpjack.

joelverhagen commented 10 months ago

That's definitely possible and something I had not considered. This blueprint came into my tool but I don't have context on whether it was generated from a mod or not.

sighnwaive commented 6 months ago

I can take a look into whether or not this is an issue with Factorio itself.

sighnwaive commented 6 months ago

Interestingly, I was able to re-create this with a smaller blueprint similar to the one i found for #254

0eJyV0ksOgjAQBuC7/OtqoOCDLr2GMYbHxFShNLQYCeHuUlFj3FB2bWfmy0w6PbKyJd1IZSF6yLxWBuLYw8iLSkv3ZjtNEJCWKjCotHI33Vb6muY3DAxSFfSACIcTAykrraTJ+M9l0LUZw7Vy7liyCtYbhm46jFIhG8qnePC2urNqq4wa5zMPMlogci/x2ySfFyMvkfuDsV+Ln6k9ht4satHJc+LWffxrPcTPNjHcqTGvEr4P413CdzFPkigJGco0o3G3cPhmD8MT747Sbw==