@Override
    protected void controlUpdate(float tpf) {
        if(shot){
            Spatial tempBullet = ((Node)spatial).getChild("Bullet" + bulletNo).clone();
            tempBullet.setCullHint(Spatial.CullHint.Dynamic);
            ((Node)spatial).getChild("Collider").setCullHint(Spatial.CullHint.Always);
            
            if(bulletNo == 1){
                tempBullet.setLocalTranslation(spatial.getParent().getChild("Hand_R").getWorldTranslation());
            }else if(bulletNo == 2){
                tempBullet.setLocalTranslation(spatial.getParent().getChild("Hand_L").getWorldTranslation());
            }else if(bulletNo == 3){
                tempBullet.setLocalTranslation(spatial.getParent().getChild("Body").getWorldTranslation());
            }
            
            Quaternion q = new Quaternion();
            q.lookAt(((Node)getPlayerModel()).getChild("Collider").getWorldTranslation().subtract(spatial.getParent().getWorldTranslation()), Vector3f.UNIT_Y);
            tempBullet.setLocalRotation(q);
            getStageNode().attachChild(tempBullet);
            
            BulletControl bc = tempBullet.getControl(BulletControl.class);
            
            if(bulletNo == 1){
                bc.setDamage(damage);
                bc.setPush_Force(push_Force);
            }else if(bulletNo == 2){
                bc.setDamage(damage2);
                bc.setPush_Force(push_Force2);
            }else if(bulletNo == 3){
                bc.setDamage(damage3);
                bc.setPush_Force(push_Force3);
            }
            
            bc.setSpeed(speed);
            bc.setRange(range);
            bc.setRemovalTime(removalTime);
            
            if(effects != SpecialEffects.NONE){
                bc.setEffects(effects);
                bc.setTimer_Effect(timer_Effect);
            }
            
            bc.setDir(getPlayerModel().getWorldTranslation().subtract(spatial.getParent().getWorldTranslation()).normalize().clone());
            bc.setOrigin(spatial.getParent().getChild("Hand_R").getWorldTranslation().clone());
            bc.setEnabled(true);
            
            shot = false;
        }
    }