summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/other/EliteBotJson.kt
blob: 5da9a9629fe7ddee6aa31e6c102276ff963c9cac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package at.hannibal2.skyhanni.data.jsonobjects.other

import at.hannibal2.skyhanni.features.garden.CropType
import at.hannibal2.skyhanni.features.garden.pests.PestType
import com.google.gson.annotations.Expose
import com.google.gson.annotations.SerializedName

data class ElitePlayerWeightJson(
    @Expose val selectedProfileId: String,
    @Expose val profiles: List<WeightProfile>,
)

data class WeightProfile(
    @Expose val profileId: String,
    @Expose val profileName: String,
    @Expose val totalWeight: Double,
    @Expose val cropWeight: Map<CropType, Double>,
    @Expose val bonusWeight: Map<String, Int>,
    @Expose val uncountedCrops: Map<CropType, Int>,
    @Expose val pests: Map<PestType, Int>,
)

data class EliteLeaderboardJson(
    @Expose val data: EliteLeaderboard,
)

data class EliteLeaderboard(
    @Expose val rank: Int,
    @Expose val upcomingRank: Int,
    @Expose val upcomingPlayers: List<UpcomingLeaderboardPlayer>,
)

data class UpcomingLeaderboardPlayer(
    @Expose @SerializedName("ign") val name: String,
    @Expose @SerializedName("amount") val weight: Double,
)

data class EliteWeightsJson(
    @Expose val crops: Map<CropType, Double>,
    @Expose val pests: PestWeightData,
)

data class PestWeightData(
    @Expose val brackets: Map<Int, Int>,
    @Expose @SerializedName("values") val pestWeights: Map<PestType, Map<Int, Double>>,
)