I'm sorry, but this is really bad. Entity shouldn't have to know if it is a player, the parts of entity that are used for both players and non-players should be moved somewhere, and the parts that are just used for entity should be somewhere else, so that you just construct an "Entity" or a "Player". (or whatever you want to call them).