Allow flipping fluid-powered inserters

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

ctgPi
Burner Inserter
Burner Inserter
Posts: 6
Joined: Wed Mar 23, 2022 6:25 am
Contact:

Allow flipping fluid-powered inserters

Post 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.
ctgPi
Burner Inserter
Burner Inserter
Posts: 6
Joined: Wed Mar 23, 2022 6:25 am
Contact:

Re: Allow flipping fluid-powered inserters

Post by ctgPi »

This also affects PyBlock: its shunt inserters are also steam-powered.

Image
User avatar
protocol_1903
Filter Inserter
Filter Inserter
Posts: 447
Joined: Fri Sep 09, 2022 4:33 pm
Contact:

Re: Allow flipping fluid-powered inserters

Post by protocol_1903 »

This is a bug.

viewtopic.php?t=131736
Py and PyBlock developer, wielder of LUA in arbitrary ways. I make mods. Check them out, maybe.
https://mods.factorio.com/user/protocol_1903
Post Reply

Return to “Ideas and Suggestions”