mt-mods / pipeworks

Pipeworks is a mod for Minetest allowing the crafting and usage of pipes and tubes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

digiline & stackwise filter injectors don't process "split" stacks

fluxionary opened this issue · comments

i'm unsure whether this is a bug or more of a documentation issue.

if there's a full stack of items split amongst multiple slots in the "input" inventory, a stackwise filter injector will only send 1 stack at a time. given its name, that makes sense.

however, the digiline filter injector, when given input like the following from a luacontroller, will send nothing, despite a full stack being available:

digiline_send("injector", {
  exmatch = true,
  name = "default:chest",
  count = 99,
})
commented

Also somewhat related issue #15 (early return: it does not process even complete stacks if there's partial too small stack before requested stack)

It is a bug and also discussed many times but it seems there's no dupe issue... there was one for sure back when repo was still on gitlab.

Whole inventory lookup should be refactored and optimizations added, automated injectors do waste significant amount of time looking through inventory.

Fixing this issue with some bubble gum shouldn't be too hard but I think nobody started it because adding more features without refactoring for optimizations would just make it even more complicated and in the end make refactoring even harder task...

Side note: I do remember that there was already a PR or at least a branch + discussion to "fix" this issue by removing "exmatch" option. Voiced my opinion against it back then and I do still think that exmatch option should stay and is useful or even required for some things.