If I set a custom texture for a snowball (using CustomModelData), when thrown the projectile will also show the custom texture. But if I use player.launchProjectile(Snowball.class) it doesn't use the custom texture. My goal is to create infinite snowballs that have a custom texture. So I'm cancelling the interact event and launching the projectile myself. I've also tried allowing the interact to go through and then setting the item in the hand during the ProjectileLaunchEvent but that doesn't work, I guess the item is removed afterwards. I thought about setting the item 1 tick later but I'd rather a better solution. Is there a way to do this?