From 30fbf3de560b91a461243998e7efcef38383595e Mon Sep 17 00:00:00 2001 From: jani270 <69345714+jani270@users.noreply.github.com> Date: Thu, 31 Jul 2025 15:16:54 +0200 Subject: feat: more models --- .../skyblock/profileviewer/model/Forge.java | 23 +++++++++ .../profileviewer/model/GardenPlayerData.java | 9 ++++ .../profileviewer/model/GlacitePlayerData.java | 19 ++++++++ .../profileviewer/model/JacobsContest.java | 57 ++++++++++++++++++++++ .../profileviewer/model/ProfileMember.java | 7 +++ 5 files changed, 115 insertions(+) create mode 100644 src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/Forge.java create mode 100644 src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/GardenPlayerData.java create mode 100644 src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/GlacitePlayerData.java create mode 100644 src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/JacobsContest.java (limited to 'src') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/Forge.java b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/Forge.java new file mode 100644 index 00000000..328c5557 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/Forge.java @@ -0,0 +1,23 @@ +package de.hysky.skyblocker.skyblock.profileviewer.model; + +import com.google.gson.annotations.SerializedName; + +import java.util.HashMap; +import java.util.Map; + +public class Forge { + @SerializedName("forge_processes") + public ForgeProcesses forgeProcesses = new ForgeProcesses(); + + public static class ForgeProcesses { + public Map forge_1 = new HashMap<>(); + + public static class Node { + public String type; + public String id; + public long startTime; + public int slot; + public boolean notified = false; + } + } +} diff --git a/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/GardenPlayerData.java b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/GardenPlayerData.java new file mode 100644 index 00000000..d3f3875c --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/GardenPlayerData.java @@ -0,0 +1,9 @@ +package de.hysky.skyblocker.skyblock.profileviewer.model; + +import com.google.gson.annotations.SerializedName; + +public class GardenPlayerData { + public int copper; + @SerializedName("larva_consumed") + public int larvaConsumed; +} diff --git a/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/GlacitePlayerData.java b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/GlacitePlayerData.java new file mode 100644 index 00000000..b6099e62 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/GlacitePlayerData.java @@ -0,0 +1,19 @@ +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 GlacitePlayerData { + @SerializedName("fossil_dust") + public double fossilDust; + @SerializedName("mineshafts_entered") + public int mineshaftsEntered; + @SerializedName("corpses_looted") + public Map corpsesLooted = new HashMap<>(); + @SerializedName("fossils_donated") + public List fossilsDonated = new ArrayList<>(); +} diff --git a/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/JacobsContest.java b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/JacobsContest.java new file mode 100644 index 00000000..19ec8f79 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/skyblock/profileviewer/model/JacobsContest.java @@ -0,0 +1,57 @@ +package de.hysky.skyblocker.skyblock.profileviewer.model; + +import com.google.gson.annotations.SerializedName; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class JacobsContest { + public boolean talked; + public boolean migration; + + public Perks perks = new Perks(); + + public static class Perks { + @SerializedName("farming_level_cap") + public int farmingLevelCap; + @SerializedName("double_drops") + public int doubleDrops; + @SerializedName("personal_bests") + public boolean personalBests; + } + + @SerializedName("medals_inv") + public MedalsInventory medalsInventory = new MedalsInventory(); + + public static class MedalsInventory { + public int bronze; + public int silver; + public int gold; + + public int getTotalMedals() { + return bronze + silver + gold; + } + } + + @SerializedName("personal_bests") + public Map personalBests = new HashMap<>(); + + + @SerializedName("unique_brackets") + public Map> uniqueBrackets = new HashMap<>(); + + /** + * Contest ID Format: Contest keys like "99:11_7:POTATO_ITEM" are "SKYBLOCK_YEAR:MONTH_DAY:CROP" + */ + public Map contests = new HashMap<>(); + + public static class Contest { + @SerializedName("claimed_rewards") + public boolean claimedRewards; + @SerializedName("claimed_position") + public int claimedPosition; + @SerializedName("claimed_participants") + public int claimedParticipants; + } +} 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 2ab98d39..7584e776 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 @@ -19,4 +19,11 @@ public class ProfileMember { public Currencies currencies = new Currencies(); public Dungeons dungeons = new Dungeons(); public Experimentation experimentation = new Experimentation(); + public Forge forge = new Forge(); + @SerializedName("garden_player_data") + public GardenPlayerData gardenPlayerData = new GardenPlayerData(); + @SerializedName("glacite_player_data") + public GlacitePlayerData glacitePlayerData = new GlacitePlayerData(); + @SerializedName("jacobs_contest") + public JacobsContest jacobsContest = new JacobsContest(); } -- cgit