You dont what? And I'm sorry; running on no sleep. Forming sentences is hard.
I meant to say how did you check that it isnt copying the fluid data. Did you check to make sure it isnt a client server desync.
Ok first don't implement ITileEntityProvider it is legacy code. Override hasTileEntity(BlockState) and createTileEntity(World BlockState)
Second how do you know that the fluid data isn't being transferred to the ItemStack? How did you test it?
It's trying to allocate 3GB either release more RAM for gradle to use or edit your gradle.properties file so it uses less RAM. No guarantees that it will work though.
Ok the problem is the items you are registering are not the same items you are registering models for. Read up on the ObjectHolder annotation on the forge docs.