1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
import { cleanCollections } from './collections.js';
import { cleanInventories } from './inventory.js';
import { cleanFairySouls } from './fairysouls.js';
import { cleanObjectives } from './objectives.js';
import { cleanProfileStats } from './stats.js';
import { cleanMinions } from './minions.js';
import { cleanSlayers } from './slayers.js';
import { cleanVisitedZones } from './zones.js';
import { cleanSkills } from './skills.js';
import * as cached from '../../hypixelCached.js';
import * as constants from '../../constants.js';
export async function cleanSkyBlockProfileMemberResponseBasic(member) {
const player = await cached.fetchPlayer(member.uuid);
if (!player)
return null;
return {
uuid: member.uuid,
username: player.username,
last_save: member.last_save / 1000,
first_join: member.first_join / 1000,
rank: player.rank
};
}
/** Cleans up a member (from skyblock/profile) */
export async function cleanSkyBlockProfileMemberResponse(member, included = undefined) {
// profiles.members[]
const inventoriesIncluded = included === undefined || included.includes('inventories');
const player = await cached.fetchPlayer(member.uuid);
if (!player)
return null;
const fairySouls = cleanFairySouls(member);
const { max_fairy_souls: maxFairySouls } = await constants.fetchConstantValues();
if (fairySouls.total > (maxFairySouls ?? 0))
await constants.setConstantValues({ max_fairy_souls: fairySouls.total });
return {
uuid: member.uuid,
username: player.username,
last_save: member.last_save / 1000,
first_join: member.first_join / 1000,
rank: player.rank,
purse: member.coin_purse,
stats: cleanProfileStats(member),
// this is used for leaderboards
rawHypixelStats: member.stats ?? {},
minions: await cleanMinions(member),
fairy_souls: fairySouls,
inventories: inventoriesIncluded ? await cleanInventories(member) : undefined,
objectives: cleanObjectives(member),
skills: await cleanSkills(member),
visited_zones: await cleanVisitedZones(member),
collections: cleanCollections(member),
slayers: cleanSlayers(member)
};
}
|