All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.twitch4j.pubsub.domain.HypeTrainConfig Maven / Gradle / Ivy

The newest version!
package com.github.twitch4j.pubsub.domain;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.AccessLevel;
import lombok.Data;
import lombok.Setter;
import org.jetbrains.annotations.Nullable;

import java.util.List;

@Data
@Setter(onMethod_ = { @Deprecated })
@JsonNaming(PropertyNamingStrategies.LowerCamelCaseStrategy.class)
public class HypeTrainConfig {
    private String id;
    private @Deprecated @Setter String channelId;
    private @Deprecated @Setter Boolean isEnabled;
    private @Deprecated @Setter Boolean isWhitelisted;
    private @Deprecated @Setter HypeTrainKickoff kickoff;
    private @Deprecated @Setter Long cooldownDuration;
    private @Deprecated @Setter Long levelDuration;
    private String difficulty;
    @JsonProperty("participationConversionRates")
    private List conversionRates;
    @Setter
    @Deprecated
    @JsonIgnore
    private HypeTrainParticipations participationConversionRates;
    private @Deprecated @Setter HypeTrainParticipations notificationThresholds;
    @JsonProperty("difficultySettings")
    private List difficultySetting;
    @Setter
    @Deprecated
    @JsonIgnore
    private DifficultySettings difficultySettings;
    @JsonProperty("conductorRewards")
    private List leaderRewards;
    @Setter
    @Deprecated
    @JsonIgnore
    private ConductorRewards conductorRewards;
    private List potentialRewards;
    private Emote calloutEmote;
    private @Deprecated @Setter String calloutEmoteId;
    private @Deprecated @Setter String calloutEmoteToken;
    private @Deprecated @Setter String themeColor;
    @JsonProperty("willUseCreatorColor")
    private Boolean useCreatorColor;
    private @Nullable String primaryHexColor;
    private @Deprecated @Setter Boolean usePersonalizedSettings;
    private @Deprecated @Setter Boolean hasConductorBadges;

    @Data
    @Setter(AccessLevel.PRIVATE)
    @JsonNaming(PropertyNamingStrategies.LowerCamelCaseStrategy.class)
    public static class DifficultySetting {
        private String difficulty;
        private int maxLevel;
    }

    @Data
    @Deprecated
    public static class HypeTrainKickoff {
        private Integer numOfEvents;
        private Integer minPoints;
        private Long duration;
    }

    @Data
    @Deprecated
    public static class ConductorRewards {
        @JsonProperty("BITS")
        private ConductorReward bits;

        @JsonProperty("SUBS")
        private ConductorReward subs;

        @Data
        @Deprecated
        public static class ConductorReward {
            @JsonProperty("CURRENT")
            private List current;

            @JsonProperty("FORMER")
            private List former;

            @Data
            @Deprecated
            public static class RewardType {
                private String type;
                private String id;
                private String groupId;
                private Integer rewardLevel;
                private String badgeId;
                private String imageUrl;
            }
        }
    }

    @Data
    @Deprecated
    public static class DifficultySettings {
        @JsonProperty("EASY")
        private List easy;

        @JsonProperty("MEDIUM")
        private List medium;

        @JsonProperty("HARD")
        private List hard;

        @JsonProperty("SUPER_HARD")
        private List superHard;

        @JsonProperty("INSANE")
        private List insane;

        @Data
        @Deprecated
        public static class DifficultySetting {
            private Integer value;
            private Integer goal;
            private List rewards;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy