Overriding showFeedback is probably your best bet. Take a look at the existing implementation of TreeDropTarget.showFeedback for how to find out what node the user is over, then call event.getStatusProxy.setStatus(boolean) to tell the user that they are or are not allowed to drop.

I tried overriding the showFeedback method but it's not doing what I want it to do. I want the user to only re-order nodes within the same parent node and not be dragged into its siblings' node. I also don't want it to become a new node outside of its parent node. How would I accomplish this?

I basically check to see if the item being dragged has the same parentId as the target so the reordering takes places within the same level nodes. When I do this, the only valid drop area was the area between the parent node and the first child in the node. After the drop, the node is moved as a new node outside of the parent node. It basically becomes a sibling of the parent. Any help would be much appreciated.