Page 1 of 1

[2.0.64] 'assembling-machine' prototype fluidboxes ignore 'filter' field

Posted: Wed Aug 20, 2025 1:14 am
by PyroGamer666
While working on Muluna, Moon of Nauvis, I attempted to add data(a distinct class of fluid only transportable via data cable pipes) ports to the vanilla Assembling machine 3. This process has brought me many frustrations, mainly existing crafting recipes placing fluid input/outputs where they shouldn't be. The solution I settled on that seemed most correct was setting a fluid filter to every data port to only accept one type of data. Not what I had in mind, since that would make it impossible to add new fluid IDs as other modders make new data fluids, but it was a workable solution for what I wanted the basic functionality to do. Trying to add this made me notice that assembling machine fluid boxes fully ignore the 'filter' field, so this limitation prevents me from doing what I had in mind. Ideally, the 'filter' field would be an array of fluidIDs, which would allow me to give data-port fluidboxes a filter list of every data fluid in the game.


To reproduce: Add the following code during either data-updates or data-final-fixes.

Code: Select all

for _,machine in pairs(data.raw["assembling-machine"]) do
    for _,box in pairs(machine.fluid_boxes or {}) do
        box.filter = "water"
    end
end
Adding this code to the data stage should make every fluid box connected to every assembling machine prototype only accept water, making recipes using fluids other than water uncraftable on every machine. Instead, this code does nothing.

Re: [2.0.64] 'assembling-machine' prototype fluidboxes ignore 'filter' field

Posted: Wed Aug 20, 2025 1:28 am
by Rseding91
Thanks for the report however this is working as intended. The assembling machine sets the filter to what the recipe uses when the recipe is set and does not support what you’re trying to do.

What you want is to set the crafting categories on the machine to ones you support and then it simply won’t let the player set other recipes.