I want to create a custom player class. I have done this so far: Made a LcPlayer interface, it extends SpoutPlayer (SpoutPlayer extends Player). Made a LcCraftPlayer class, it extends SpoutCraftPlayer. It has a constructor that calls super. What I need to know is how to use it properly. I haven't looked thoroughly, but I presume a new instance of the Player class is called whenever a player joins. How do I make it so there is a new instance of LcPlayer / LcCraftPlayer along with Player / CraftPlayer and SpoutPlayer / SpoutCraftPlayer? This may be a bit of a complicated question, because not many people make custom player classes.