Fix Crafting Station Connected Inventory Desync #2789
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What
Fixes an issue where
getAvailableHandlers()was being called on the client side, overwriting the connected inventory with an invalid handler. This would also overwrite any attempts to sync the connected inventory through initial sync. The connected inventory should only be computed server-side, and only the reference returned on the client-side.Implementation Details
the connected inventory should now only be calculated on the server side
connected inventory searching is now split off into it's own method
connected inventory is synced on initial sync
add server check for when writing data
Outcome
the error
"Here are x slots, but expected y"from ModularUI should now be fixed