No idea why I didn't think of this before, I'm already using the onUpdate method in the Item to check if the capability is "dirty" or needs its data to be sent. onUpdate actually gives me the slot id the stack is in so I can just use that to update that specific slot on the client.
So how would one go about syncing the values of a capability attached to an ItemStack from server to client? I need these values to display the durability bar for the stack and for the addInformation method. The problem I'm having with packets is I don't know how to send this data to the specific stack unless there's a way to track the stack with an id or something that i'm unaware of.