hypixel-api-reborn 11.2.1 → 11.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +8 -8
- package/src/API/housing/getActiveHouses.js +7 -0
- package/src/API/housing/getHouse.js +9 -0
- package/src/API/housing/getPlayerHouses.js +11 -0
- package/src/API/index.js +6 -1
- package/src/API/skyblock/getGarden.js +7 -0
- package/src/API/skyblock/getMember.js +4 -2
- package/src/API/skyblock/getProfiles.js +4 -2
- package/src/Client.js +46 -2
- package/src/Private/requests.js +1 -1
- package/src/index.js +5 -0
- package/src/structures/House.js +54 -0
- package/src/structures/MiniGames/Arcade.js +754 -270
- package/src/structures/MiniGames/ArenaBrawl.js +97 -31
- package/src/structures/MiniGames/BlitzSurvivalGames.js +378 -127
- package/src/structures/MiniGames/BuildBattle.js +19 -8
- package/src/structures/MiniGames/CopsAndCrims.js +252 -25
- package/src/structures/MiniGames/Duels.js +899 -656
- package/src/structures/MiniGames/MegaWalls.js +390 -51
- package/src/structures/MiniGames/MurderMystery.js +151 -30
- package/src/structures/MiniGames/Paintball.js +31 -11
- package/src/structures/MiniGames/Quakecraft.js +113 -50
- package/src/structures/MiniGames/SkyWars.js +340 -195
- package/src/structures/MiniGames/SmashHeroes.js +195 -69
- package/src/structures/MiniGames/SpeedUHC.js +76 -36
- package/src/structures/MiniGames/TNTGames.js +242 -73
- package/src/structures/MiniGames/TurboKartRacers.js +55 -115
- package/src/structures/MiniGames/UHC.js +135 -124
- package/src/structures/MiniGames/VampireZ.js +70 -37
- package/src/structures/MiniGames/Warlords.js +126 -1
- package/src/structures/MiniGames/WoolWars.js +54 -4
- package/src/structures/Player.js +30 -24
- package/src/structures/SkyBlock/SkyblockGarden.js +146 -0
- package/src/structures/SkyBlock/SkyblockMember.js +12 -5
- package/src/utils/Constants.js +507 -5
- package/src/utils/SkyblockUtils.js +33 -0
- package/typings/index.d.ts +911 -802
package/src/structures/Player.js
CHANGED
|
@@ -219,28 +219,28 @@ class Player {
|
|
|
219
219
|
*/
|
|
220
220
|
this.stats = data.stats
|
|
221
221
|
? {
|
|
222
|
-
|
|
222
|
+
arcade: data.stats.Arcade ? new Arcade({ ...data.stats.Arcade, ...data.achievements }) : null,
|
|
223
|
+
arena: data.stats.Arena ? new ArenaBrawl(data.stats.Arena) : null,
|
|
223
224
|
bedwars: data.stats.Bedwars ? new BedWars(data.stats.Bedwars) : null,
|
|
224
|
-
|
|
225
|
-
speeduhc: data.stats.SpeedUHC ? new SpeedUHC(data.stats.SpeedUHC) : null,
|
|
226
|
-
murdermystery: data.stats.MurderMystery ? new MurderMystery(data.stats.MurderMystery) : null,
|
|
227
|
-
duels: data.stats.Duels ? new Duels(data.stats.Duels) : null,
|
|
225
|
+
blitzsg: data.stats.HungerGames ? new BlitzSurvivalGames(data.stats.HungerGames) : null,
|
|
228
226
|
buildbattle: data.stats.BuildBattle ? new BuildBattle(data.stats.BuildBattle) : null,
|
|
229
|
-
megawalls: data.stats.Walls3 ? new MegaWalls(data.stats.Walls3) : null,
|
|
230
227
|
copsandcrims: data.stats.MCGO ? new CopsAndCrims(data.stats.MCGO) : null,
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
blitzsg: data.stats.HungerGames ? new BlitzSurvivalGames(data.stats.HungerGames) : null,
|
|
235
|
-
arena: data.stats.Arena ? new ArenaBrawl(data.stats.Arena) : null,
|
|
236
|
-
arcade: data.stats.Arcade ? new Arcade({ ...data.stats.Arcade, ...data.achievements }) : null,
|
|
228
|
+
duels: data.stats.Duels ? new Duels(data.stats.Duels) : null,
|
|
229
|
+
megawalls: data.stats.Walls3 ? new MegaWalls(data.stats.Walls3) : null,
|
|
230
|
+
murdermystery: data.stats.MurderMystery ? new MurderMystery(data.stats.MurderMystery) : null,
|
|
237
231
|
paintball: data.stats.Paintball ? new Paintball(data.stats.Paintball) : null,
|
|
232
|
+
pit: data.stats.Pit ? new Pit(data.stats.Pit) : null,
|
|
238
233
|
quakecraft: data.stats.Quake ? new Quakecraft(data.stats.Quake) : null,
|
|
234
|
+
skywars: data.stats.SkyWars ? new SkyWars(data.stats.SkyWars) : null,
|
|
235
|
+
smashheroes: data.stats.SuperSmash ? new SmashHeroes(data.stats.SuperSmash) : null,
|
|
236
|
+
speeduhc: data.stats.SpeedUHC ? new SpeedUHC(data.stats.SpeedUHC) : null,
|
|
237
|
+
tntgames: data.stats.TNTGames ? new TNTGames(data.stats.TNTGames) : null,
|
|
239
238
|
turbokartracers: data.stats.GingerBread ? new TurboKartRacers(data.stats.GingerBread) : null,
|
|
239
|
+
uhc: data.stats.UHC ? new UHC(data.stats.UHC) : null,
|
|
240
|
+
vampirez: data.stats.VampireZ ? new VampireZ(data.stats.VampireZ) : null,
|
|
240
241
|
walls: data.stats.Walls ? new Walls(data.stats.Walls) : null,
|
|
241
242
|
warlords: data.stats.Battleground ? new Warlords(data.stats.Battleground) : null,
|
|
242
|
-
woolwars: data.stats.WoolGames ? new WoolWars(data.stats.WoolGames) : null
|
|
243
|
-
pit: data.stats.Pit ? new Pit(data.stats.Pit) : null
|
|
243
|
+
woolwars: data.stats.WoolGames ? new WoolWars(data.stats.WoolGames) : null
|
|
244
244
|
}
|
|
245
245
|
: null;
|
|
246
246
|
/**
|
|
@@ -302,21 +302,27 @@ class Player {
|
|
|
302
302
|
* Player stats for each mini-game. `null` if player has no stats.
|
|
303
303
|
* <br>
|
|
304
304
|
* Usage: `<Player>.stats.skywars`
|
|
305
|
-
* @property {
|
|
305
|
+
* @property {Arcade|null} arcade Arcade
|
|
306
|
+
* @property {ArenaBrawl|null} arena Arena Brawl
|
|
306
307
|
* @property {BedWars|null} bedwars BedWars
|
|
307
|
-
* @property {
|
|
308
|
-
* @property {SpeedUHC|null} speedUHC Speed UHC
|
|
309
|
-
* @property {MurderMystery|null} murdermystery Murder Mystery
|
|
310
|
-
* @property {Duels|null} duels Duels
|
|
308
|
+
* @property {BlitzSurvivalGames|null} blitzsg Blitz Survival Games
|
|
311
309
|
* @property {BuildBattle|null} buildbattle BuildBattle
|
|
312
|
-
* @property {MegaWalls|null} megawalls MegaWalls
|
|
313
310
|
* @property {CopsAndCrims|null} copsandcrims Cops and Crims
|
|
314
|
-
* @property {
|
|
311
|
+
* @property {Duels|null} duels Duels
|
|
312
|
+
* @property {MegaWalls|null} megawalls MegaWalls
|
|
313
|
+
* @property {MurderMystery|null} murdermystery Murder Mystery
|
|
314
|
+
* @property {Paintball|null} paintball Paint Ball
|
|
315
|
+
* @property {Pit|null} pit Pit
|
|
316
|
+
* @property {Quakecraft|null} quakecraft Quake Craft
|
|
317
|
+
* @property {SkyWars|null} skywars SkyWars
|
|
315
318
|
* @property {SmashHeroes|null} smashheroes Smash Heroes
|
|
319
|
+
* @property {SpeedUHC|null} speedUHC Speed UHC
|
|
320
|
+
* @property {TNTGames|null} tntgames The TNT Games
|
|
321
|
+
* @property {TurboKartRacers|null} turbokartracers Turbo Kart Racers
|
|
322
|
+
* @property {UHC|null} uhc UHC
|
|
316
323
|
* @property {VampireZ|null} vampirez VampireZ
|
|
317
|
-
* @property {
|
|
318
|
-
* @property {
|
|
319
|
-
* @property {Arcade|null} arcade Arcade
|
|
324
|
+
* @property {Walls|null} walls Walls
|
|
325
|
+
* @property {Warlords|null} warlords Warlords
|
|
320
326
|
* @property {WoolWars|null} woolwars Wool Wars
|
|
321
327
|
*/
|
|
322
328
|
/**
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
const { getLevelByXp } = require('../../utils/SkyblockUtils');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Skyblock Garden class
|
|
5
|
+
*/
|
|
6
|
+
class SkyblockGarden {
|
|
7
|
+
/**
|
|
8
|
+
* @param {object} data Skyblock member data
|
|
9
|
+
*/
|
|
10
|
+
constructor(data) {
|
|
11
|
+
/**
|
|
12
|
+
* level
|
|
13
|
+
* @type {SkyblockSkillLevel}
|
|
14
|
+
*/
|
|
15
|
+
this.level = getLevelByXp(data?.garden?.garden_experience || 0, 'garden');
|
|
16
|
+
/**
|
|
17
|
+
* Current Barn Skin
|
|
18
|
+
* @type {string}
|
|
19
|
+
*/
|
|
20
|
+
this.barnSkin = data.garden?.selected_barn_skin || '';
|
|
21
|
+
/**
|
|
22
|
+
* Unlocked Plots
|
|
23
|
+
* @type {string[]}
|
|
24
|
+
*/
|
|
25
|
+
this.unlockedPlots = data.garden?.unlocked_plots_ids || [];
|
|
26
|
+
/**
|
|
27
|
+
* Visitor Stats
|
|
28
|
+
* @type {SkyblockGardenVisitor}
|
|
29
|
+
*/
|
|
30
|
+
this.visitors = {
|
|
31
|
+
visited: data.garden?.commission_data?.visits || {},
|
|
32
|
+
completed: data.garden?.commission_data?.completed || {},
|
|
33
|
+
served: {
|
|
34
|
+
total: data.garden?.commission_data?.total_completed || 0,
|
|
35
|
+
unique: data.garden?.commission_data?.unique_npcs_served || 0
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Crop Milestones
|
|
40
|
+
* @type {SkyblockGarenCropMilestones}
|
|
41
|
+
*/
|
|
42
|
+
this.cropMilestones = {
|
|
43
|
+
wheat: getLevelByXp(data.garden?.resources_collected?.WHEAT || 0, 'wheat'),
|
|
44
|
+
carrot: getLevelByXp(data.garden?.resources_collected?.CARROT_ITEM || 0, 'carrot'),
|
|
45
|
+
sugarCane: getLevelByXp(data.garden?.resources_collected?.SUGAR_CANE || 0, 'sugarCane'),
|
|
46
|
+
potato: getLevelByXp(data.garden?.resources_collected?.POTATO_ITEM || 0, 'potato'),
|
|
47
|
+
pumpkin: getLevelByXp(data.garden?.resources_collected?.PUMPKIN || 0, 'pumpkin'),
|
|
48
|
+
melon: getLevelByXp(data.garden?.resources_collected?.MELON || 0, 'melon'),
|
|
49
|
+
cactus: getLevelByXp(data.garden?.resources_collected?.CACTUS || 0, 'cactus'),
|
|
50
|
+
cocoBeans: getLevelByXp(data.garden?.resources_collected?.['INK_SACK:3'] || 0, 'cocoBeans'),
|
|
51
|
+
mushroom: getLevelByXp(data.garden?.resources_collected?.MUSHROOM_COLLECTION || 0, 'mushroom'),
|
|
52
|
+
netherWart: getLevelByXp(data.garden?.resources_collected?.NETHER_STALK || 0, 'netherWart')
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Composter
|
|
56
|
+
* @type {SkyblockGardenComposter}
|
|
57
|
+
*/
|
|
58
|
+
this.composter = {
|
|
59
|
+
organicMatter: data.garden?.composter_data?.organic_matter || 0,
|
|
60
|
+
fuelUnits: data.garden?.composter_data?.fuel_units || 0,
|
|
61
|
+
compostUnits: data.garden?.composter_data?.compost_units || 0,
|
|
62
|
+
compostItems: data.garden?.composter_data?.compost_items || 0,
|
|
63
|
+
conversionTicks: data.garden?.composter_data?.conversion_ticks || 0,
|
|
64
|
+
upgrades: {
|
|
65
|
+
speed: data.garden?.composter_data?.upgrades?.speed || 0,
|
|
66
|
+
multiDrop: data.garden?.composter_data?.upgrades?.multi_drop || 0,
|
|
67
|
+
fuelCap: data.garden?.composter_data?.upgrades?.fuel_cap || 0,
|
|
68
|
+
organicMatterCap: data.garden?.composter_data?.upgrades?.organic_matter_cap || 0,
|
|
69
|
+
costReduction: data.garden?.composter_data?.upgrades?.cost_reduction || 0
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Crop Upgrades
|
|
74
|
+
* @type {SkyblockGarenCrops}
|
|
75
|
+
*/
|
|
76
|
+
this.cropUpgrades = {
|
|
77
|
+
wheat: data.garden?.crop_upgrade_levels?.WHEAT || 0,
|
|
78
|
+
carrot: data.garden?.crop_upgrade_levels?.CARROT_ITEM || 0,
|
|
79
|
+
sugarCane: data.garden?.crop_upgrade_levels?.SUGAR_CANE || 0,
|
|
80
|
+
potato: data.garden?.crop_upgrade_levels?.POTATO_ITEM || 0,
|
|
81
|
+
pumpkin: data.garden?.crop_upgrade_levels?.PUMPKIN || 0,
|
|
82
|
+
melon: data.garden?.crop_upgrade_levels?.MELON || 0,
|
|
83
|
+
cactus: data.garden?.crop_upgrade_levels?.CACTUS || 0,
|
|
84
|
+
cocoBeans: data.garden?.crop_upgrade_levels?.['INK_SACK:3'] || 0,
|
|
85
|
+
mushroom: data.garden?.crop_upgrade_levels?.MUSHROOM_COLLECTION || 0,
|
|
86
|
+
netherWart: data.garden?.crop_upgrade_levels?.NETHER_STALK || 0
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* @typedef {object} SkyblockGardenVisitor
|
|
93
|
+
* @property {Record<string, number>} visited Visited
|
|
94
|
+
* @property {Record<string, number>} completed Completed
|
|
95
|
+
* @property {SkyblockGardenVisitorServed} served served
|
|
96
|
+
*/
|
|
97
|
+
/**
|
|
98
|
+
* @typedef {object} SkyblockGardenVisitorServed
|
|
99
|
+
* @property {number} total total
|
|
100
|
+
* @property {number} unique unique
|
|
101
|
+
*/
|
|
102
|
+
/**
|
|
103
|
+
* @typedef {object} SkyblockGardenComposter
|
|
104
|
+
* @property {number} organicMatter Organic Matter
|
|
105
|
+
* @property {number} fuelUnits Fuel Units
|
|
106
|
+
* @property {number} compostUnits Compost Units
|
|
107
|
+
* @property {number} compostItems Compost Items
|
|
108
|
+
* @property {number} conversionTicks Conversion Ticks
|
|
109
|
+
* @property {SkyblockGardenComposterUpgrades} upgrades upgrades
|
|
110
|
+
*/
|
|
111
|
+
/**
|
|
112
|
+
* @typedef {object} SkyblockGardenComposterUpgrades
|
|
113
|
+
* @property {number} speed Speed
|
|
114
|
+
* @property {number} multiDrop Multi Drop
|
|
115
|
+
* @property {number} fuelCap Fuel Cap
|
|
116
|
+
* @property {number} organicMatterCap Organic Matter Cap
|
|
117
|
+
* @property {number} costReduction Cost Reduction
|
|
118
|
+
*/
|
|
119
|
+
/**
|
|
120
|
+
* @typedef {object} SkyblockGarenCrops
|
|
121
|
+
* @property {number} wheat Wheat
|
|
122
|
+
* @property {number} carrot Carrot
|
|
123
|
+
* @property {number} sugarCane Sugar Cane
|
|
124
|
+
* @property {number} potato Potato
|
|
125
|
+
* @property {number} pumpkin Pumpkin
|
|
126
|
+
* @property {number} melon Melon
|
|
127
|
+
* @property {number} cactus Cactus
|
|
128
|
+
* @property {number} cocoBeans Coco Beans
|
|
129
|
+
* @property {number} mushroom Mushroom
|
|
130
|
+
* @property {number} netherWart Nether Wart
|
|
131
|
+
*/
|
|
132
|
+
/**
|
|
133
|
+
* @typedef {object} SkyblockGarenCropMilestones
|
|
134
|
+
* @property {SkyblockSkillLevel} wheat Wheat
|
|
135
|
+
* @property {SkyblockSkillLevel} carrot Carrot
|
|
136
|
+
* @property {SkyblockSkillLevel} sugarCane Sugar Cane
|
|
137
|
+
* @property {SkyblockSkillLevel} potato Potato
|
|
138
|
+
* @property {SkyblockSkillLevel} pumpkin Pumpkin
|
|
139
|
+
* @property {SkyblockSkillLevel} melon Melon
|
|
140
|
+
* @property {SkyblockSkillLevel} cactus Cactus
|
|
141
|
+
* @property {SkyblockSkillLevel} cocoBeans Coco Beans
|
|
142
|
+
* @property {SkyblockSkillLevel} mushroom Mushroom
|
|
143
|
+
* @property {SkyblockSkillLevel} netherWart Nether Wart
|
|
144
|
+
*/
|
|
145
|
+
|
|
146
|
+
module.exports = SkyblockGarden;
|
|
@@ -12,6 +12,8 @@ const {
|
|
|
12
12
|
getPetLevel
|
|
13
13
|
} = require('../../utils/SkyblockUtils');
|
|
14
14
|
const SkyblockInventoryItem = require('./SkyblockInventoryItem');
|
|
15
|
+
const SkyblockMuseum = require('./SkyblockMuseum');
|
|
16
|
+
const SkyblockGarden = require('./SkyblockGarden');
|
|
15
17
|
const Constants = require('../../utils/Constants');
|
|
16
18
|
const skyhelper = require('skyhelper-networth');
|
|
17
19
|
const SkyblockPet = require('./SkyblockPet');
|
|
@@ -38,9 +40,14 @@ class SkyblockMember {
|
|
|
38
40
|
this.player = data.m.player || null;
|
|
39
41
|
/**
|
|
40
42
|
* If `getMuseum` option is `true`.
|
|
41
|
-
* @type {
|
|
43
|
+
* @type {SkyblockMuseum|null}
|
|
42
44
|
*/
|
|
43
|
-
this.museum = data.museum
|
|
45
|
+
this.museum = data.museum || null;
|
|
46
|
+
/**
|
|
47
|
+
* If `getGarden` option is `true`.
|
|
48
|
+
* @type {SkyblockGarden|null}
|
|
49
|
+
*/
|
|
50
|
+
this.garden = data.garden || null;
|
|
44
51
|
/**
|
|
45
52
|
* Profile's gamemode
|
|
46
53
|
* @type {string|null}
|
|
@@ -85,12 +92,12 @@ class SkyblockMember {
|
|
|
85
92
|
* Heart of the Mountain - MiningSkill
|
|
86
93
|
* @type {number}
|
|
87
94
|
*/
|
|
88
|
-
this.hotm = getLevelByXp(data.m.mining_core?.experience, 'hotm'
|
|
95
|
+
this.hotm = getLevelByXp(data.m.mining_core?.experience, 'hotm');
|
|
89
96
|
/**
|
|
90
97
|
* Trophy fish amount of rewards
|
|
91
98
|
* @type {number}
|
|
92
99
|
*/
|
|
93
|
-
this.trophyFish = getTrophyFishRank(data.m.trophy_fish?.rewards
|
|
100
|
+
this.trophyFish = getTrophyFishRank(data.m.trophy_fish?.rewards?.length ?? 0);
|
|
94
101
|
/**
|
|
95
102
|
* The highest magical power **Not current one**
|
|
96
103
|
* @type {number}
|
|
@@ -307,7 +314,7 @@ class SkyblockMember {
|
|
|
307
314
|
*/
|
|
308
315
|
this.getNetworth = async () => {
|
|
309
316
|
try {
|
|
310
|
-
const nw = await skyhelper.getNetworth(data.m, data.banking
|
|
317
|
+
const nw = await skyhelper.getNetworth(data.m, data.banking?.balance ?? 0, {
|
|
311
318
|
onlyNetworth: true,
|
|
312
319
|
v2Endpoint: true,
|
|
313
320
|
cache: true,
|