Alright, so I did already look at that tutorial (plus a few others) before I posted this but I decided to take another look at it just in case. As I understand it, packets are only necessary when data changes and not when data needs to be retrieved/accessed. All of my packets function properly. I used println's to verify that they are triggered correctly at all phases, yet it still doesn't work. I imagine my issue now is not marking a function with @SideOnly(Side.CLIENT) or the place were my data is stored for some reason is just not on the server. I've tried moving it to CommonProxy but that