aboutsummaryrefslogtreecommitdiff
path: root/src/cleaners/skyblock
diff options
context:
space:
mode:
Diffstat (limited to 'src/cleaners/skyblock')
-rw-r--r--src/cleaners/skyblock/inventory.ts4
-rw-r--r--src/cleaners/skyblock/member.ts5
-rw-r--r--src/cleaners/skyblock/zones.ts18
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
+}