[2.0.64] 'assembling-machine' prototype fluidboxes ignore 'filter' field
Posted: Wed Aug 20, 2025 1:14 am
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.
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.
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