we only get here from handleTileReachedServer, scheduleRemoval has already been called.
Partially re-instate toAdd, things can call injectItem from inside the loop in moveSolids
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.
If the new list is empty we still have to .stopWatching() everything in the old list
Also, posY here already includes eye height.
Attempt to fix providing extras left over from earlier requests.
Rework CC interaction with LP.
Fix orientation when accepting items from TE.
We no longer are an PipeType.ITEM we are a LOGISTICS PipeType.
Add dummy files.
Fix invalid CCItemIdentifier access.
Remove debug command.
Merge branch 'mc16_CC_Objects' into mc16

This will break all existing CC programs.
Kill last external uses of uniqueID
ItemIdentifier rework part 1, now with no caching for basic items