Cache storage contents client-side per player
rubensworks opened this issue · 2 comments
Issue type:
- ➕ Feature request
Short description:
Currently, the storage contents and crafting options are sent from server to client every time the storage terminal is opened.
If the network is large, and the player re-opens the terminal frequently, this means that a lot of redundant data is transferred from server to client.
Since we have diff logic in place, we could cache the "last" contents client-side per player, and request diff changes from the server.
This would reduce network usage, and speed up re-opening terminals.
Related to CyclopsMC/IntegratedTerminals#169 and #156
I would recommend this caching to be done on a per network basis, not per terminal. And maintain it even while a terminal isn't used.
Since switching between terminals from different networks, shouldn't cause the cache to become invalidated immediately, and multiple terminals of the same network shouldn't need to maintain separate caches either.