Ellpeck / PrettyPipes

Pretty Pipes is a simple to use, all-inclusive item transport mod featuring simple pipes that can be upgraded using modules to accomplish much more advanced tasks.
https://modrinth.com/mod/pretty-pipes
MIT License
21 stars 19 forks source link

Allow "locking" of modules, so a Pipe does not drop them when no inventory is connected #172

Closed CyberFoxar closed 1 year ago

CyberFoxar commented 1 year ago

As per title. To expand: Some mods only allow other inventories to connect when some condition is valid. This condition is usually transient, and not the result of player input.

(tinker's smeltery, for example, but other multiblock-ish mods do that too.)

An example: Take a Tinker smeltery and try to extract items (or Fluids, using Pretty Fluid Pipes) then place a block (or light a fire) on the block at the bottom of the smeltery. The multiblock becomes invalid and the smeltery does not connect to anything. The pipes, having no inventory to extract from, drop their modules. Once the block is cleared (or the fire put out by itself), the multiblock becomes available again, and the pipes reconnect, but without their modules. This is especially annoying when trying to melt blazes in Tinker's foundry, since they sometime put fire and invalidate for a dozen seconds the multiblock.

A workaround to such an issue is to have a "dummy" inventory next to the pipe, so that the pipe still has a valid inventory to draw from (even if it is empty). Once it reconnects, since it will still has the modules, it will work as expected.

I find my workaround ugly, and would rather have the option to "lock-in" the modules on the pipe, with the modules being kept when no inventory is connected, but doing nothing.

Somewhat related to #39 .

Ellpeck commented 1 year ago

I'm not really interested in implementing something like this, sorry! In your case, using a hopper as a buffer between the pipe and the smeltery should work.