[raiguard][2.1.7] Fluid mixing prevention breaks existing fluidboxes from 2.0 mods (Example code provided)

MeteorSwarm
Burner Inserter
Burner Inserter
Posts: 16
Joined: Thu Sep 25, 2025 10:49 pm
Contact:

[raiguard][2.1.7] Fluid mixing prevention breaks existing fluidboxes from 2.0 mods (Example code provided)

Post by MeteorSwarm »

Nothing in the documentation or changelog suggests that it's necessary to change fluidbox code to accommodate the new fluid mixing prevention system described in FFF 442. This is why I think the following behavior is a bug. The newest stable version of Muluna for 2.0.X uses fluidbox code in the greenhouse and fluidbox indices in greenhouse recipes identical to the following: This code works in 2.0.X, but in 2.1.7, connecting carbon dioxide pipes to carbon dioxide input results in a "no fluid mixing" warning.

Recipe

Code: Select all

{
        type = "recipe",
        name = "muluna-tree-growth-greenhouse",
        enabled = false,
        categories = {"muluna-greenhouse"},
        icons = dual_icon("muluna-sapling","carbon-dioxide"),
        ingredients = {
            {type = "item",name = "tree-seed", amount=10}, --Reminder: 1 tree seed = 2 wood
            {type = "fluid",name = "carbon-dioxide", amount=10000,fluidbox_index = 1},
            {type = "fluid",name = "water", amount=500,fluidbox_index = 2},
        },
        results = {
            {type = "item",name = "muluna-sapling", amount=10},
            {type = "fluid",name = "oxygen", amount=10000,ignored_by_productivity=10000,fluidbox_index = 1}
        },
        energy_required=5*60,
        subgroup="muluna-forestry",
        max_productivity = 3,
        allow_quality = false,
        auto_recycle=false,
        allow_productivity = true,
        hide_from_signal_gui = false,
        surface_conditions = {
            {
                property = "temperature",
                max = 314
            }
        }
    },
Greenhouse fluidboxes:

Code: Select all

fluid_boxes = {
      {
        volume = 200,
        pipe_covers = pipecoverspictures(),
        pipe_picture = Muluna.pipe_pictures.greenhouse_pipe_pictures(),
        pipe_connections =
        {
          {flow_direction = "input-output", direction = defines.direction.west, position = {-4.0, 3}},
          {flow_direction = "input-output", direction = defines.direction.east, position = {4.0, 3}},
          {flow_direction = "input-output", direction = defines.direction.south, position = {-3.0, 4}},
          {flow_direction = "input-output", direction = defines.direction.north, position = {-3, -4}},
        },
        production_type = "input",
        --filter = "carbon-dioxide"
      },
        {
          volume = 200,
          pipe_covers = pipecoverspictures(),
          pipe_picture = Muluna.pipe_pictures.greenhouse_pipe_pictures(),
          pipe_connections =
          {
            --{flow_direction = "input", direction = defines.direction.west, position = {-5.0, 0}},
            --{flow_direction = "input", direction = defines.direction.east, position = {5.0, 0}},
            --{flow_direction = "input", direction = defines.direction.south, position = {-0.0, 5}},
            {flow_direction = "input", direction = defines.direction.north, position = {-0, -4}},
          },
          production_type = "input",
          --filter = "water"
        },
        
        {
            volume = 200,
            pipe_covers = pipecoverspictures(),
            pipe_picture = Muluna.pipe_pictures.greenhouse_pipe_pictures(),
            --pipe_picture =  require("__space-age__.prototypes.entity.cryogenic-plant-pictures").pipe_picture,
            --always_draw_covers = true, -- fighting against FluidBoxPrototype::always_draw_covers crazy default
            pipe_connections =
            {
              {flow_direction = "input-output", direction = defines.direction.west, position = {-4.0, -3}},
              {flow_direction = "input-output", direction = defines.direction.east, position = {4.0, -3}},
              {flow_direction = "input-output", direction = defines.direction.south, position = {3.0, 4}},
            {flow_direction = "input-output", direction = defines.direction.north, position = {3, -4}},
            },
            production_type = "output",
            --filter = "oxygen"
        },
        {
          volume = 200,
          pipe_covers = pipecoverspictures(),
          pipe_picture = Muluna.pipe_pictures.greenhouse_pipe_pictures(),
          pipe_connections =
          {
            --{flow_direction = "input", direction = defines.direction.west, position = {-5.0, 0}},
            --{flow_direction = "input", direction = defines.direction.east, position = {5.0, 0}},
            --{flow_direction = "input", direction = defines.direction.south, position = {-0.0, 5}},
            {flow_direction = "input", direction = defines.direction.west, position = {-4, 0}},
          },
          production_type = "input",
          --filter = "fluoroketone-cold",
        },
        {
          volume = 200,
          pipe_covers = pipecoverspictures(),
          pipe_picture = Muluna.pipe_pictures.greenhouse_pipe_pictures(),
          pipe_connections =
          {
            --{flow_direction = "input", direction = defines.direction.west, position = {-5.0, 0}},
            --{flow_direction = "input", direction = defines.direction.east, position = {5.0, 0}},
            --{flow_direction = "input", direction = defines.direction.south, position = {-0.0, 5}},
            {flow_direction = "output", direction = defines.direction.east, position = {4, 0}},
          },
          production_type = "output",
          --filter = "fluoroketone-hot",
        },
    },

