Yeah, it was EntityClientPlayerMP, my bad.
I know. I mean, I used NBT before, when I was able to. But now NBT is different on Client and Server.
For example Im setting nbt string in Item#onUsingTick. Then I want to read it from Minecraft.getMinecraft().player.getEntityData() (because TickEvent.RenderTickEvent doesn't have any entity or player field), and there is no such string.
So I decided to use new DataStorage. I've tried to change TickEvent.RenderTickEvent to LivingEntityUseItemEvent.Tick, but error appear on bindTexture, "java.lang.RuntimeException: No OpenGL context found in the current thread.". So Im done at the moment.
Exactly. So how am I able to read any data from client? Should I use Custom Packets for such a thing?