When your mod gets loaded you have to register the Entity in the GameRegistry. If you dont do that then your Entity cant spawn in the client world because the server doesnt know what the Entity you spawned is. I mean you have to do that with items/blocks too how do you think server-client connection works?
Its not like the server-client magicly know what they do next to each other. No there is communication between those two. And they have to use ShortCuts to prevent that to much data is beeing used. Thats why you need to register these Entities/Items/Blocks/TileEntities etc. Because else those don't know what the other side is doing.
I seriousely would look into other mods code (even Exp is good enough for that shit) to look how they did the Entity things. I mean every single Aspect of it not just spawning. I mean use a Decompiler or look on github and search for all references that these EntityClasses have. Its really important to know what you are doing.