I made a fast minecart-with-hopper unloader, intended for high-efficiency, extensive farms.
The proof of concept works - it unloads the minecart at 35 items per second, and the "core" is beautifully compact and quite trivial - using a "buffer" minecart with hopper. Instead of unloading the minecart with hopper directly into a hopper, I unload it into another minecart with hopper - this process is incredibly fast, and so the stop can be very short, then the first minecart returns to making its rounds collecting goodies along the track, while a normal hopper unloads the "buffer minecart" into a chest or other destination.
Problems begin with the "easy" part: stop the minecart for a moment for unloading and then start it again. My solution with repeaters and piston is ugly and expensive. It adds only 1s delay (20 ticks), unloading exactly 35 items.
Since checking the minecart contents without unloading it fully is not so easy, a longer delay would be nice - but not as nice as making this smaller (narrower!) and cheaper - as this is to be used with high-efficiency farms, it should be as narrow as possible to be tileable over multiple "instances" - and cheap to implement these multiple instances.
Can you help me make this more compact and cheaper without losing the speed?