Direct answer

Profile while the storage system is loaded and active. If hopper or inventory-move work is a major branch, reduce unnecessary hopper checks and fix any plugin that performs expensive work for every item movement.

Paper behavior

Paper includes hopper-specific optimizations. Current Paper defaults include a cooldown when a hopper is full. Paper also exposes options such as hopper.disable-move-event, but disabling the Bukkit inventory-move event can break protection or other plugins that rely on it.

Do not change event behavior casually

Compatibility warningdisable-move-event: true can dramatically improve hopper performance, but Paper explicitly warns that it breaks plugins that depend on InventoryMoveItemEvent. Treat it as a compatibility trade-off, not a universal recommendation.

Practical fixes

  • Use fewer constantly-active hopper lines where the same storage design can be achieved with batching/buffering.
  • Stop abandoned farms and storage systems from staying chunk-loaded.
  • Check plugins that listen to inventory movement, logging, protection, shops, or custom items.
  • Keep Paper's current defaults unless profiling proves a reason to change them.

Re-test the exact storage load

Performance changes should be tested with the same farms loaded and similar item throughput. A profile while no items are moving can hide the real cost.

References

These sources were checked while preparing this article. Performance behavior and configuration can change between Minecraft/server-software versions, so verify version-specific settings before applying them.

Was this article helpful?
Help us improve this article

Tell us what is missing, unclear, outdated, or incorrect. You can also suggest something we should add.

What could we improve?
Do not include passwords, server IPs, or other private information.0 / 1000