The bug

Brewing stands will not take water bottles from hoppers or droppers when the bottles that were in it are taken out with a hopper below.

Steps to reproduce

Place a brewing stand Place a hopper below it and on the side of it Put three water bottles into the side hopper Any additional water bottles will stay in the hopper

Code analysis

Based on 1.11.2 decompiled using MCP 9.35 rc1

The problem seems to be that the method net.minecraft.tileentity.TileEntityBrewingStand.isItemValidForSlot(int, ItemStack) does more than it should. Assuming that it should only return if an item type is valid. In this case it would make also more sense to replace the ItemStack parameter with an Item parameter because the count should not matter. If this is the intended behavior the method net.minecraft.tileentity.TileEntityFurnace.isItemValidForSlot(int, ItemStack) is not correctly working then.