hypixel-api-reborn 11.3.4 → 11.3.5
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 +5 -5
- package/src/index.js +1 -1
- package/src/structures/MiniGames/Arcade.js +5 -77
- package/src/structures/MiniGames/WoolGames.js +405 -0
- package/src/structures/Player.js +3 -3
- package/src/structures/SkyBlock/SkyblockMuseumItem.js +1 -1
- package/src/utils/Constants.js +1 -1
- package/typings/index.d.ts +90 -55
- package/src/structures/MiniGames/WoolWars.js +0 -174
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hypixel-api-reborn",
|
|
3
|
-
"version": "11.3.
|
|
3
|
+
"version": "11.3.5",
|
|
4
4
|
"description": "Feature-rich Hypixel API wrapper for Node.js",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./typings/index.d.ts",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"node-fetch": "^3.3.2",
|
|
33
33
|
"prismarine-nbt": "^2.5.0",
|
|
34
34
|
"rss-parser": "^3.13.0",
|
|
35
|
-
"skyhelper-networth": "^1.
|
|
35
|
+
"skyhelper-networth": "^1.24.0"
|
|
36
36
|
},
|
|
37
37
|
"license": "MIT",
|
|
38
38
|
"readme": "https://hypixel.stavzdev.me/",
|
|
@@ -42,10 +42,10 @@
|
|
|
42
42
|
"publisher": "StavZ",
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@discordjs/docgen": "github:discordjs/docgen",
|
|
45
|
-
"@types/node": "^22.
|
|
45
|
+
"@types/node": "^22.5.0",
|
|
46
46
|
"chai": "^4.3.4",
|
|
47
|
-
"eslint": "^9.
|
|
48
|
-
"eslint-plugin-jsdoc": "^
|
|
47
|
+
"eslint": "^9.9.1",
|
|
48
|
+
"eslint-plugin-jsdoc": "^50.2.2",
|
|
49
49
|
"globals": "^15.9.0",
|
|
50
50
|
"mocha": "^10.4.0",
|
|
51
51
|
"node-env-run": "^4.0.2",
|
package/src/index.js
CHANGED
|
@@ -80,7 +80,7 @@ module.exports = {
|
|
|
80
80
|
VampireZ: require('./structures/MiniGames/VampireZ.js'),
|
|
81
81
|
Walls: require('./structures/MiniGames/Walls.js'),
|
|
82
82
|
Warlords: require('./structures/MiniGames/Warlords.js'),
|
|
83
|
-
|
|
83
|
+
WoolGames: require('./structures/MiniGames/WoolGames.js'),
|
|
84
84
|
|
|
85
85
|
/* Leaderboards */
|
|
86
86
|
Leaderboard: require('./structures/Leaderboard.js'),
|
|
@@ -240,73 +240,6 @@ class BountyHunters {
|
|
|
240
240
|
this.swordKills = data.sword_kills_oneinthequiver || 0;
|
|
241
241
|
}
|
|
242
242
|
}
|
|
243
|
-
/**
|
|
244
|
-
* Capture the Wool class
|
|
245
|
-
*/
|
|
246
|
-
class CaptureTheWool {
|
|
247
|
-
constructor(data) {
|
|
248
|
-
/**
|
|
249
|
-
* Wins
|
|
250
|
-
* @type {number}
|
|
251
|
-
*/
|
|
252
|
-
this.wins = data.woolhunt_participated_wins || 0;
|
|
253
|
-
/**
|
|
254
|
-
* Losses
|
|
255
|
-
* @type {number}
|
|
256
|
-
*/
|
|
257
|
-
this.losses = data.woolhunt_participated_losses || 0;
|
|
258
|
-
/**
|
|
259
|
-
* Win Loss ratio
|
|
260
|
-
* @type {number}
|
|
261
|
-
*/
|
|
262
|
-
this.WLRatio = divide(this.wins, this.losses);
|
|
263
|
-
/**
|
|
264
|
-
* Draws
|
|
265
|
-
* @type {number}
|
|
266
|
-
*/
|
|
267
|
-
this.draws = data.woolhunt_participated_draws || 0;
|
|
268
|
-
/**
|
|
269
|
-
* Kills
|
|
270
|
-
* @type {number}
|
|
271
|
-
*/
|
|
272
|
-
this.kills = data.woolhunt_kills || 0;
|
|
273
|
-
/**
|
|
274
|
-
* Deaths
|
|
275
|
-
* @type {number}
|
|
276
|
-
*/
|
|
277
|
-
this.deaths = data.woolhunt_deaths || 0;
|
|
278
|
-
/**
|
|
279
|
-
* Kill Death ratio
|
|
280
|
-
* @type {number}
|
|
281
|
-
*/
|
|
282
|
-
this.KDRatio = divide(this.kills, this.deaths);
|
|
283
|
-
/**
|
|
284
|
-
* assists
|
|
285
|
-
* @type {number}
|
|
286
|
-
*/
|
|
287
|
-
this.assists = data.woolhunt_assists || 0;
|
|
288
|
-
/**
|
|
289
|
-
* woolPickedUp
|
|
290
|
-
* @type {number}
|
|
291
|
-
*/
|
|
292
|
-
this.woolPickedUp = data.woolhunt_wools_stolen || 0;
|
|
293
|
-
/**
|
|
294
|
-
* woolCaptured
|
|
295
|
-
* @type {number}
|
|
296
|
-
*/
|
|
297
|
-
this.woolCaptured = data.woolhunt_wools_captured || 0;
|
|
298
|
-
/**
|
|
299
|
-
* fastestWin (In seconds)
|
|
300
|
-
* @type {number}
|
|
301
|
-
*/
|
|
302
|
-
this.fastestWin = data.woolhunt_fastest_win || 0;
|
|
303
|
-
/**
|
|
304
|
-
* longestGame (In seconds)
|
|
305
|
-
* @type {number}
|
|
306
|
-
*/
|
|
307
|
-
this.longestGame = data.woolhunt_longest_game || 0;
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
243
|
/**
|
|
311
244
|
* Dragon Wars class
|
|
312
245
|
*/
|
|
@@ -561,9 +494,9 @@ class GalaxyWars {
|
|
|
561
494
|
}
|
|
562
495
|
}
|
|
563
496
|
/**
|
|
564
|
-
* Party
|
|
497
|
+
* Party Pooper Stats (Sub gamemode of Hide and Seek)
|
|
565
498
|
*/
|
|
566
|
-
class
|
|
499
|
+
class PartyPooper {
|
|
567
500
|
/**
|
|
568
501
|
* @param {Object} data Data from API
|
|
569
502
|
*/
|
|
@@ -619,10 +552,10 @@ class HideAndSeek {
|
|
|
619
552
|
*/
|
|
620
553
|
constructor(data) {
|
|
621
554
|
/**
|
|
622
|
-
* Party
|
|
623
|
-
* @type {
|
|
555
|
+
* Party Pooper Stats
|
|
556
|
+
* @type {PartyPooper}
|
|
624
557
|
*/
|
|
625
|
-
this.
|
|
558
|
+
this.partyPooper = new PartyPooper(data);
|
|
626
559
|
/**
|
|
627
560
|
* Prop Hunt Stats
|
|
628
561
|
* @type {PropHunt}
|
|
@@ -977,11 +910,6 @@ class Arcade {
|
|
|
977
910
|
* @type {BountyHunters}
|
|
978
911
|
*/
|
|
979
912
|
this.bountyHunters = new BountyHunters(data);
|
|
980
|
-
/**
|
|
981
|
-
* Capture The Wool
|
|
982
|
-
* @type {CaptureTheWool}
|
|
983
|
-
*/
|
|
984
|
-
this.captureTheWool = new CaptureTheWool(data);
|
|
985
913
|
/**
|
|
986
914
|
* Dragon wars stats
|
|
987
915
|
* @type {DragonWars}
|
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
const { divide } = require('../../utils');
|
|
2
|
+
|
|
3
|
+
class WoolWarsClass {
|
|
4
|
+
/**
|
|
5
|
+
* Constructor
|
|
6
|
+
* @param {Record<string, unknown>} data Data from API
|
|
7
|
+
*/
|
|
8
|
+
constructor(data, className) {
|
|
9
|
+
/**
|
|
10
|
+
* Wins
|
|
11
|
+
* @type {number}
|
|
12
|
+
*/
|
|
13
|
+
this.wins = data?.[className]?.wins || 0;
|
|
14
|
+
/**
|
|
15
|
+
* Kills
|
|
16
|
+
* @type {number}
|
|
17
|
+
*/
|
|
18
|
+
this.kills = data?.[className]?.kills || 0;
|
|
19
|
+
/**
|
|
20
|
+
* Assists
|
|
21
|
+
* @type {number}
|
|
22
|
+
*/
|
|
23
|
+
this.assists = data?.[className]?.assists || 0;
|
|
24
|
+
/**
|
|
25
|
+
* Deaths
|
|
26
|
+
* @type {number}
|
|
27
|
+
*/
|
|
28
|
+
this.deaths = data?.[className]?.deaths || 0;
|
|
29
|
+
/**
|
|
30
|
+
* KDRatio
|
|
31
|
+
* @type {number}
|
|
32
|
+
*/
|
|
33
|
+
this.KDRatio = divide(this.kills, this.deaths);
|
|
34
|
+
/**
|
|
35
|
+
* Games Played
|
|
36
|
+
* @type {number}
|
|
37
|
+
*/
|
|
38
|
+
this.gamesPlayed = data?.[className]?.games_played || 0;
|
|
39
|
+
/**
|
|
40
|
+
* Wools Placed
|
|
41
|
+
* @type {number}
|
|
42
|
+
*/
|
|
43
|
+
this.woolsPlaced = data?.[className]?.wool_placed || 0;
|
|
44
|
+
/**
|
|
45
|
+
* Blocks Broken
|
|
46
|
+
* @type {number}
|
|
47
|
+
*/
|
|
48
|
+
this.blocksBroken = data?.[className]?.blocks_broken || 0;
|
|
49
|
+
/**
|
|
50
|
+
* Place Break Ratio
|
|
51
|
+
* @type {number}
|
|
52
|
+
*/
|
|
53
|
+
this.placeBreakRatio = divide(this.woolsPlaced, this.blocksBroken);
|
|
54
|
+
/**
|
|
55
|
+
* Powerups Collected
|
|
56
|
+
* @type {number}
|
|
57
|
+
*/
|
|
58
|
+
this.powerups = data?.[className]?.powerups_gotten || 0;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Wool Wars Class
|
|
64
|
+
*/
|
|
65
|
+
class WoolWars {
|
|
66
|
+
/**
|
|
67
|
+
* Constructor
|
|
68
|
+
* @param {Record<string, unknown>} data Data from API
|
|
69
|
+
*/
|
|
70
|
+
constructor(data) {
|
|
71
|
+
/**
|
|
72
|
+
* Selected Class
|
|
73
|
+
* @type {'ASSAULT' | 'TANK' | 'GOLEM' | 'SWORDSMAN' | 'ENGINEER' | 'ARCHER' | 'NONE'}
|
|
74
|
+
*/
|
|
75
|
+
this.selectedClass = data?.selected_class || 'NONE';
|
|
76
|
+
/**
|
|
77
|
+
* Wins
|
|
78
|
+
* @type {number}
|
|
79
|
+
*/
|
|
80
|
+
this.wins = data?.stats?.wins || 0;
|
|
81
|
+
/**
|
|
82
|
+
* Kills
|
|
83
|
+
* @type {number}
|
|
84
|
+
*/
|
|
85
|
+
this.kills = data?.stats?.kills || 0;
|
|
86
|
+
/**
|
|
87
|
+
* Assists
|
|
88
|
+
* @type {number}
|
|
89
|
+
*/
|
|
90
|
+
this.assists = data?.stats?.assists || 0;
|
|
91
|
+
/**
|
|
92
|
+
* Deaths
|
|
93
|
+
* @type {number}
|
|
94
|
+
*/
|
|
95
|
+
this.deaths = data?.stats?.deaths || 0;
|
|
96
|
+
/**
|
|
97
|
+
* KDRatio
|
|
98
|
+
* @type {number}
|
|
99
|
+
*/
|
|
100
|
+
this.KDRatio = divide(this.kills, this.deaths);
|
|
101
|
+
/**
|
|
102
|
+
* Games Played
|
|
103
|
+
* @type {number}
|
|
104
|
+
*/
|
|
105
|
+
this.gamesPlayed = data?.stats?.games_played || 0;
|
|
106
|
+
/**
|
|
107
|
+
* Wools Placed
|
|
108
|
+
* @type {number}
|
|
109
|
+
*/
|
|
110
|
+
this.woolsPlaced = data?.stats?.wool_placed || 0;
|
|
111
|
+
/**
|
|
112
|
+
* Blocks Broken
|
|
113
|
+
* @type {number}
|
|
114
|
+
*/
|
|
115
|
+
this.blocksBroken = data?.stats?.blocks_broken || 0;
|
|
116
|
+
/**
|
|
117
|
+
* Place Break Ratio
|
|
118
|
+
* @type {number}
|
|
119
|
+
*/
|
|
120
|
+
this.placeBreakRatio = divide(this.woolsPlaced, this.blocksBroken);
|
|
121
|
+
/**
|
|
122
|
+
* powerups
|
|
123
|
+
* @type {number}
|
|
124
|
+
*/
|
|
125
|
+
this.powerups = data?.powerups_gotten || 0;
|
|
126
|
+
/**
|
|
127
|
+
* Assault Class Stats
|
|
128
|
+
* @type {WoolWarsClass}
|
|
129
|
+
*/
|
|
130
|
+
this.assault = new WoolWarsClass(data?.stats?.classes, 'assault');
|
|
131
|
+
/**
|
|
132
|
+
* Tank Class Stats
|
|
133
|
+
* @type {WoolWarsClass}
|
|
134
|
+
*/
|
|
135
|
+
this.tank = new WoolWarsClass(data?.stats?.classes, 'tank');
|
|
136
|
+
/**
|
|
137
|
+
* Golem Class Stats
|
|
138
|
+
* @type {WoolWarsClass}
|
|
139
|
+
*/
|
|
140
|
+
this.golem = new WoolWarsClass(data?.stats?.classes, 'golem');
|
|
141
|
+
/**
|
|
142
|
+
* Swordsman Class Stats
|
|
143
|
+
* @type {WoolWarsClass}
|
|
144
|
+
*/
|
|
145
|
+
this.swordsman = new WoolWarsClass(data?.stats?.classes, 'swordsman');
|
|
146
|
+
/**
|
|
147
|
+
* Engineer Class Stats
|
|
148
|
+
* @type {WoolWarsClass}
|
|
149
|
+
*/
|
|
150
|
+
this.engineer = new WoolWarsClass(data?.stats?.classes, 'engineer');
|
|
151
|
+
/**
|
|
152
|
+
* Archer Class Stats
|
|
153
|
+
* @type {WoolWarsClass}
|
|
154
|
+
*/
|
|
155
|
+
this.archer = new WoolWarsClass(data?.stats?.classes, 'archer');
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Capture The Wool Stats Class
|
|
160
|
+
*/
|
|
161
|
+
class CaptureTheWool {
|
|
162
|
+
/**
|
|
163
|
+
* Constructor
|
|
164
|
+
* @param {Record<string, unknown>} data Data from API
|
|
165
|
+
*/
|
|
166
|
+
constructor(data) {
|
|
167
|
+
/**
|
|
168
|
+
* kills
|
|
169
|
+
* @type {number}
|
|
170
|
+
*/
|
|
171
|
+
this.kills = data?.stats?.kills || 0;
|
|
172
|
+
/**
|
|
173
|
+
* Assists
|
|
174
|
+
* @type {number}
|
|
175
|
+
*/
|
|
176
|
+
this.assists = data?.stats?.assists || 0;
|
|
177
|
+
/**
|
|
178
|
+
* Deaths
|
|
179
|
+
* @type {number}
|
|
180
|
+
*/
|
|
181
|
+
this.deaths = data?.stats?.deaths || 0;
|
|
182
|
+
/**
|
|
183
|
+
* KDRatio
|
|
184
|
+
* @type {number}
|
|
185
|
+
*/
|
|
186
|
+
this.KDRatio = divide(this.kills, this.deaths);
|
|
187
|
+
/**
|
|
188
|
+
* Kills With Wool
|
|
189
|
+
* @type {number}
|
|
190
|
+
*/
|
|
191
|
+
this.killsWithWool = data?.stats?.kills_with_wool || 0;
|
|
192
|
+
/**
|
|
193
|
+
* Deaths With Wool
|
|
194
|
+
* @type {number}
|
|
195
|
+
*/
|
|
196
|
+
this.deathsWithWool = data?.stats?.deaths_with_wool || 0;
|
|
197
|
+
/**
|
|
198
|
+
* KDRatio With Wool
|
|
199
|
+
* @type {number}
|
|
200
|
+
*/
|
|
201
|
+
this.KDRatioWithWool = divide(this.killsWithWool, this.deathsWithWool);
|
|
202
|
+
/**
|
|
203
|
+
* Wool Captured
|
|
204
|
+
* @type {number}
|
|
205
|
+
*/
|
|
206
|
+
this.woolCaptured = data?.stats?.wools_captured || 0;
|
|
207
|
+
/**
|
|
208
|
+
* Wool Stolen
|
|
209
|
+
* @type {number}
|
|
210
|
+
*/
|
|
211
|
+
this.woolStolen = data?.stats?.wools_stolen || 0;
|
|
212
|
+
/**
|
|
213
|
+
* Wool Capture Stolen Ratio
|
|
214
|
+
* @type {number}
|
|
215
|
+
*/
|
|
216
|
+
this.woolCaptureStolenRatio = divide(this.woolCaptured, this.woolStolen);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Sheep Wars Stats Class
|
|
221
|
+
*/
|
|
222
|
+
class SheepWars {
|
|
223
|
+
/**
|
|
224
|
+
* Constructor
|
|
225
|
+
* @param {Record<string, unknown>} data Data from API
|
|
226
|
+
*/
|
|
227
|
+
constructor(data) {
|
|
228
|
+
/**
|
|
229
|
+
* Wins
|
|
230
|
+
* @type {number}
|
|
231
|
+
*/
|
|
232
|
+
this.wins = data?.stats?.wins || 0;
|
|
233
|
+
/**
|
|
234
|
+
* Kills
|
|
235
|
+
* @type {number}
|
|
236
|
+
*/
|
|
237
|
+
this.kills = data?.stats?.kills || 0;
|
|
238
|
+
/**
|
|
239
|
+
* Kills Void
|
|
240
|
+
* @type {number}
|
|
241
|
+
*/
|
|
242
|
+
this.killsVoid = data?.stats?.kills_void || 0;
|
|
243
|
+
/**
|
|
244
|
+
K kills Bow
|
|
245
|
+
* @type {number}
|
|
246
|
+
*/
|
|
247
|
+
this.killsBow = data?.stats?.kills_bow || 0;
|
|
248
|
+
/**
|
|
249
|
+
* Kills Explosive
|
|
250
|
+
* @type {number}
|
|
251
|
+
*/
|
|
252
|
+
this.killsExplosive = data?.stats?.kills_explosive || 0;
|
|
253
|
+
/**
|
|
254
|
+
* Deaths
|
|
255
|
+
* @type {number}
|
|
256
|
+
*/
|
|
257
|
+
this.deaths = data?.stats?.deaths || 0;
|
|
258
|
+
/**
|
|
259
|
+
* Deaths Void
|
|
260
|
+
* @type {number}
|
|
261
|
+
*/
|
|
262
|
+
this.deathsVoid = data?.stats?.deaths_void || 0;
|
|
263
|
+
/**
|
|
264
|
+
* Deaths Melee
|
|
265
|
+
* @type {number}
|
|
266
|
+
*/
|
|
267
|
+
this.deathsMelee = data?.stats?.deaths_melee || 0;
|
|
268
|
+
/**
|
|
269
|
+
* Deaths Explosive
|
|
270
|
+
* @type {number}
|
|
271
|
+
*/
|
|
272
|
+
this.deathsExplosive = data?.stats?.deaths_explosive || 0;
|
|
273
|
+
/**
|
|
274
|
+
* KDRatio
|
|
275
|
+
* @type {number}
|
|
276
|
+
*/
|
|
277
|
+
this.KDRatio = divide(this.wins, this.deaths);
|
|
278
|
+
/**
|
|
279
|
+
* Losses
|
|
280
|
+
* @type {number}
|
|
281
|
+
*/
|
|
282
|
+
this.losses = data?.stats?.losses || 0;
|
|
283
|
+
/**
|
|
284
|
+
* WLRatio
|
|
285
|
+
* @type {number}
|
|
286
|
+
*/
|
|
287
|
+
this.WLRatio = divide(this.wins, this.losses);
|
|
288
|
+
/**
|
|
289
|
+
* Games Played
|
|
290
|
+
* @type {number}
|
|
291
|
+
*/
|
|
292
|
+
this.gamesPlayed = data?.stats?.games_played || 0;
|
|
293
|
+
/**
|
|
294
|
+
* Damage Dealt
|
|
295
|
+
* @type {number}
|
|
296
|
+
*/
|
|
297
|
+
this.damageDealt = data?.stats?.damage_dealt || 0;
|
|
298
|
+
/**
|
|
299
|
+
* Sheep Thrown
|
|
300
|
+
* @type {number}
|
|
301
|
+
*/
|
|
302
|
+
this.sheepThrown = data?.stats?.sheep_thrown || 0;
|
|
303
|
+
/**
|
|
304
|
+
* Magic Wool Hit
|
|
305
|
+
* @type {number}
|
|
306
|
+
*/
|
|
307
|
+
this.magicWoolHit = data?.stats?.magic_wool_hit || 0;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* WoolGames Stats
|
|
313
|
+
*/
|
|
314
|
+
class WoolGames {
|
|
315
|
+
/**
|
|
316
|
+
* Constructor
|
|
317
|
+
* @param {Record<string, unknown>} data Data from API
|
|
318
|
+
*/
|
|
319
|
+
constructor(data) {
|
|
320
|
+
/**
|
|
321
|
+
* Layers
|
|
322
|
+
* @type {number}
|
|
323
|
+
*/
|
|
324
|
+
this.layers = data?.progression?.available_layers || 0;
|
|
325
|
+
/**
|
|
326
|
+
* XP
|
|
327
|
+
* @type {number}
|
|
328
|
+
*/
|
|
329
|
+
this.xp = data?.progression?.experience || 0;
|
|
330
|
+
/**
|
|
331
|
+
* Exact Level
|
|
332
|
+
* @type {number}
|
|
333
|
+
*/
|
|
334
|
+
this.exactLevel = this.convertXPToLevel(this.xp);
|
|
335
|
+
/**
|
|
336
|
+
* Level
|
|
337
|
+
* @type {number}
|
|
338
|
+
*/
|
|
339
|
+
this.level = Math?.floor(this.exactLevel);
|
|
340
|
+
/**
|
|
341
|
+
* Coins
|
|
342
|
+
* @type {number}
|
|
343
|
+
*/
|
|
344
|
+
this.coins = data?.coins || 0;
|
|
345
|
+
/**
|
|
346
|
+
* Owned Cosmetics
|
|
347
|
+
* @type {string[]}
|
|
348
|
+
*/
|
|
349
|
+
this.ownedCosmetics = data?.packages || [];
|
|
350
|
+
/**
|
|
351
|
+
* Private Games Config
|
|
352
|
+
* @type {WoolGamesPrivateGamesConfig}
|
|
353
|
+
*/
|
|
354
|
+
this.privateGamesConfig = data?.privategames || {};
|
|
355
|
+
/**
|
|
356
|
+
* Playtime
|
|
357
|
+
* @type {number}
|
|
358
|
+
*/
|
|
359
|
+
this.playtime = data?.playtime || 0;
|
|
360
|
+
/**
|
|
361
|
+
* Wool Wars
|
|
362
|
+
* @type {WoolWars}
|
|
363
|
+
*/
|
|
364
|
+
this.woolWars = new WoolWars(data?.wool_wars);
|
|
365
|
+
/**
|
|
366
|
+
* Capture The Wool
|
|
367
|
+
* @type {CaptureTheWool}
|
|
368
|
+
*/
|
|
369
|
+
this.captureTheWool = new CaptureTheWool(data?.capture_the_wool);
|
|
370
|
+
/**
|
|
371
|
+
* Sheep Wars
|
|
372
|
+
* @type {SheepWars}
|
|
373
|
+
*/
|
|
374
|
+
this.sheepWars = new SheepWars(data?.sheep_wars);
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* Converts XP to Level
|
|
379
|
+
* @param {number} exp xp
|
|
380
|
+
* @return {number}
|
|
381
|
+
*/
|
|
382
|
+
convertXPToLevel(exp) {
|
|
383
|
+
const minimalExp = [0, 1e3, 3e3, 6e3, 1e4, 15e3];
|
|
384
|
+
const baseLevel = minimalExp.length;
|
|
385
|
+
const baseExp = minimalExp[minimalExp.length - 1];
|
|
386
|
+
const expToLevel100 = 49e4;
|
|
387
|
+
if (exp < baseExp) return minimalExp.findIndex((x) => exp < x);
|
|
388
|
+
const theoreticalLevel = (exp - baseExp) / 5e3 + baseLevel;
|
|
389
|
+
if (100 < theoreticalLevel) return 100 + this.convertXPToLevel(exp - expToLevel100);
|
|
390
|
+
return theoreticalLevel;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* @typedef {object} WoolGamesPrivateGamesConfig
|
|
396
|
+
* @property {boolean} one_hit_one_kill one hit one kill
|
|
397
|
+
* @property {'Enabled' | 'Disabled'} rainbow_wool rainbow wool
|
|
398
|
+
* @property {string} health_buff health buff
|
|
399
|
+
* @property {string} game_speed game speed
|
|
400
|
+
* @property {string} speed speed
|
|
401
|
+
* @property {'Enabled' | 'Disabled'} no_class no class
|
|
402
|
+
* @property {boolean} respawn_enable respawn enable
|
|
403
|
+
*/
|
|
404
|
+
|
|
405
|
+
module.exports = WoolGames;
|
package/src/structures/Player.js
CHANGED
|
@@ -29,7 +29,7 @@ const Paintball = require('./MiniGames/Paintball');
|
|
|
29
29
|
const Quakecraft = require('./MiniGames/Quakecraft');
|
|
30
30
|
const Walls = require('./MiniGames/Walls');
|
|
31
31
|
const Warlords = require('./MiniGames/Warlords');
|
|
32
|
-
const
|
|
32
|
+
const WoolGames = require('./MiniGames/WoolGames');
|
|
33
33
|
const Pit = require('./MiniGames/Pit');
|
|
34
34
|
const Guild = require('./Guild/Guild');
|
|
35
35
|
const RecentGame = require('./RecentGame');
|
|
@@ -240,7 +240,7 @@ class Player {
|
|
|
240
240
|
vampirez: data.stats.VampireZ ? new VampireZ(data.stats.VampireZ) : null,
|
|
241
241
|
walls: data.stats.Walls ? new Walls(data.stats.Walls) : null,
|
|
242
242
|
warlords: data.stats.Battleground ? new Warlords(data.stats.Battleground) : null,
|
|
243
|
-
|
|
243
|
+
woolgames: data.stats.WoolGames ? new WoolGames(data.stats.WoolGames) : null
|
|
244
244
|
}
|
|
245
245
|
: null;
|
|
246
246
|
/**
|
|
@@ -325,7 +325,7 @@ class Player {
|
|
|
325
325
|
* @property {VampireZ|null} vampirez VampireZ
|
|
326
326
|
* @property {Walls|null} walls Walls
|
|
327
327
|
* @property {Warlords|null} warlords Warlords
|
|
328
|
-
* @property {
|
|
328
|
+
* @property {WoolGames|null} woolgames Wool Games
|
|
329
329
|
*/
|
|
330
330
|
/**
|
|
331
331
|
* @typedef {Object} RanksPurchaseTime
|
package/src/utils/Constants.js
CHANGED
package/typings/index.d.ts
CHANGED
|
@@ -579,7 +579,7 @@ declare module 'hypixel-api-reborn' {
|
|
|
579
579
|
25: 19050;
|
|
580
580
|
};
|
|
581
581
|
skillsCap: {
|
|
582
|
-
taming:
|
|
582
|
+
taming: 60;
|
|
583
583
|
farming: 60;
|
|
584
584
|
mining: 60;
|
|
585
585
|
combat: 60;
|
|
@@ -1424,7 +1424,7 @@ declare module 'hypixel-api-reborn' {
|
|
|
1424
1424
|
walls?: Walls;
|
|
1425
1425
|
warlords?: Warlords;
|
|
1426
1426
|
arcade?: Arcade;
|
|
1427
|
-
|
|
1427
|
+
woolgames?: WoolGames;
|
|
1428
1428
|
pit?: Pit;
|
|
1429
1429
|
};
|
|
1430
1430
|
getRecentGames(): Promise<RecentGame[]>;
|
|
@@ -1474,49 +1474,71 @@ declare module 'hypixel-api-reborn' {
|
|
|
1474
1474
|
extraAttributes: string | null;
|
|
1475
1475
|
toString(): string;
|
|
1476
1476
|
}
|
|
1477
|
-
class
|
|
1478
|
-
static convertXPToLevel(exp: number): number;
|
|
1479
|
-
static generateStatsFor(data: Record<string, unknown>, _class?: string | undefined): WoolWarsStats;
|
|
1477
|
+
class WoolWarsClass {
|
|
1480
1478
|
constructor(data: Record<string, unknown>);
|
|
1481
|
-
layers: number;
|
|
1482
|
-
xp: number;
|
|
1483
|
-
exactLevel: number;
|
|
1484
|
-
level: number;
|
|
1485
|
-
coins: number;
|
|
1486
1479
|
wins: number;
|
|
1480
|
+
kills: number;
|
|
1481
|
+
assists: number;
|
|
1482
|
+
deaths: number;
|
|
1483
|
+
KDRatio: number;
|
|
1487
1484
|
gamesPlayed: number;
|
|
1488
1485
|
woolsPlaced: number;
|
|
1489
1486
|
blocksBroken: number;
|
|
1490
1487
|
placeBreakRatio: number;
|
|
1491
|
-
kills: number;
|
|
1492
|
-
deaths: number;
|
|
1493
|
-
KDRatio: number;
|
|
1494
|
-
assists: number;
|
|
1495
1488
|
powerups: number;
|
|
1496
|
-
selectedClass: 'ASSAULT' | 'TANK' | 'GOLEM' | 'SWORDSMAN' | 'ENGINEER' | 'ARCHER' | 'NONE';
|
|
1497
|
-
stats: {
|
|
1498
|
-
assault: WoolWarsStats;
|
|
1499
|
-
tank: WoolWarsStats;
|
|
1500
|
-
golem: WoolWarsStats;
|
|
1501
|
-
swordsman: WoolWarsStats;
|
|
1502
|
-
engineer: WoolWarsStats;
|
|
1503
|
-
archer: WoolWarsStats;
|
|
1504
|
-
};
|
|
1505
|
-
ownedCosmetics: string[];
|
|
1506
|
-
privateGamesConfig: PrivateGamesConfig;
|
|
1507
1489
|
}
|
|
1508
|
-
|
|
1490
|
+
class WoolWars {
|
|
1491
|
+
constructor(data: Record<string, unknown>);
|
|
1492
|
+
selectedClass: 'ASSAULT' | 'TANK' | 'GOLEM' | 'SWORDSMAN' | 'ENGINEER' | 'ARCHER' | 'NONE';
|
|
1509
1493
|
wins: number;
|
|
1494
|
+
kills: number;
|
|
1495
|
+
assists: number;
|
|
1496
|
+
deaths: number;
|
|
1497
|
+
KDRatio: number;
|
|
1510
1498
|
gamesPlayed: number;
|
|
1511
1499
|
woolsPlaced: number;
|
|
1512
1500
|
blocksBroken: number;
|
|
1513
1501
|
placeBreakRatio: number;
|
|
1502
|
+
powerups: number;
|
|
1503
|
+
assault: WoolWarsClass;
|
|
1504
|
+
tank: WoolWarsClass;
|
|
1505
|
+
golem: WoolWarsClass;
|
|
1506
|
+
swordsman: WoolWarsClass;
|
|
1507
|
+
engineer: WoolWarsClass;
|
|
1508
|
+
archer: WoolWarsClass;
|
|
1509
|
+
}
|
|
1510
|
+
class CaptureTheWool {
|
|
1511
|
+
constructor(data: Record<string, unknown>);
|
|
1514
1512
|
kills: number;
|
|
1513
|
+
assists: number;
|
|
1515
1514
|
deaths: number;
|
|
1516
1515
|
KDRatio: number;
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1516
|
+
killsWithWool: number;
|
|
1517
|
+
deathsWithWool: number;
|
|
1518
|
+
KDRatioWithWool: number;
|
|
1519
|
+
woolCaptured: number;
|
|
1520
|
+
woolStolen: number;
|
|
1521
|
+
woolCaptureStolenRatio: number;
|
|
1522
|
+
}
|
|
1523
|
+
class SheepWars {
|
|
1524
|
+
constructor(data: Record<string, unknown>);
|
|
1525
|
+
wins: number;
|
|
1526
|
+
kills: number;
|
|
1527
|
+
killsVoid: number;
|
|
1528
|
+
killsBow: number;
|
|
1529
|
+
killsExplosive: number;
|
|
1530
|
+
deaths: number;
|
|
1531
|
+
deathsVoid: number;
|
|
1532
|
+
deathsMelee: number;
|
|
1533
|
+
deathsExplosive: number;
|
|
1534
|
+
KDRatio: number;
|
|
1535
|
+
losses: number;
|
|
1536
|
+
WLRatio: number;
|
|
1537
|
+
gamesPlayed: number;
|
|
1538
|
+
damageDealt: number;
|
|
1539
|
+
sheepThrown: number;
|
|
1540
|
+
magicWoolHit: number;
|
|
1541
|
+
}
|
|
1520
1542
|
type PrivateGamesConfig = {
|
|
1521
1543
|
one_hit_one_kill: boolean;
|
|
1522
1544
|
rainbow_wool: 'Enabled' | 'Disabled';
|
|
@@ -1526,6 +1548,20 @@ declare module 'hypixel-api-reborn' {
|
|
|
1526
1548
|
no_class: 'Enabled' | 'Disabled';
|
|
1527
1549
|
respawn_enable: boolean;
|
|
1528
1550
|
};
|
|
1551
|
+
class WoolGames {
|
|
1552
|
+
constructor(data: Record<string, unknown>);
|
|
1553
|
+
layers: number;
|
|
1554
|
+
xp: number;
|
|
1555
|
+
exactLevel: number;
|
|
1556
|
+
level: number;
|
|
1557
|
+
coins: number;
|
|
1558
|
+
ownedCosmetics: string[];
|
|
1559
|
+
privateGamesConfig: PrivateGamesConfig;
|
|
1560
|
+
playtime: number;
|
|
1561
|
+
woolWars: WoolWars;
|
|
1562
|
+
captureTheWool: CaptureTheWool;
|
|
1563
|
+
sheepWars: SheepWars;
|
|
1564
|
+
}
|
|
1529
1565
|
class PlayerCosmetics {
|
|
1530
1566
|
constructor(data: Record<string, unknown>);
|
|
1531
1567
|
allCosmetics: string[];
|
|
@@ -1805,7 +1841,6 @@ declare module 'hypixel-api-reborn' {
|
|
|
1805
1841
|
flashDisabled: boolean;
|
|
1806
1842
|
blockingDead: BlockingDead;
|
|
1807
1843
|
bountyHunters: BountyHunters;
|
|
1808
|
-
captureTheWool: CaptureTheWool;
|
|
1809
1844
|
dragonWars: DragonWars;
|
|
1810
1845
|
dropper: Dropper;
|
|
1811
1846
|
enderSpleef: EnderSpleef;
|
|
@@ -1835,21 +1870,6 @@ declare module 'hypixel-api-reborn' {
|
|
|
1835
1870
|
bowKills: number;
|
|
1836
1871
|
swordKills: number;
|
|
1837
1872
|
}
|
|
1838
|
-
class CaptureTheWool {
|
|
1839
|
-
constructor(data: Record<string, unknown>);
|
|
1840
|
-
wins: number;
|
|
1841
|
-
losses: number;
|
|
1842
|
-
WLRatio: number;
|
|
1843
|
-
draws: number;
|
|
1844
|
-
kills: number;
|
|
1845
|
-
deaths: number;
|
|
1846
|
-
KDRatio: number;
|
|
1847
|
-
assists: number;
|
|
1848
|
-
woolPickedUp: number;
|
|
1849
|
-
woolCaptured: number;
|
|
1850
|
-
fastestWin: number;
|
|
1851
|
-
longestGame: number;
|
|
1852
|
-
}
|
|
1853
1873
|
class DragonWars {
|
|
1854
1874
|
constructor(data: Record<string, unknown>);
|
|
1855
1875
|
wins: number;
|
|
@@ -1914,7 +1934,7 @@ declare module 'hypixel-api-reborn' {
|
|
|
1914
1934
|
attackerKills: number;
|
|
1915
1935
|
defenderKills: number;
|
|
1916
1936
|
}
|
|
1917
|
-
class
|
|
1937
|
+
class PartyPooper {
|
|
1918
1938
|
constructor(data: Record<string, unknown>);
|
|
1919
1939
|
winsAsSeeker: number;
|
|
1920
1940
|
winsAsHider: number;
|
|
@@ -1928,7 +1948,7 @@ declare module 'hypixel-api-reborn' {
|
|
|
1928
1948
|
}
|
|
1929
1949
|
class HideAndSeek {
|
|
1930
1950
|
constructor(data: Record<string, unknown>);
|
|
1931
|
-
|
|
1951
|
+
partyPooper: PartyPooper;
|
|
1932
1952
|
propHunt: PropHunt;
|
|
1933
1953
|
winsAsSeeker: number;
|
|
1934
1954
|
winsAsHider: number;
|
|
@@ -2632,6 +2652,21 @@ declare module 'hypixel-api-reborn' {
|
|
|
2632
2652
|
candyUsed: number;
|
|
2633
2653
|
skin: string | null;
|
|
2634
2654
|
}
|
|
2655
|
+
class SkyblockMuseumItem {
|
|
2656
|
+
constructor(data: Record<string, unknown>);
|
|
2657
|
+
name: string | null;
|
|
2658
|
+
items: SkyblockInventoryItem[];
|
|
2659
|
+
donatedTime: number;
|
|
2660
|
+
donatedTimeAt: Date;
|
|
2661
|
+
borrowing: boolean;
|
|
2662
|
+
featuredSlot: string | null;
|
|
2663
|
+
}
|
|
2664
|
+
class SkyblockMuseum {
|
|
2665
|
+
constructor(data: Record<string, unknown>);
|
|
2666
|
+
raw: object;
|
|
2667
|
+
getWardrobe(): Promise<SkyblockMuseumItem[]>;
|
|
2668
|
+
getWardrobe(): Promise<SkyblockMuseumItem[]>;
|
|
2669
|
+
}
|
|
2635
2670
|
class SkyblockGarden {
|
|
2636
2671
|
constructor(data: Record<string, unknown>);
|
|
2637
2672
|
level: SKYBLOCK_SKILL_DATA;
|
|
@@ -2772,14 +2807,14 @@ declare module 'hypixel-api-reborn' {
|
|
|
2772
2807
|
selected: string;
|
|
2773
2808
|
};
|
|
2774
2809
|
essence: {
|
|
2775
|
-
diamond:
|
|
2776
|
-
dragon:
|
|
2777
|
-
spider:
|
|
2778
|
-
wither:
|
|
2779
|
-
undead:
|
|
2780
|
-
gold:
|
|
2781
|
-
ice:
|
|
2782
|
-
crimson:
|
|
2810
|
+
diamond: number;
|
|
2811
|
+
dragon: number;
|
|
2812
|
+
spider: number;
|
|
2813
|
+
wither: number;
|
|
2814
|
+
undead: number;
|
|
2815
|
+
gold: number;
|
|
2816
|
+
ice: number;
|
|
2817
|
+
crimson: number;
|
|
2783
2818
|
};
|
|
2784
2819
|
} | null;
|
|
2785
2820
|
collections: object;
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
const { divide } = require('../../utils');
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Wool Wars Class
|
|
5
|
-
*/
|
|
6
|
-
class WoolWars {
|
|
7
|
-
/**
|
|
8
|
-
* Constructor
|
|
9
|
-
* @param {Record<string,unknown>} data Data from API
|
|
10
|
-
*/
|
|
11
|
-
constructor(data) {
|
|
12
|
-
/**
|
|
13
|
-
* Sheep layers, similar to prestige
|
|
14
|
-
* @type {number}
|
|
15
|
-
*/
|
|
16
|
-
this.layers = data.progression?.available_layers || 0;
|
|
17
|
-
/**
|
|
18
|
-
* Wool Wars XP
|
|
19
|
-
* @type {number}
|
|
20
|
-
*/
|
|
21
|
-
this.xp = data.progression?.experience || 0;
|
|
22
|
-
/**
|
|
23
|
-
* Wool Wars Decimal Level
|
|
24
|
-
* @type {number}
|
|
25
|
-
*/
|
|
26
|
-
this.exactLevel = WoolWars.convertXPToLevel(this.xp);
|
|
27
|
-
/**
|
|
28
|
-
* Wool wars level (as shown in game)
|
|
29
|
-
* @type {number}
|
|
30
|
-
*/
|
|
31
|
-
this.level = Math.floor(this.exactLevel);
|
|
32
|
-
/**
|
|
33
|
-
* Coins
|
|
34
|
-
* @type {number}
|
|
35
|
-
*/
|
|
36
|
-
this.coins = data.coins || 0;
|
|
37
|
-
/**
|
|
38
|
-
* Wins
|
|
39
|
-
* @type {number}
|
|
40
|
-
*/
|
|
41
|
-
this.wins = data.wins || 0;
|
|
42
|
-
/**
|
|
43
|
-
* gamesPlayed
|
|
44
|
-
* @type {number}
|
|
45
|
-
*/
|
|
46
|
-
this.gamesPlayed = data.games_played || 0;
|
|
47
|
-
/**
|
|
48
|
-
* woolsPlaced
|
|
49
|
-
* @type {number}
|
|
50
|
-
*/
|
|
51
|
-
this.woolsPlaced = data.wool_placed || 0;
|
|
52
|
-
/**
|
|
53
|
-
* blocksBroken
|
|
54
|
-
* @type {number}
|
|
55
|
-
*/
|
|
56
|
-
this.blocksBroken = data.blocks_broken || 0;
|
|
57
|
-
/**
|
|
58
|
-
* placeBreakRatio
|
|
59
|
-
* @type {number}
|
|
60
|
-
*/
|
|
61
|
-
this.placeBreakRatio = divide(this.woolsPlaced, this.blocksBroken);
|
|
62
|
-
/**
|
|
63
|
-
* kills
|
|
64
|
-
* @type {number}
|
|
65
|
-
*/
|
|
66
|
-
this.kills = data.kills || 0;
|
|
67
|
-
/**
|
|
68
|
-
* deaths
|
|
69
|
-
* @type {number}
|
|
70
|
-
*/
|
|
71
|
-
this.deaths = data.deaths || 0;
|
|
72
|
-
/**
|
|
73
|
-
* KDRatio
|
|
74
|
-
* @type {number}
|
|
75
|
-
*/
|
|
76
|
-
this.KDRatio = divide(this.kills, this.deaths);
|
|
77
|
-
/**
|
|
78
|
-
* assists
|
|
79
|
-
* @type {number}
|
|
80
|
-
*/
|
|
81
|
-
this.assists = data.assists || 0;
|
|
82
|
-
/**
|
|
83
|
-
* powerups
|
|
84
|
-
* @type {number}
|
|
85
|
-
*/
|
|
86
|
-
this.powerups = data.powerups_gotten || 0;
|
|
87
|
-
/**
|
|
88
|
-
* Selected class, or NONE if field isn't present in API for some reason
|
|
89
|
-
* @type {'ASSAULT'|'TANK'|'GOLEM'|'SWORDSMAN'|'ENGINEER'|'ARCHER'|'NONE'}
|
|
90
|
-
*/
|
|
91
|
-
this.selectedClass = data.wool_wars?.selected_class || 'NONE';
|
|
92
|
-
this.stats = {
|
|
93
|
-
assault: WoolWars.generateStatsFor(data.wool_wars?.stats, 'assault'),
|
|
94
|
-
tank: WoolWars.generateStatsFor(data.wool_wars?.stats, 'tank'),
|
|
95
|
-
golem: WoolWars.generateStatsFor(data.wool_wars?.stats, 'golem'),
|
|
96
|
-
swordsman: WoolWars.generateStatsFor(data.wool_wars?.stats, 'swordsman'),
|
|
97
|
-
engineer: WoolWars.generateStatsFor(data.wool_wars?.stats, 'engineer'),
|
|
98
|
-
archer: WoolWars.generateStatsFor(data.wool_wars?.stats, 'archer')
|
|
99
|
-
};
|
|
100
|
-
/**
|
|
101
|
-
* Owned Cosmetics
|
|
102
|
-
* @type {string[]}
|
|
103
|
-
*/
|
|
104
|
-
this.ownedCosmetics = data.packages || [];
|
|
105
|
-
/**
|
|
106
|
-
* Private Games config
|
|
107
|
-
* @type {PrivateGamesConfig}
|
|
108
|
-
*/
|
|
109
|
-
this.privateGamesConfig = data.privategames || {};
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Converts XP to Level
|
|
113
|
-
* @param {number} exp xp
|
|
114
|
-
* @return {number}
|
|
115
|
-
*/
|
|
116
|
-
static convertXPToLevel(exp) {
|
|
117
|
-
const minimalExp = [0, 1e3, 3e3, 6e3, 1e4, 15e3];
|
|
118
|
-
const baseLevel = minimalExp.length;
|
|
119
|
-
const baseExp = minimalExp[minimalExp.length - 1];
|
|
120
|
-
const expToLevel100 = 49e4;
|
|
121
|
-
if (exp < baseExp) return minimalExp.findIndex((x) => exp < x);
|
|
122
|
-
const theoreticalLevel = (exp - baseExp) / 5e3 + baseLevel;
|
|
123
|
-
if (100 < theoreticalLevel) return 100 + this.convertXPToLevel(exp - expToLevel100);
|
|
124
|
-
return theoreticalLevel;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Generates stats per class/overall
|
|
128
|
-
* @param {Record<string, any>} data data
|
|
129
|
-
* @param {string} [_class=''] Class
|
|
130
|
-
* @return {WoolWarsStats}
|
|
131
|
-
*/
|
|
132
|
-
static generateStatsFor(data, _class) {
|
|
133
|
-
// N.B i called it _class instead of class because reserved keyword
|
|
134
|
-
|
|
135
|
-
// eslint-disable-next-line no-underscore-dangle
|
|
136
|
-
const workingData = (_class ? data?.classes?.[_class] : data) || {};
|
|
137
|
-
return {
|
|
138
|
-
wins: workingData.wins || 0,
|
|
139
|
-
gamesPlayed: workingData.games_played || 0,
|
|
140
|
-
woolsPlaced: workingData.wool_placed || 0,
|
|
141
|
-
blocksBroken: workingData.blocks_broken || 0,
|
|
142
|
-
placeBreakRatio: divide(workingData.wool_placed || 0, workingData.blocks_broken || 0),
|
|
143
|
-
kills: workingData.kills || 0,
|
|
144
|
-
deaths: workingData.deaths || 0,
|
|
145
|
-
KDRatio: divide(workingData.kills, workingData.deaths),
|
|
146
|
-
assists: workingData.assists || 0,
|
|
147
|
-
powerups: workingData.powerups_gotten || 0
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* @typedef {Object} PrivateGamesConfig NB. There could be more fields
|
|
153
|
-
* @property {boolean} one_hit_one_kill One hit one kill
|
|
154
|
-
* @property {'Enabled'|'Disabled'} rainbow_wool Rainbow wool
|
|
155
|
-
* @property {string} health_buff Health Buff
|
|
156
|
-
* @property {string} game_speed Game speed
|
|
157
|
-
* @property {string} speed Player speed
|
|
158
|
-
* @property {'Enabled'|'Disabled'} no_class No class
|
|
159
|
-
* @property {boolean} respawn_enable Respawning enabled
|
|
160
|
-
*/
|
|
161
|
-
/**
|
|
162
|
-
* @typedef {Object} WoolWarsStats
|
|
163
|
-
* @property {number} wins wins
|
|
164
|
-
* @property {number} gamesPlayed games played
|
|
165
|
-
* @property {number} woolsPlaced wools placed
|
|
166
|
-
* @property {number} blocksBroken blocks broken
|
|
167
|
-
* @property {number} placeBreakRatio broken blocks to placed wool ratio
|
|
168
|
-
* @property {number} kills kills
|
|
169
|
-
* @property {number} deaths deaths
|
|
170
|
-
* @property {number} KDRatio KDR
|
|
171
|
-
* @property {number} assists assists (not included in KDR)
|
|
172
|
-
* @property {number} powerups number of powerups picked up
|
|
173
|
-
*/
|
|
174
|
-
module.exports = WoolWars;
|