Reimplementing some mojang classes so I can get at the data I need for this