diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/cleaners/skyblock/inventory.ts | 4 | ||||
-rw-r--r-- | src/cleaners/skyblock/member.ts | 5 | ||||
-rw-r--r-- | src/cleaners/skyblock/zones.ts | 18 |
3 files changed, 25 insertions, 2 deletions
diff --git a/src/cleaners/skyblock/inventory.ts b/src/cleaners/skyblock/inventory.ts index 1b49e95..96cd629 100644 --- a/src/cleaners/skyblock/inventory.ts +++ b/src/cleaners/skyblock/inventory.ts @@ -27,7 +27,9 @@ interface Item { export type Inventory = Item[] function cleanItem(rawItem): Item { - const vanillaId: number = rawItem.id + // if the item doesn't have an id, it isn't an item + if (rawItem.id === undefined) return null + const vanillaId: number = rawItem.id && -1 const itemCount = rawItem.Count const damageValue = rawItem.Damage const itemTag = rawItem.tag diff --git a/src/cleaners/skyblock/member.ts b/src/cleaners/skyblock/member.ts index 6796f7d..e7e6250 100644 --- a/src/cleaners/skyblock/member.ts +++ b/src/cleaners/skyblock/member.ts @@ -9,6 +9,7 @@ import { CleanFullProfile } from './profile' import { Included } from '../../hypixel' import { CleanPlayer } from '../player' import { Bank } from './bank' +import { cleanVisitedZones, Zone } from './zones' export interface CleanBasicMember { uuid: string @@ -25,6 +26,7 @@ export interface CleanMember extends CleanBasicMember { inventories: Inventories objectives: Objective[] skills: Skill[] + visited_zones: Zone[] } export async function cleanSkyBlockProfileMemberResponseBasic(member, included: Included[] = null): Promise<CleanBasicMember> { @@ -53,7 +55,8 @@ export async function cleanSkyBlockProfileMemberResponse(member, included: Inclu fairy_souls: cleanFairySouls(member), inventories: inventoriesIncluded ? await cleanInventories(member) : undefined, objectives: cleanObjectives(member), - skills: cleanSkills(member) + skills: cleanSkills(member), + visited_zones: cleanVisitedZones(member) } } diff --git a/src/cleaners/skyblock/zones.ts b/src/cleaners/skyblock/zones.ts new file mode 100644 index 0000000..87d008d --- /dev/null +++ b/src/cleaners/skyblock/zones.ts @@ -0,0 +1,18 @@ +export interface Zone { + name: string + visited: boolean +} + + +export function cleanVisitedZones(data: any): Zone[] { + const rawZones = data?.visited_zones || [] + // TODO: store all the zones that exist in SkyBlock, add add those to the array with visited being false + const zones: Zone[] = [] + for (const rawZoneName of rawZones) { + zones.push({ + name: rawZoneName, + visited: true + }) + } + return zones +} |