/* * Copyright (C) 2024 NotEnoughUpdates contributors * * This file is part of NotEnoughUpdates. * * NotEnoughUpdates is free software: you can redistribute it * and/or modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation, either * version 3 of the License, or (at your option) any later version. * * NotEnoughUpdates is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with NotEnoughUpdates. If not, see . */ package io.github.moulberry.notenoughupdates.profileviewer.data; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import javax.annotation.Nullable; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import static io.github.moulberry.notenoughupdates.profileviewer.rift.RiftPage.readBase64; public class APIDataJson { public Leveling leveling = new Leveling(); public static class Leveling { public int highest_pet_score = 0; public int mining_fiesta_ores_mined = 0; public int fishing_festival_sharks_killed = 0; public Completions completions = new Completions(); public static class Completions { public int NUCLEUS_RUNS = 0; } } public Currencies currencies = new Currencies(); public static class Currencies { public float coin_purse = 0; public float motes_purse = 0; } public Profile profile = new Profile(); public static class Profile { public int personal_bank_upgrade = 0; public boolean cookie_buff_active = false; public float bank_account = 0; } public Experimentation experimentation = new Experimentation(); public static class Experimentation { public int serums_drank = 0; } public Player_Stats player_stats = new Player_Stats(); public static class Player_Stats { public Pets pets = new Pets(); public static class Pets { public Milestone milestone = new Milestone(); public static class Milestone { public float ores_mined = 0; public float sea_creatures_killed = 0; } } public Auctions auctions = new Auctions(); public static class Auctions { public float highest_bid = 0; public float bids = 0; public float won = 0; public float created = 0; public float gold_spent = 0; public float gold_earned = 0; } public ItemsFished items_fished = new ItemsFished(); public static class ItemsFished { public float total = 0; public float treasure = 0; public float large_treasure = 0; } public Rift rift = new Rift(); public static class Rift { public int lifetime_motes_earned = 0; } } public FairySouls fairy_soul = new FairySouls(); public static class FairySouls { public int total_collected = 0; } public @Nullable NetherData nether_island_player_data; public static class NetherData { public @Nullable JsonObject dojo; public @Nullable Abiphone abiphone; public static class Abiphone { public OperatorChip operator_chip = new OperatorChip(); public static class OperatorChip { public int repaired_index = 0; } } } public MiningCore mining_core = new MiningCore(); public static class MiningCore { public float powder_mithril = 0; public float powder_gemstone = 0; public float powder_glacite = 0; public float powder_spent_mithril = 0; public float powder_spent_gemstone = 0; public float powder_spent_glacite = 0; public Map nodes = new HashMap<>(); } public @Nullable Rift rift; public static class Rift { public @Nullable RiftDeadCats dead_cats; public static class RiftDeadCats { public List found_cats = new ArrayList<>(); public Pet montezuma = new Pet(); public static class Pet { public String type = "UNKNOWN"; public String tier = "EPIC"; public Long exp = 0L; public int candyUsed = 0; } } public RiftInventory inventory = new RiftInventory(); public static class RiftInventory { public @Nullable Inventory inv_contents; public @Nullable Inventory inv_armor; public @Nullable Inventory equipment_contents; public @Nullable Inventory ender_chest_contents; public static class Inventory { private String data; public List readItems() { if (data == null) return null; return readBase64(data); } } } public @Nullable RiftGallery gallery; public static class RiftGallery { public @Nullable JsonArray secured_trophies; } public RiftCastle castle = new RiftCastle(); public static class RiftCastle { public int grubber_stacks = 0; } public RiftEnigma enigma = new RiftEnigma(); public static class RiftEnigma { public List found_souls = new ArrayList<>(); } } public PlayerData player_data = new PlayerData(); public static class PlayerData { public int reaper_peppers_eaten = 0; } public @Nullable AccessoryBagStorage accessory_bag_storage; public static class AccessoryBagStorage { public int bag_upgrades_purchased = 0; public int highest_magical_power = 0; public List unlocked_powers = new ArrayList<>(); } public JacobsContest jacobs_contest = new JacobsContest(); public static class JacobsContest { public Perks perks = new Perks(); public static class Perks { public int double_drops = 0; public int farming_level_cap = 0; } } public @Nullable Events events; public static class Events { public @Nullable EasterEventData easter; public static class EasterEventData { public @Nullable JsonObject rabbits; public @Nullable EmployeeData employees; public @Nullable TimeTowerData time_tower; public @Nullable HoppityShoppity shop; public long chocolate = 0; public long chocolate_since_prestige = 0; public long total_chocolate = 0; public int click_upgrades = 0; public int chocolate_level = 1; public int chocolate_multiplier_upgrades = 0; public int rabbit_barn_capacity_level = 1; public int rabbit_rarity_upgrades = 0; public long last_viewed_chocolate_factory = 0; public int refined_dark_cacao_truffles = 0; public static class EmployeeData { public int rabbit_bro = 0; public int rabbit_cousin = 0; public int rabbit_sis = 0; public int rabbit_father = 0; public int rabbit_grandma = 0; public int rabbit_uncle = 0; public int rabbit_dog = 0; } public static class TimeTowerData { public int level = 0; public int charges = 0; public long last_charge_time = 0; public long activation_time = 0; } public static class HoppityShoppity { public long chocolate_spent = 0; } } } public WinterPlayerData winter_player_data = new WinterPlayerData(); public static class WinterPlayerData { public int refined_jyrre_uses = 0; } public GardenPlayerData garden_player_data = new GardenPlayerData(); public static class GardenPlayerData { public int larva_consumed = 0; public int copper = 0; } public GlacitePlayerData glacite_player_data = new GlacitePlayerData(); public static class GlacitePlayerData { public List fossils_donated = new ArrayList<>(); } }