Page 27 of 27

Re: [Mod] Pipeworks [git] [pipeworks]

PostPosted: Wed Jul 31, 2019 20:46
by ZenonSeth
I have an issue with how this mod works - specifically flow control.
Maybe someone can help me out.

I have 1 auto-crafter that receives Cobblestone and makes Gravel (the server has a recipe for that). My supply of cobblestone is automated.

Now I have connected a Blinking Plant to an Injector that takes things Out of the Auto-crafter, and puts them in a chest to buffer some inputs.

Here's the problem. If the chest is full, the items get returned to the INPUT inventory of the auto-crafter, eventually filling it up with junk, and blocking it. The injector can never take items from the input inventory.

Strongly related, I also need to have the Injector connected via pipes to some chests. BUT, if all the chests are full, the injector just keeps dumping items in the pipes until they "break" (it does this because of the Blinking Plant)

Compare this to the TubeLib Pusher, which (while simplified) won't constantly take out items from an inventory unless it CAN put them somewhere. If it cannot, it will stop.

I don't mean that pipeworks should copy that behavior, but I'd really like a way to limit the flow or the way Injectors grab stuff. Maybe have a Requester that, when attached to chests, will signal that chest has space?

Re: [Mod] Pipeworks [git] [pipeworks]

PostPosted: Wed Jul 31, 2019 23:16
by neoh4x0r
ZenonSeth wrote:I have an issue with how this mod works - specifically flow control.
Maybe someone can help me out.

I have 1 auto-crafter that receives Cobblestone and makes Gravel (the server has a recipe for that). My supply of cobblestone is automated.

Now I have connected a Blinking Plant to an Injector that takes things Out of the Auto-crafter, and puts them in a chest to buffer some inputs.

Here's the problem. If the chest is full, the items get returned to the INPUT inventory of the auto-crafter, eventually filling it up with junk, and blocking it. The injector can never take items from the input inventory.

Strongly related, I also need to have the Injector connected via pipes to some chests. BUT, if all the chests are full, the injector just keeps dumping items in the pipes until they "break" (it does this because of the Blinking Plant)

Compare this to the TubeLib Pusher, which (while simplified) won't constantly take out items from an inventory unless it CAN put them somewhere. If it cannot, it will stop.

I don't mean that pipeworks should copy that behavior, but I'd really like a way to limit the flow or the way Injectors grab stuff. Maybe have a Requester that, when attached to chests, will signal that chest has space?


I had a similar problem where I wanted to take two types of blocks and feed them into an autocrafter. There were two pipes feeding the autocrafter, each pipe was dedicated to feeding a specific block (which was pre-sorted ahead of time).

The problem was coming up with a reliable state machine to keep both lines constantly feeding the autocrafter while not filling it up with only one type of block.

For the state machine part I ended up using basic_machines movers / detectors: https://wiki.minetest.net/Mods/basic_machines with pipeworks feeding the main storage chests and taking items from the autocrafter.

The item-injectors just did not work because I only wanted to feed the autocrafter if both types of blocks were available (and only send 1 block of each).

The solution I used to handle the situation where a chest was full was:
  • Have items feed to into a master chest
  • Use a stack-wise injector (just for speed) to feed a sorting tube
  • The sort tube was used to direct the two needed blocks (and feed their corresponding storage chest -- being staged to feed the autocrafter) anything that did not match those blocks were sent to another location (could be a trashcan, etc)
  • Another pipe was connected to the two that fed these staging chests, if the chests were full then the incoming item would continue traveling down this second pipe.
  • This second pipe was connected back into the master chest -- where they would then be re-injected to the sort tube and continue around and around ( ie in a holding pattern).

EG The basic form looks like this (for overflow):
Where
Code: Select all
input = incoming items
output = outgoing items from autocrafter
===== , || = pipes
>>, << = one-way tube in given direction
>>> = injector


Code: Select all
input======== >> ================||=====(trashcan / teleport-tube, etc)
                                 ||
           ||= >> ==============chest >>> ================||
           ||                                             ||
||== >> ======chest >>> =========autocrafter===output     ||
||                                                        ||
||========================================================||


Presumably there is a need to save excess items, and as such, is not practical to connect the overflown output of the first chest to a trashcan (instead of re-feeding the input storage chest) -- however that could be done.

The representation is a state machine, where you feed blocks into the input which in-turn feeds the other chests and ultimately results in the autocrafter making the wanted blocks -- all while reducing the inventory counts in the chests so that more items can be feed into the state machine.

Re: [Mod] Pipeworks [git] [pipeworks]

PostPosted: Sat Aug 10, 2019 16:14
by h2odragon00
Anyone know the recipe for the gears in pipeworks? Stones and steel ingots doesn't work.

Re: [Mod] Pipeworks [git] [pipeworks]

PostPosted: Sat Aug 10, 2019 16:41
by VanessaE
The gear comes from basic_materials and is made from chain links and steel ingots:

Image

Re: [Mod] Pipeworks [git] [pipeworks]

PostPosted: Sun Aug 11, 2019 01:09
by h2odragon00
VanessaE wrote:The gear comes from basic_materials and is made from chain links and steel ingots:

Image



Thanks! That’s the gear that’s use for node breakers, right?

Re: [Mod] Pipeworks [git] [pipeworks]

PostPosted: Sun Aug 11, 2019 01:13
by VanessaE
That is correct.

Re: [Mod] Pipeworks [git] [pipeworks]

PostPosted: Mon Sep 02, 2019 21:57
by MarSoft
Right now the mod is not available on github (404 error which means that the repo is ehter removed or hidden). Does anyonw know anything about this?

Re: [Mod] Pipeworks [git] [pipeworks]

PostPosted: Mon Sep 02, 2019 22:19
by VanessaE
It was moved to gitlab some time ago. https://gitlab.com/VanessaE/pipeworks

Re: [Mod] Pipeworks [git] [pipeworks]

PostPosted: Mon Sep 02, 2019 22:35
by MarSoft
Thanks! Is it possible to update link here? http://minetest-mods.github.io/mods.html#P

Re: [Mod] Pipeworks [git] [pipeworks]

PostPosted: Mon Sep 02, 2019 22:38
by MarSoft
Created issue #82 about that.

Re: [Mod] Pipeworks [git] [pipeworks]

PostPosted: Tue Sep 03, 2019 08:45
by neoh4x0r
MarSoft wrote:Created issue #82 about that.


You might want to post a message in Minetest-Mods team[Mod repository] viewtopic.php?f=47&t=13839