Move bulk of code up to CraftPlayer