When you use WorldClient.removeEntity(...) you're removing the entity from one side, the client side. Not the server side. Now that the client doesn't know this entity, it can't add it back. Instead of using the method above, make the entity invisible instead. This will ensure it is still available on both, the client and the server. This mod of yours would not work on a Server.