Skip to content

Conversation

@lineargraph
Copy link
Contributor

@lineargraph lineargraph commented Jul 31, 2025

:trollface:

@LifeIsAParadox LifeIsAParadox added the wip This PR is a work in progress label Jul 31, 2025
@AzureAaron AzureAaron added the new feature This issue or PR is a new feature label Aug 1, 2025
@jani270
Copy link
Contributor

jani270 commented Aug 1, 2025

TODO:

  • Open on Skycrypt Button
  • Profile Switching (Maybe Profile viewer update #1278 or pixel art icons)
  • Remove hardcoded skill exp from LevelFinder
  • Player Rank into Player Name
  • Networth
  • Search through entire pv
  • Show if Skills API is disabled
  • Inventories Page
    • Magical Power on Accessory Bag Hover
    • ? Missing Acccories
    • Tunings
  • Bestiary Page
    • Search for Category or Mob
  • Garden Page
  • Choco Factory Page
  • Minions (Maybe on Collections Page?)
  • Catacombs
    • Croesus
    • Last Dungeon Run
  • Rift Page
  • Mining Page
    • Fossiles
    • Corpses
    • Forge
    • Crystals / Crystal Nucleus Runs
    • HOTM Tree (Not possible rn)
  • Crismon Page
    • Dojo
    • Abiphone
    • Missing Abiphone Contacts
    • Trophy Fish
    • Kuudra Completions
    • Faction
    • Reputation
  • Museum Page (some data might be already in Museum HUD #1170) (requires backend because its another request)
    • Missing Museum Items

public Map<String, ClassStats> classStats = Map.of();

public ClassStats getClassData(Class dungeonClass) {
return classStats.getOrDefault(dungeonClass.getName().toLowerCase(), new ClassStats());
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should use Locale.ENGLISH

return classStats.getOrDefault(dungeonClass.getName().toLowerCase(), new ClassStats());
}

public enum Class {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While these models are meant to be separate, we already have a DungeonClass enum in the dungeon package and its pretty much the exact same as this so I would make an exception and use it instead to avoid duplication.

public String cuteName;
public Events events = new Events();
public Bestiary bestiary = new Bestiary();
// TODO: mining_core (which is broken right now)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This TODO should probably be moved somewhere else since the data isn't in this model.

public class CommunityUpgrades {
// @Nullable
// @SerializedName("currently_upgrading")
// public String currentlyUpgrading = null;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Example data I found on my friend's profile:

"currently_upgrading":{"upgrade":"coins_allowance","new_tier":1,"start_ms":1753150988337,"who_started":"00104f77085443018d4e886a477346b8"}}

There might be more possible fields but this should be a good place to start.


public Map<String, Integer> completions;
@SerializedName("bop_bonus")
public String bookOfProgressionBonus;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could maybe be an enum


@SerializedName("contact_data")
public Map<String, ContactData> contactData = new HashMap<>();
public static class ContactData {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some of these fields could perhaps be marked as nullable

* Gets a submap of the map with only entries prefixed with the prefix. Assumes that the prefix is always followed by an {@code _} and no non underscore separated values exist.
*/
private static Map<String, Integer> getPrefixMap(NavigableMap<String, Integer> map, String prefix) {
return map.subMap(prefix + '_', prefix + ('_' + 1));
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'_' + 1 does not concatenate the both but rather results in 96 since chars are integers on the stack and can be added with them. Some mobs also go above level 199 but I assume this will also work for them too.

@LifeIsAParadox LifeIsAParadox added the merge conflicts This PR has merge conflicts that need solving. label Sep 27, 2025
@viciscat
Copy link
Collaborator

🙂

@Kathund
Copy link

Kathund commented Dec 5, 2025

🙂

Hi vic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge conflicts This PR has merge conflicts that need solving. new feature This issue or PR is a new feature wip This PR is a work in progress

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants