hypixel-api-reborn 9.0.3 → 11.0.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/.prettierrc +13 -0
- package/README.md +28 -16
- package/package.json +60 -58
- package/src/API/getAPIStatus.js +8 -7
- package/src/API/getBoosters.js +6 -5
- package/src/API/getGameCounts.js +6 -5
- package/src/API/getGuild.js +18 -17
- package/src/API/getLeaderboards.js +13 -12
- package/src/API/getPlayer.js +22 -26
- package/src/API/getRecentGames.js +18 -17
- package/src/API/getServerInfo.js +66 -77
- package/src/API/getStatus.js +8 -7
- package/src/API/getWatchdogStats.js +6 -5
- package/src/API/index.js +19 -9
- package/src/API/skyblock/getEndedSkyblockAuctions.js +10 -9
- package/src/API/skyblock/getSkyblockAuctions.js +64 -64
- package/src/API/skyblock/getSkyblockAuctionsByPlayer.js +11 -10
- package/src/API/skyblock/getSkyblockBazaar.js +10 -9
- package/src/API/skyblock/getSkyblockMember.js +28 -24
- package/src/API/skyblock/getSkyblockNews.js +6 -5
- package/src/API/skyblock/getSkyblockProfiles.js +44 -40
- package/src/Client.js +406 -430
- package/src/Errors.js +44 -38
- package/src/Private/defaultCache.js +77 -0
- package/src/Private/rateLimit.js +79 -98
- package/src/Private/requests.js +65 -39
- package/src/Private/updater.js +45 -42
- package/src/Private/uuidCache.js +37 -33
- package/src/Private/validate.js +97 -97
- package/src/index.js +82 -83
- package/src/structures/APIIncident.js +78 -78
- package/src/structures/APIStatus.js +47 -47
- package/src/structures/Boosters/Booster.js +83 -87
- package/src/structures/Color.js +129 -129
- package/src/structures/Game.js +164 -160
- package/src/structures/GameCounts.js +151 -151
- package/src/structures/Guild/Guild.js +204 -218
- package/src/structures/Guild/GuildMember.js +66 -66
- package/src/structures/Guild/GuildRank.js +48 -48
- package/src/structures/ItemBytes.js +33 -36
- package/src/structures/Leaderboard.js +31 -31
- package/src/structures/MiniGames/Arcade.js +567 -569
- package/src/structures/MiniGames/ArenaBrawl.js +52 -56
- package/src/structures/MiniGames/BedWars.js +423 -329
- package/src/structures/MiniGames/BlitzSurvivalGames.js +172 -148
- package/src/structures/MiniGames/BuildBattle.js +53 -53
- package/src/structures/MiniGames/CopsAndCrims.js +90 -90
- package/src/structures/MiniGames/Duels.js +694 -460
- package/src/structures/MiniGames/MegaWalls.js +137 -137
- package/src/structures/MiniGames/MurderMystery.js +93 -93
- package/src/structures/MiniGames/Paintball.js +67 -67
- package/src/structures/MiniGames/Pit.js +19 -19
- package/src/structures/MiniGames/Quakecraft.js +101 -101
- package/src/structures/MiniGames/SkyWars.js +508 -559
- package/src/structures/MiniGames/SmashHeroes.js +144 -151
- package/src/structures/MiniGames/SpeedUHC.js +115 -57
- package/src/structures/MiniGames/TNTGames.js +116 -116
- package/src/structures/MiniGames/TurboKartRacers.js +201 -71
- package/src/structures/MiniGames/UHC.js +164 -143
- package/src/structures/MiniGames/VampireZ.js +60 -60
- package/src/structures/MiniGames/Walls.js +52 -52
- package/src/structures/MiniGames/Warlords.js +62 -62
- package/src/structures/MiniGames/WoolWars.js +123 -0
- package/src/structures/Pet.js +96 -97
- package/src/structures/Pets.js +64 -64
- package/src/structures/Player.js +433 -453
- package/src/structures/PlayerCosmetics.js +100 -95
- package/src/structures/RecentGame.js +57 -57
- package/src/structures/ServerInfo.js +78 -78
- package/src/structures/SkyBlock/Auctions/Auction.js +104 -104
- package/src/structures/SkyBlock/Auctions/AuctionInfo.js +54 -54
- package/src/structures/SkyBlock/Auctions/BaseAuction.js +45 -45
- package/src/structures/SkyBlock/Auctions/Bid.js +48 -48
- package/src/structures/SkyBlock/Auctions/PartialAuction.js +25 -25
- package/src/structures/SkyBlock/Bazzar/Order.js +38 -38
- package/src/structures/SkyBlock/Bazzar/Product.js +53 -53
- package/src/structures/SkyBlock/News/SkyblockNews.js +60 -68
- package/src/structures/SkyBlock/SkyblockInventoryItem.js +124 -102
- package/src/structures/SkyBlock/SkyblockMember.js +820 -675
- package/src/structures/SkyBlock/SkyblockPet.js +71 -71
- package/src/structures/SkyBlock/SkyblockProfile.js +60 -60
- package/src/structures/Status.js +41 -41
- package/src/structures/Watchdog/Stats.js +36 -36
- package/src/utils/Constants.js +2789 -795
- package/src/utils/SkyblockUtils.js +208 -164
- package/src/utils/arrayTools.js +4 -4
- package/src/utils/divide.js +5 -5
- package/src/utils/guildExp.js +57 -67
- package/src/utils/index.js +13 -9
- package/src/utils/isGuildID.js +3 -3
- package/src/utils/isUUID.js +5 -5
- package/src/utils/oscillation.js +15 -23
- package/src/utils/removeSnakeCase.js +22 -35
- package/src/utils/rgbToHexColor.js +8 -0
- package/src/utils/romanize.js +11 -0
- package/src/utils/toIGN.js +20 -20
- package/src/utils/toUuid.js +19 -19
- package/src/utils/varInt.js +17 -21
- package/typings/index.d.ts +3532 -2625
- package/src/API/getFriends.js +0 -13
- package/src/API/getKeyInfo.js +0 -9
- package/src/API/getRankedSkyWars.js +0 -10
- package/src/structures/Friend.js +0 -38
- package/src/structures/KeyInfo.js +0 -42
- package/src/structures/MiniGames/SkyWarsRanked.js +0 -45
|
@@ -1,102 +1,124 @@
|
|
|
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
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
*
|
|
58
|
-
* @
|
|
59
|
-
*/
|
|
60
|
-
this.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
*
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
1
|
+
const rgbToHexColor = require('../../utils/rgbToHexColor');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Item class
|
|
5
|
+
*/
|
|
6
|
+
class SkyblockInventoryItem {
|
|
7
|
+
/**
|
|
8
|
+
* @param {object} data Item data
|
|
9
|
+
*/
|
|
10
|
+
constructor(data) {
|
|
11
|
+
/**
|
|
12
|
+
* Item ID
|
|
13
|
+
* @type {number}
|
|
14
|
+
*/
|
|
15
|
+
this.itemId = data.id || 0;
|
|
16
|
+
/**
|
|
17
|
+
* Item count
|
|
18
|
+
* @type {number}
|
|
19
|
+
*/
|
|
20
|
+
this.count = data.Count || 0;
|
|
21
|
+
/**
|
|
22
|
+
* Item name
|
|
23
|
+
* @type {string}
|
|
24
|
+
*/
|
|
25
|
+
this.name = data.tag.display.Name !== null ? data.tag.display.Name.toString().replace(/§([1-9]|[a-f])|§/gm, '') : null;
|
|
26
|
+
/**
|
|
27
|
+
* Item lore
|
|
28
|
+
* @type {string}
|
|
29
|
+
*/
|
|
30
|
+
this.lore = data.tag.display.Lore.join('<br>');
|
|
31
|
+
/**
|
|
32
|
+
* Item lore
|
|
33
|
+
* @type {string[]}
|
|
34
|
+
*/
|
|
35
|
+
this.loreArray = data.tag.display.Lore;
|
|
36
|
+
/**
|
|
37
|
+
* Item lore for embed
|
|
38
|
+
* @type {string}
|
|
39
|
+
*/
|
|
40
|
+
this.loreForEmbed = this.lore.replace(/§([0-9]|[a-f])|§/gm, '').replace(/<br>/gm, '\n');
|
|
41
|
+
/**
|
|
42
|
+
* Hexadecimal color code of armor
|
|
43
|
+
* @type {string}
|
|
44
|
+
*/
|
|
45
|
+
this.color = data.tag.ExtraAttributes.color ? rgbToHexColor(data.tag.ExtraAttributes.color.split(':')) : null;
|
|
46
|
+
/**
|
|
47
|
+
* Item enchantments
|
|
48
|
+
* @type {object}
|
|
49
|
+
*/
|
|
50
|
+
this.enchantments = data.tag.ExtraAttributes.enchantments ? data.tag.ExtraAttributes.enchantments : null;
|
|
51
|
+
/**
|
|
52
|
+
* Armor reforge
|
|
53
|
+
* @type {string}
|
|
54
|
+
*/
|
|
55
|
+
this.reforge = data.tag.ExtraAttributes.modifier ? data.tag.ExtraAttributes.modifier : null;
|
|
56
|
+
/**
|
|
57
|
+
* Equipment gemstones (if any)
|
|
58
|
+
* @type {SkyblockItemGemstone}
|
|
59
|
+
*/
|
|
60
|
+
this.gemstones = data.tag.ExtraAttributes.gems
|
|
61
|
+
? Object.entries(data.tag.ExtraAttributes.gems).map((gem) => {
|
|
62
|
+
// eslint-disable-next-line no-new-object
|
|
63
|
+
new Object({ type: gem[0].split('_')[0], quality: gem[1] });
|
|
64
|
+
})
|
|
65
|
+
: null;
|
|
66
|
+
/**
|
|
67
|
+
* Anvil uses
|
|
68
|
+
* @type {number}
|
|
69
|
+
*/
|
|
70
|
+
this.anvilUses = data.tag.ExtraAttributes.anvil_uses ? data.tag.ExtraAttributes.anvil_uses : 0;
|
|
71
|
+
/**
|
|
72
|
+
* Damage
|
|
73
|
+
* @type {number}
|
|
74
|
+
*/
|
|
75
|
+
this.damage = data.Damage || 0;
|
|
76
|
+
/**
|
|
77
|
+
* What rarity the item has, as an uppercase string
|
|
78
|
+
* @author linearaccelerator
|
|
79
|
+
* @type {string}
|
|
80
|
+
* @version >6.0.1
|
|
81
|
+
*/
|
|
82
|
+
this.rarity = parseRarity(this.loreArray[this.loreArray.length - 1]);
|
|
83
|
+
/**
|
|
84
|
+
* The amount of dungeon stars the item has (each star equates to a 10% stat boost while in dungeons)
|
|
85
|
+
* @author linearaccelerator
|
|
86
|
+
* @type {number}
|
|
87
|
+
*/
|
|
88
|
+
this.dungeonStars = this.name.match(/(\u272a)/g) ? this.name.match(/(\u272a)/g).length : 0;
|
|
89
|
+
/**
|
|
90
|
+
* Dungeon gear score of the item (or null if not present)
|
|
91
|
+
* @author linearaccelerator
|
|
92
|
+
* @type {number}
|
|
93
|
+
*/
|
|
94
|
+
this.gearScore = parseGearScore(this.loreArray) || null;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Item Name
|
|
98
|
+
* @return {string}
|
|
99
|
+
*/
|
|
100
|
+
toString() {
|
|
101
|
+
return this.name;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// eslint-disable-next-line require-jsdoc
|
|
105
|
+
function parseRarity(stringContainingRarity) {
|
|
106
|
+
const rarityArray = ['COMMON', 'UNCOMMON', 'RARE', 'EPIC', 'LEGENDARY', 'MYTHIC', 'DIVINE', 'SPECIAL', 'VERY SPECIAL'];
|
|
107
|
+
for (const rarity of rarityArray) {
|
|
108
|
+
if (stringContainingRarity.includes(rarity)) return rarity;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// eslint-disable-next-line require-jsdoc
|
|
112
|
+
function parseGearScore(lore) {
|
|
113
|
+
for (const line of lore) {
|
|
114
|
+
if (line.match(/Gear Score: §[0-9a-f](\d+)/)) return Number(line.match(/Gear Score: §d(\d+)/)[1]);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* @typedef {object} SkyblockItemGemstone
|
|
120
|
+
* @property {string} type Gemstone type
|
|
121
|
+
* @property {string} quality Gemstone quality (rough, flawed, fine, flawless, perfect)
|
|
122
|
+
*/
|
|
123
|
+
|
|
124
|
+
module.exports = SkyblockInventoryItem;
|