I've created a custom item whereupon right clicking one of my custom mobs, it displays some data from it, including the name, age, sex, health, etc. in a custom gui. I've managed to get the display name working by creating a custom menu provider and overriding the getDisplayName method to return my own translation component. However, I have no idea how to do the same for the rest of my data. I've tried diving into the code to find where on earth getDisplayName is actually called, but so far have had no luck. I've saved the nbt data in the itemstack, hoping to read it that way in the screen, but so far the itemstack I get in the screen (using a custom getter method from the item container) always has no nbt tag, even if through debugging I know it does have one when the nbt is saved. I'm completely lost on what is going on at this point, or even if I'm going about this the right way or not. If I could get some pointers as to where I'm going wrong, that would be great.
Here's my code (item, container, and screen): https://paste.ofcode.org/34dHY86AchbydMMnCnFtkv4