Custom Animations (WIP)

public class YourPhaseAnimation extends OpeningPhaseAnimation<EmptyOpeningPhaseData> {

    public YourPhaseAnimation(OpeningCrateAnimation animation, OpeningPhaseType type,
            EmptyOpeningPhaseData data) {
        super(animation, type, data);
    }

    @Override
    public void load() {
        }

    @Override
    public void tick() {
        }

    @Override
    public void unload() {
        }
        
}
public void onEnable() {
        registerPhase(
                new OpeningPhaseType(PhaseType.FIRST, "YOUR_PHASE_IDENTIFIER",
                "Your Display Name",
                XMaterial.STONE, ServerVersion.v1_16_R1,
                            new XMaterial[] {}, EmptyOpeningPhaseData.class,
                            (animation, type, data) -> new YourPhaseAnimationAnimation(animation,
                                    type, (EmptyOpeningPhaseData) data),
                            () -> new EmptyOpeningPhaseData()));
}

public void onDisable() {
        for (final OpeningPhaseType type : this.registeredPhases) {
            OpeningPhaseType.unregisterPhase(type);
        }
}

private void registerPhase(OpeningPhaseType phase) {
        // Registering first phase animations
        OpeningPhaseType.registerPhase(phase);

        // Caching to unload later on
        this.registeredPhases.add(phase);
}

Last updated