Refactor Basin's behaviour on Contraptions #9632
Draft
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.
This PR refactors how basins work on contraptions.
It adds a MountedItemStorage and a MountedFluidStorage for basins on contraptions, both of which take the basins input/output section into account.
It also adds a BasinInteractionBehaviour that lets players right-click a basin on a contraption to take the items out; just like it would work in-world.
It also refactors BasinMovementBehaviour to use and update these storages accordingly. Additionally, this behaviour checks every tick in order to pick up items.
Finally, this adds methods to render the basin correctly in-contraption, including fluids and items.
Gameplay Changes