Page 1 of 1

Allow flipping fluid-powered inserters

Posted: Fri Feb 06, 2026 1:53 pm
by ctgPi
TL;DR
Allow flipping fluid-powered inserters whenever their pipe connections are symmetric along both the X- and Y-axis.
What?
Some mods, e.g. Bob's Logistics (a 2.0 mod) but also legacy 1.1 mods like Industrial Revolution 3 have steam-powered inserters; those have two input/output connections on their sides.

Image
Image

However, as the screenshots above demonstrate, neither version allows flipping these inserters; some experimentation indicates the issue is specifically with their energy sources, e.g. this is the Bob's Logistics definition:

Code: Select all

data.raw.inserter["bob-steam-inserter"].energy_source = {
  type = "fluid",
  effectivity = 1,
  fluid_box = {
    volume = 10,
    pipe_connections = {
      { flow_direction = "input-output", position = { 0, 0 }, direction = defines.direction.east },
      { flow_direction = "input-output", position = { 0, 0 }, direction = defines.direction.west },
    },
    pipe_covers = pipecoverspictures(),
    pipe_picture = assembler3pipepictures(),
    production_type = "input-output",
    filter = "steam",
  },
  burns_fluid = false,
  scale_fluid_usage = false,
  fluid_usage_per_tick = 0.002,
  maximum_temperature = 765,
  smoke = {
    {
      name = "light-smoke",
      frequency = 1,
      starting_vertical_speed = 0.08,
    },
  },
}
Replacing this by e.g.

Code: Select all

-- ...
    volume = 10,
    pipe_connections = {},
    pipe_covers = pipecoverspictures(),
-- ...
where the pipe connections have been removed, does not restore inserter flippability, but

Code: Select all

data.raw.inserter["bob-steam-inserter"].energy_source = {
  type = "void",
}
does restore flippability.

This pipe_connections definition, however, is totally symmetric, and unlike is the case with most other fluid entities like assembling machines, chemical plants, … it is completely unchanged by horizontal/vertical flipping, cannot cause unlike fluids to mix (that were not previously mixed), …

This request is to, by default, enable (or, through the modding API, allow enabling) flipping of inserter entities with fluid energy sources that have fully symmetric pipe connections.

There are at least two similar, rejected and/or deferred proposals; this one is considerably smaller in scope than either:
  1. Rseding91 on the meaning of entity flipping: flipping vanilla inserters is already supported, for in-hand inserters, blueprints or constructed entities; in vanilla, that is equivalent to just rotating the inserter in-place twice, but this is also already supported e.g. for Bob's Adjustable Inserters. Since the pipe connections are preserved on flipping, that can be kept static as other entity properties are updated by the normal flipping logic.
  2. Rseding91 on runtime storage costs: Since the fluid box and the respective pipe connections are restricted to be completely symmetric with respect to flipping, there's no additional per-entity storage required; all inserters with the same prototype are either flippable or not-flippable. This request likely would require an additional field in the inserter prototype, likely a boolean recording the symmetry of the corresponding fluid box.
Why?
This would make early-stage fluid handling in these mods more pleasant, as it would be easier to copy-paste mini-blocks when expanding; as the on_player_flipped_entity entry explicitly states, mods do not get an event when an entity cannot be normally flipped, so this cannot be currently implemented as a quality-of-life mod.

Re: Allow flipping fluid-powered inserters

Posted: Fri Feb 06, 2026 2:12 pm
by ctgPi
This also affects PyBlock: its shunt inserters are also steam-powered.

Image

Re: Allow flipping fluid-powered inserters

Posted: Fri Feb 06, 2026 3:15 pm
by protocol_1903
This is a bug.

viewtopic.php?t=131736

Re: Allow flipping fluid-powered inserters

Posted: Wed Feb 11, 2026 6:33 am
by NotRexButCaesar
Koub wrote:
Since this is a bug and has been assigned, I think it should be moved from Ideas and Suggestions.