@Override
    public void setTime(float time) {
        if (logger.isLoggable(Level.INFO)) {
            logger.log(Level.INFO, "layer={0} action={1} time={2}",
                    new Object[]{layerName, actionName, time});
        }
        super.setTime(time);

        Action currentAction = composer.getCurrentAction(layerName);
        Action eventAction = composer.action(actionName);
        if (currentAction != eventAction) {
            composer.setCurrentAction(actionName, layerName);
            assert composer.getCurrentAction(layerName) == eventAction;
        }

        float t = time;
        float duration = (float) eventAction.getLength();
        if (loopMode == LoopMode.Loop) {
            t %= duration;
        } else if (loopMode == LoopMode.Cycle) {
            float direction = (float) Math.ceil(time / duration);
            if (direction > 0f && direction % 2f == 0f) {
                t = duration - t % duration;
            } else {
                t %= duration;
            }
        }

        if (t < 0f) {
            composer.setTime(layerName, 0.0);
        } else if (t > duration) {
            composer.setTime(layerName, t);
            stop();
        } else {
            composer.setTime(layerName, t);
        }
    }
Jump to the specified time.

@param time the desired time (in seconds, time=0 is the start of the
event)
jme3-core/src/main/java/com/jme3/cinematic/events/AnimEvent.java