I don't believe this fluid mixing prevention system was intended to break existing fluidboxes or recipe fluidbox indices.

Muluna repo: https://github.com/nicholasgower/planet ... 6b663729c9
Attachments
Incorrect application of mix prevention
Incorrect application of mix prevention
06-23-2026, 18-53-36.png (3.37 MiB) Viewed 1347 times
darkszero
Burner Inserter
Burner Inserter
Posts: 14
Joined: Wed Jul 19, 2017 3:30 am
Contact:

Re: [2.1.7] Fluid mixing prevention breaks existing fluidboxes from 2.0 mods (Example code provided)

Post by darkszero »

This also happens with Moshine Start. There's no fluid indices, but there's an assembling machine with a Fluid Energy source and an fluid box, both passthrough.
06-24-2026, 23-24-57.png
06-24-2026, 23-24-57.png (927.75 KiB) Viewed 1191 times
Fluid boxes part of the entity

Code: Select all

    energy_source = {
        type = "fluid",
        maximum_temperature = 165,
        scale_fluid_usage = true,
        effectivity = 0.35,
        fluid_box = {
            production_type = "input",
            filter = "steam",
            volume = 50,
            pipe_connections = {
                { flow_direction = "input-output", direction = defines.direction.east, position = { 1, 0 } },
                { flow_direction = "input-output", direction = defines.direction.west, position = { -1, 0 } }
            },
            pipe_picture = assembler2pipepictures,
            pipe_covers = pipecoverspictures(),
        }
    },

    fluid_boxes = {
        {
            production_type = "input",
            pipe_picture = assembler2pipepictures,
            pipe_covers = pipecoverspictures(),
            volume = 1000,
            pipe_connections = {
                { flow_direction = "input-output", direction = defines.direction.north, position = { 0, -1 } },
                { flow_direction = "input-output", direction = defines.direction.south, position = { 0, 1 } },
            },
        },
    },
The rest of the code can be found at https://github.com/henriquegemignani/mo ... hammer.lua
darkszero
Burner Inserter
Burner Inserter
Posts: 14
Joined: Wed Jul 19, 2017 3:30 am
Contact:

Re: [2.1.7] Fluid mixing prevention breaks existing fluidboxes from 2.0 mods (Example code provided)

Post by darkszero »

With the Steam Hammer, removing the fluidboxes does nothing.
06-24-2026, 23-39-42.png
06-24-2026, 23-39-42.png (896.84 KiB) Viewed 1169 times
However just removing the filter for steam in the energy source's fluidbox causes the issue to go away
06-24-2026, 23-40-21.png
06-24-2026, 23-40-21.png (1004.75 KiB) Viewed 1169 times
So this seems somewhat different from Muluna's issue.
MeteorSwarm
Burner Inserter
Burner Inserter
Posts: 16
Joined: Thu Sep 25, 2025 10:49 pm
Contact:

Re: [raiguard][2.1.7] Fluid mixing prevention breaks existing fluidboxes from 2.0 mods (Example code provided)

Post by MeteorSwarm »

From the Foundry Discord server, in reference to Lignumis: "i can't seem to power a steam assembler with steam from a boiler"
06-28-2026, 19-11-09.png
06-28-2026, 19-11-09.png (1.43 MiB) Viewed 829 times
Post Reply

Return to “Assigned”