aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de
diff options
context:
space:
mode:
authorjani270 <69345714+jani270@users.noreply.github.com>2025-07-31 18:07:18 +0200
committerLinnea Gräf <nea@nea.moe>2025-07-31 18:09:41 +0200
commit19b58ba6b30d3055a48a6dee797eb81234ce5547 (patch)
tree0ce5f067b1fe0cd91699f7f509c803a75dd948dc /src/main/java/de
parentee6ff9a7d7b77efa16d1735aa8a684e442bdccee (diff)
downloadSkyblocker-19b58ba6b30d3055a48a6dee797eb81234ce5547.tar.gz
Skyblocker-19b58ba6b30d3055a48a6dee797eb81234ce5547.tar.bz2
Skyblocker-19b58ba6b30d3055a48a6dee797eb81234ce5547.zip
feat: Nether Island Data and some PlayerStats
Diffstat (limited to 'src/main/java/de')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/NetherIslandPlayerData.java158
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/PlayerStats.java131
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/ProfileMember.java4
3 files changed, 293 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/NetherIslandPlayerData.java b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/NetherIslandPlayerData.java
new file mode 100644
index 00000000..4b2b2676
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/NetherIslandPlayerData.java
@@ -0,0 +1,158 @@
+package de.hysky.skyblocker.skyblock.profileviewer.model;
+
+import com.google.gson.annotations.SerializedName;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class NetherIslandPlayerData {
+ @SerializedName("selected_faction")
+ public String selectedFaction;
+ @SerializedName("mages_reputation")
+ public int magesReputation;
+ @SerializedName("barbarians_reputation")
+ public int barbariansReputation;
+
+ public Matriarch matriarch = new Matriarch();
+
+ public static class Matriarch {
+ @SerializedName("pearls_collected")
+ public int pearlsCollected;
+ @SerializedName("last_attempt")
+ public long lastAttempt;
+ @SerializedName("recent_refreshes")
+ public List<Long> recentRefreshes = new ArrayList<>();
+ }
+
+ @SerializedName("last_minibosses_killed")
+ public List<Long> lastMinibossesKilled = new ArrayList<>();
+
+ public Dojo dojo = new Dojo();
+
+ public static class Dojo {
+ @SerializedName("dojo_points_mob_kb")
+ public int testOfForce;
+ @SerializedName("dojo_points_wall_jump")
+ public int testOfStamina;
+ @SerializedName("dojo_points_archer")
+ public int testOfMastery;
+ @SerializedName("dojo_points_sword_swap")
+ public int testOfDiscipline;
+ @SerializedName("dojo_time_archer")
+ public int testOfSwiftness;
+ @SerializedName("dojo_points_lock_head")
+ public int testOfControl;
+ @SerializedName("dojo_points_fireball")
+ public int testOfTenacity;
+
+ @SerializedName("dojo_time_mob_kb")
+ public int testOfForceTime;
+ @SerializedName("dojo_time_wall_jump")
+ public int testOfStaminaTime;
+ @SerializedName("dojo_time_archer")
+ public int testOfMasteryTime;
+ @SerializedName("dojo_time_sword_swap")
+ public int testOfDisciplineTime;
+ @SerializedName("dojo_time_archer")
+ public int testOfSwiftnessTime;
+ @SerializedName("dojo_time_lock_head")
+ public int testOfControlTime;
+ @SerializedName("dojo_time_fireball")
+ public int testOfTenacityTime;
+ }
+
+ @SerializedName("kuudra_completed_tiers")
+ public KuudraCompletedTiers kuudraCompletedTiers = new KuudraCompletedTiers();
+
+ public static class KuudraCompletedTiers {
+ @SerializedName("none")
+ public int basicTier;
+ @SerializedName("hot")
+ public int hotTier;
+ @SerializedName("burning")
+ public int burningTier;
+ @SerializedName("fiery")
+ public int fieryTier;
+ @SerializedName("infernal")
+ public int infernalTier;
+
+ @SerializedName("highest_wave_none")
+ public int highestBasicWave;
+ @SerializedName("highest_wave_hot")
+ public int highestHotWave;
+ @SerializedName("highest_wave_burning")
+ public int highestBurningWave;
+ @SerializedName("highest_wave_fiery")
+ public int highestFieryWave;
+ @SerializedName("highest_wave_infernal")
+ public int highestInfernalWave;
+ }
+
+ public Abiphone abiphone = new Abiphone();
+
+ public static class Abiphone {
+ @SerializedName("last_dye_called_year")
+ public int lastDyeCalledYear;
+ @SerializedName("has_used_sirius_personal_phone_number_item")
+ public boolean hasSiriusContactedUnlocked;
+ @SerializedName("selected_sort")
+ public String selectedSort;
+ @SerializedName("selected_ringtone")
+ public String selectedRingtone;
+ @SerializedName("trio_contact_addons")
+ public int contactTrio;
+ @SerializedName("active_contacts")
+ public List<String> activeContacts = new ArrayList<>();
+
+ public OperatorChip operatorChip = new OperatorChip();
+ public static class OperatorChip {
+ @SerializedName("repaired_index")
+ public int repairedIndex;
+ }
+
+ public Games games = new Games();
+ public static class Games {
+ @SerializedName("tic_tac_toe_draws")
+ public int ticTacToeDraws;
+ @SerializedName("tic_tac_toe_losses")
+ public int ticTacToeLoses;
+ @SerializedName("snake_best_score")
+ public int snakeBestScore;
+ }
+
+ @SerializedName("contact_data")
+ public Map<String, ContactData> contactData = new HashMap<>();
+ public static class ContactData {
+ @SerializedName("talked_to")
+ public Boolean talkedTo;
+ @SerializedName("completed_quest")
+ public Boolean completedQuest;
+ @SerializedName("last_call")
+ public Long lastCall;
+ @SerializedName("dnd_enabled")
+ public Boolean dndEnabled;
+ @SerializedName("incoming_calls_count")
+ public Integer incomingCallsCount;
+ @SerializedName("last_call_incoming")
+ public Long lastCallIncoming;
+ @SerializedName("specific")
+ public SpecificContactData specific;
+
+ public static class SpecificContactData {
+ @SerializedName("unlocked_target_practice_iv")
+ public Boolean unlockedTargetPracticeIv;
+ @SerializedName("last_reward_year")
+ public Integer lastRewardYear;
+ @SerializedName("last_mistake")
+ public Long lastMistake;
+ @SerializedName("color_index_given")
+ public Integer colorIndexGiven;
+ @SerializedName("gave_saving_grace")
+ public Boolean gaveSavingGrace;
+ }
+ }
+ }
+ //TODO Quests Data, Kuudra Party Finder Data
+}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/PlayerStats.java b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/PlayerStats.java
new file mode 100644
index 00000000..81a1c13d
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/PlayerStats.java
@@ -0,0 +1,131 @@
+package de.hysky.skyblocker.skyblock.profileviewer.model;
+
+import com.google.gson.annotations.SerializedName;
+
+public class PlayerStats {
+ @SerializedName("sea_creature_kills")
+ public int seaCreatureKills;
+ @SerializedName("glowing_mushrooms_broken")
+ public float glowingMushroomsBroken;
+ @SerializedName("highest_damage")
+ public long highestDamage;
+ @SerializedName("highest_critical_damage")
+ public long highestCriticalDamage;
+
+ public Pets pets = new Pets();
+ public static class Pets {
+ @SerializedName("total_exp_gained")
+ public long totalExpGained;
+
+ public Milestone milestone = new Milestone();
+ public static class Milestone {
+ @SerializedName("sea_creatures_killed")
+ public float seaCreaturesKilled;
+ @SerializedName("ores_mined")
+ public float oresMined;
+ }
+ }
+
+ public Gifts gifts = new Gifts();
+ public static class Gifts {
+ @SerializedName("total_received")
+ public float totalReceived;
+ @SerializedName("total_given")
+ public float totalGiven;
+ }
+
+ public Auctions auctions = new Auctions();
+ public static class Auctions {
+ @SerializedName("highest_bid")
+ public float highestBid = 0;
+ public float bids = 0;
+ public float won = 0;
+ public float created = 0;
+ @SerializedName("goldSpent")
+ public float gold_spent = 0;
+ @SerializedName("gold_earned")
+ public float goldEarned = 0;
+ @SerializedName("no_bids")
+ public float noBids;
+ public float fees;
+
+ @SerializedName("total_bought")
+ public RarityStats totalBought = new RarityStats();
+ @SerializedName("total_sold")
+ public RarityStats totalSold = new RarityStats();
+
+ public static class RarityStats {
+ @SerializedName("UNCOMMON")
+ public Double uncommon;
+ @SerializedName("LEGENDARY")
+ public Double legendary;
+ @SerializedName("EPIC")
+ public Double epic;
+ @SerializedName("COMMON")
+ public Double common;
+ @SerializedName("RARE")
+ public Double rare;
+ @SerializedName("SPECIAL")
+ public Double special;
+ @SerializedName("MYTHIC")
+ public Double mythic;
+ public Double total;
+ }
+ }
+
+ public ItemsFished items_fished = new ItemsFished();
+ public static class ItemsFished {
+ public float total = 0;
+ public float normal = 0;
+ public float treasure = 0;
+ @SerializedName("large_treasure")
+ public float largeTreasure = 0;
+ @SerializedName("trophy_fish")
+ public float trophyFish = 0;
+ }
+
+ public Rift rift = new Rift();
+ public static class Rift {
+ @SerializedName("visits")
+ public float visits;
+ @SerializedName("pass_consumed")
+ public float passConsumed;
+ @SerializedName("lifetime_motes_earned")
+ public float lifetimeMotesEarned;
+ @SerializedName("motes_orb_pickup")
+ public float motesOrbPickup;
+ //TODO Add more data like living_metal_spawnegg_used here if neeeded
+ }
+
+ @SerializedName("mythos")
+ public MythologicalData mythologicalData = new MythologicalData();
+ public static class MythologicalData {
+ @SerializedName("kills")
+ public float kills;
+ @SerializedName("burrows_dug_next")
+ public BurrowStats burrowsDugNext = new BurrowStats();
+ @SerializedName("burrows_dug_combat")
+ public BurrowStats burrowsDugCombat = new BurrowStats();
+ @SerializedName("burrows_dug_treasure")
+ public BurrowStats burrowsDugTreasure = new BurrowStats();
+ @SerializedName("burrows_chains_complete")
+ public BurrowStats burrowsChainsComplete = new BurrowStats();
+
+ public static class BurrowStats {
+ @SerializedName("total")
+ public float total;
+ @SerializedName("none")
+ public float none;
+ @SerializedName("COMMON")
+ public float common;
+ @SerializedName("UNCOMMON")
+ public float uncommon;
+ @SerializedName("RARE")
+ public float rare;
+ @SerializedName("LEGENDARY")
+ public float legendary;
+ }
+ }
+
+ //TODO deaths/kills/winter//races/end_island/spooky/
+}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/ProfileMember.java b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/ProfileMember.java
index 208e0a52..e4140bca 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/ProfileMember.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/ProfileMember.java
@@ -34,4 +34,8 @@ public class ProfileMember {
public PlayerData playerData = new PlayerData();
public Leveling leveling = new Leveling();
public AccessoryBagStorage accessoryBagStorage = new AccessoryBagStorage();
+ @SerializedName("nether_island_player_data")
+ public NetherIslandPlayerData netherIslandPlayerData = new NetherIslandPlayerData();
+ @SerializedName("player_stats")
+ public PlayerStats playerStats = new PlayerStats();
}