--- a/net/minecraft/network/HashedStack.java +++ b/net/minecraft/network/HashedStack.java @@ -17,7 +_,7 @@ } @Override - public boolean matches(ItemStack stack, HashedPatchMap.HashGenerator hashGenerator) { + public boolean matches(ItemStack stack, HashedPatchMap.HashGenerator hashGenerator, final boolean simplifyMatching) { // Paper - add flag to simplify remote matching logic return stack.isEmpty(); } }; @@ -27,7 +_,7 @@ hashedStack -> hashedStack instanceof HashedStack.ActualItem actualItem ? Optional.of(actualItem) : Optional.empty() ); - boolean matches(ItemStack stack, HashedPatchMap.HashGenerator hashGenerator); + boolean matches(ItemStack stack, HashedPatchMap.HashGenerator hashGenerator, final boolean simplifyMatching); // Paper - add flag to simplify remote matching logic static HashedStack create(ItemStack stack, HashedPatchMap.HashGenerator hashGenerator) { return (HashedStack)(stack.isEmpty() @@ -47,10 +_,10 @@ ); @Override - public boolean matches(ItemStack stack, HashedPatchMap.HashGenerator hashGenerator) { + public boolean matches(ItemStack stack, HashedPatchMap.HashGenerator hashGenerator, final boolean simplifyMatching) { // Paper - add flag to simplify remote matching logic return this.count == stack.getCount() && this.item.equals(stack.getItemHolder()) - && this.components.matches(stack.getComponentsPatch(), hashGenerator); + && (simplifyMatching || this.components.matches(stack.getComponentsPatch(), hashGenerator)); // Paper - add flag to simplify remote matching logic } } }