public void createProjectile(Actor source, String im, int sp, Point start, Point end, boolean f, boolean p, boolean dt, int d) {
        if (gameController.multiplayerMode != gameController.multiplayerMode.CLIENT) {
            Projectile projectile = new Projectile(this, registry, source, im, sp, start, end, f, p, dt, d);

            if (gameController.multiplayerMode == gameController.multiplayerMode.SERVER && registry.getNetworkThread() != null) {
                if (registry.getNetworkThread().readyForUpdates()) {
                    UpdateProjectile up = new UpdateProjectile();
                    up.id = projectile.getId();
                    if (source != null) {
                        up.playerId = source.getId();
                    }
                    up.image = im;
                    up.speed = sp;
                    up.start = start;
                    up.end = end;
                    up.friendly = f;
                    up.placeable = p;
                    up.disregardTerrain = p;
                    up.damage = d;
                    up.action = "Create";
                    registry.getNetworkThread().sendData(up);
                }
            }

            registerProjectile(projectile);

            return;
        } else {
            return;
        }
    }