I had built a very cool splat-farm in my world, only to discover that the hopper network at the bottom was lagging out my game. So I switched it to a rail hopper system, but in the meantime I had an idea about hoppers. Maybe instead of hoppers checking for items, items should flag for hoppers. When an item falls, it eventually reaches the bottom and lands. At this point the item could flag the block position for a hopper check. Items in the same block space would then not perform the flagging process. The flag would be turned off after all items in that space are cleared and could then be flagged again if another item enters the space. In other words, only hoppers below, or passing the normal scan distance below a flagged position would be triggered. This would mean that only when an item or items hit the ground, or move along the ground to a new position (i.e. via water, piston, or block placement) is that space, and only that space, checked actively by hoppers, and only until that space is emptied of items or the items despawn. This would streamline hopper function substantially as there would be no more constant checks over every hopper. Have as many as you want, and it wouldn't slow down the server/system any more than having a few. Even with a massive mob grinder, the unique positions items would land would be relatively few. It would be like having hoppers in those locations only. Also, once flagged for check, the speed of that check wouldn't necessarily have to be lightning quick to still offer a decent level of efficiency while reducing server/system load. How long does it take for items to float past a hopper in a stream of water? Cut that in half and there's your check rate.
I had built a very cool splat-farm in my world, only to discover that the hopper network at the bottom was lagging out my game. So I switched it to a rail hopper system, but in the meantime I had an idea about hoppers. Maybe instead of hoppers checking for items, items should flag for hoppers. When an item falls, it eventually reaches the bottom and lands. At this point the item could flag the block position for a hopper check. Items in the same block space would then not perform the flagging process. The flag would be turned off after all items in that space are cleared and could then be flagged again if another item enters the space. In other words, only hoppers below, or passing the normal scan distance below a flagged position would be triggered. This would mean that only when an item or items hit the ground, or move along the ground to a new position (i.e. via water, piston, or block placement) is that space, and only that space, checked actively by hoppers, and only until that space is emptied of items or the items despawn. This would streamline hopper function substantially as there would be no more constant checks over every hopper. Have as many as you want, and it wouldn't slow down the server/system any more than having a few. Even with a massive mob grinder, the unique positions items would land would be relatively few. It would be like having hoppers in those locations only. Also, once flagged for check, the speed of that check wouldn't necessarily have to be lightning quick to still offer a decent level of efficiency while reducing server/system load. How long does it take for items to float past a hopper in a stream of water? Cut that in half and there's your check rate.
- Skit
Support my suggestions. Make the game better!