PalladiumEvents.registerAnimations((event) => {
    event.register('herotime/primeov', 15, (builder) => {
    event.registerForPower('herotime/primeov', 'grave.ht:complete_omnitrix', 15, (builder) => {
        const progress = animationUtil.getAnimationTimerAbilityValue(builder.getPlayer(), 'grave.ht:complete_omnitrix', 'prime', builder.getPartialTicks());

        if (progress > 0.0) {
            if (builder.isFirstPerson()) {
                // do first-person animations
                builder.get('left_arm')
                    .setXRotDegrees(-60)
                    .setYRotDegrees(30)
                    .setZRotDegrees(10)
                    .setX(7)
                    .setY(0)
                    .setZ(3)
                    .animate('InOutBack', progress);

                builder.get('right_arm')
                    .setXRotDegrees(-75)
                    .setYRotDegrees(-25)
                    .setZRotDegrees(-30)
                    .setX(-8)
                    .setY(-3)
                    .setZ(0)
                    .animate('InOutBack', progress);
            } else {
                // do third-person animations
                builder.get('left_arm')
                    .setXRotDegrees(-120)
                    .setZRotDegrees(-120)
                    .setYRotDegrees(30)
                    .animate('InOutBack', progress);

                builder.get('right_arm')
                    .setXRotDegrees(-80)
                    .setZRotDegrees(-10)
                    .setYRotDegrees(-40)
                    .animate('InOutBack', progress);
            }
        }
    });
});