From 39210646284cabc89256466646f8ea7834a78d31 Mon Sep 17 00:00:00 2001 From: mat <27899617+mat-1@users.noreply.github.com> Date: Tue, 27 Apr 2021 20:02:26 -0500 Subject: Add minion_count leaderboard (#15) * add minion count leaderboard * fix error that happens sometimes * Update index.js --- src/cleaners/skyblock/inventory.ts | 1 + src/cleaners/skyblock/member.ts | 2 +- src/cleaners/skyblock/profile.ts | 15 +++++++++++++-- 3 files changed, 15 insertions(+), 3 deletions(-) (limited to 'src/cleaners') diff --git a/src/cleaners/skyblock/inventory.ts b/src/cleaners/skyblock/inventory.ts index 5d72928..d23bbac 100644 --- a/src/cleaners/skyblock/inventory.ts +++ b/src/cleaners/skyblock/inventory.ts @@ -1,3 +1,4 @@ +// maybe todo?: create a fast replacement for prismarine-nbt import * as nbt from 'prismarine-nbt' function base64decode(base64: string): Buffer { diff --git a/src/cleaners/skyblock/member.ts b/src/cleaners/skyblock/member.ts index fb8132f..5d8d4f9 100644 --- a/src/cleaners/skyblock/member.ts +++ b/src/cleaners/skyblock/member.ts @@ -50,7 +50,7 @@ export async function cleanSkyBlockProfileMemberResponseBasic(member: any, inclu /** Cleans up a member (from skyblock/profile) */ export async function cleanSkyBlockProfileMemberResponse(member, included: Included[] = null): Promise { // profiles.members[] - const inventoriesIncluded = included == null || included.includes('inventories') + const inventoriesIncluded = included === null || included.includes('inventories') const player = await cached.fetchPlayer(member.uuid) if (!player) return return { diff --git a/src/cleaners/skyblock/profile.ts b/src/cleaners/skyblock/profile.ts index 086cd31..433471b 100644 --- a/src/cleaners/skyblock/profile.ts +++ b/src/cleaners/skyblock/profile.ts @@ -45,7 +45,7 @@ export async function cleanSkyblockProfileResponseLighter(data): Promise { +export async function cleanSkyblockProfileResponse(data: any, options?: ApiOptions): Promise { // We use Promise.all so it can fetch all the users at once instead of waiting for the previous promise to complete const promises: Promise[] = [] @@ -54,12 +54,23 @@ export async function cleanSkyblockProfileResponse(data: any, options?: ApiOptio memberRaw.uuid = memberUUID promises.push(cleanSkyBlockProfileMemberResponse( memberRaw, - ['stats', options?.mainMemberUuid === memberUUID ? 'inventories' : undefined] + [ + !options?.basic ? 'stats' : undefined, + options?.mainMemberUuid === memberUUID ? 'inventories' : undefined + ] )) } const cleanedMembers: CleanMember[] = (await Promise.all(promises)).filter(m => m !== null && m !== undefined) + if (options?.basic) { + return { + uuid: data.profile_id, + name: data.cute_name, + members: cleanedMembers, + } + } + const memberMinions: CleanMinion[][] = [] for (const member of cleanedMembers) { -- cgit