hypixel-api-reborn 10.0.0 → 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 +27 -15
- package/package.json +60 -58
- package/src/API/getAPIStatus.js +8 -8
- package/src/API/getBoosters.js +6 -6
- package/src/API/getGameCounts.js +6 -6
- package/src/API/getGuild.js +18 -18
- package/src/API/getLeaderboards.js +13 -13
- package/src/API/getPlayer.js +22 -27
- package/src/API/getRecentGames.js +18 -18
- package/src/API/getServerInfo.js +66 -77
- package/src/API/getStatus.js +8 -8
- package/src/API/getWatchdogStats.js +6 -6
- package/src/API/index.js +19 -23
- package/src/API/skyblock/getEndedSkyblockAuctions.js +10 -10
- package/src/API/skyblock/getSkyblockAuctions.js +64 -64
- package/src/API/skyblock/getSkyblockAuctionsByPlayer.js +11 -11
- package/src/API/skyblock/getSkyblockBazaar.js +10 -10
- package/src/API/skyblock/getSkyblockMember.js +28 -25
- package/src/API/skyblock/getSkyblockNews.js +6 -6
- package/src/API/skyblock/getSkyblockProfiles.js +44 -41
- package/src/Client.js +406 -450
- package/src/Errors.js +44 -39
- package/src/Private/defaultCache.js +77 -78
- package/src/Private/rateLimit.js +79 -98
- package/src/Private/requests.js +65 -54
- package/src/Private/updater.js +45 -45
- 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 -351
- 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 -630
- 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 -176
- 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 -449
- 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 -130
- package/src/structures/SkyBlock/SkyblockMember.js +820 -687
- 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 -809
- 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 -13
- 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 -8
- package/src/utils/romanize.js +11 -13
- 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 -2644
- package/src/API/getFriends.js +0 -14
- package/src/API/getKeyInfo.js +0 -10
- package/src/API/getRankedSkyWars.js +0 -11
- package/src/structures/Friend.js +0 -38
- package/src/structures/KeyInfo.js +0 -42
- package/src/structures/MiniGames/SkyWarsRanked.js +0 -45
|
@@ -1,130 +1,124 @@
|
|
|
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
|
|
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
|
-
|
|
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
|
-
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
* @typedef {object} SkyblockItemGemstone
|
|
126
|
-
* @property {string} type Gemstone type
|
|
127
|
-
* @property {string} quality Gemstone quality (rough, flawed, fine, flawless, perfect)
|
|
128
|
-
*/
|
|
129
|
-
|
|
130
|
-
module.exports = SkyblockInventoryItem;
|
|
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;
|