Repository navigation
Fix bulk trading with unstackable and high-cost payments - #1
Open
playeriv65 wants to merge 1 commit into
Open
playeriv65 wants to merge 1 commit into
playeriv65 wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Shift-clicking a boat-for-emerald trade currently sells only one boat, even when more boats are available in the inventory. The same problem affects prices above half a stack and unstackable items in the second payment slot.
The refill runs at the start of
quickMoveStack. After a trade exhausts its payment, vanilla clears the result slot and ends the shift-click loop beforequickMoveStackcan run again.This change wraps
quickMoveStack, retains the active offer, and refills payment slots after a successful trade, before vanilla checks whether to continue. It leaves the actual transaction to vanilla and preserves offer stock limits. Failed output moves do not trigger a refill.Validation on Fabric / Minecraft 26.3:
BULKTRADE_SELFTEST=true ./gradlew :fabric:runServer :fabric:buildcompletes with[SELFTEST] RESULT PASS.The self-tests run against the real merchant menu with the mixin applied, using the existing shift-click test helper. Other Minecraft versions and NeoForge have not been runtime-tested locally. No manual client playtest has been performed.