Start Implementing the Pipe Controller.
Increase forge build index.
My particles are bigger than yours.
Don't passiveroute the buffer just because we have no orders. It's wrong when we have multiple crafting pipes sharing one machine/LCT.
the _powerProvider was always a CRP, add IPipeServiceProvider as a subset of CRP for modules.
Move sparkles to that.
Add utility method for "every Nth tick" with a pseudorandom offset per pipe.
every CRP is a IInventoryProvider, move that interface to below IPipeServiceProvider.
IRoutedPowerProvider already has getX/Y/Z.
Get rid of IInventoryProvider in registerHandler, it's always == _service.
Nearly all modules need _world and _service, just keep them in LogisticsModule.